xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/masked_memop.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx < %s | FileCheck %s --check-prefix=AVX  --check-prefix=AVX1
3*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx2 < %s | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
4*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx512f < %s | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512F
5*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx512f,avx512bw,avx512vl < %s | FileCheck %s --check-prefix=AVX512 --check-prefix=SKX
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker; To test for the case where masked load/store is not legal, we should add a run with a target
8*9880d681SAndroid Build Coastguard Worker; that does not have AVX, but that case should probably be a separate test file using less tests
9*9880d681SAndroid Build Coastguard Worker; because it takes over 1.2 seconds to codegen these tests on Haswell 4GHz if there's no maskmov.
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @test1(<16 x i32> %trigger, <16 x i32>* %addr) {
12*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test1:
13*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
14*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
15*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm3, %xmm3, %xmm3
16*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
17*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm0, %xmm0
18*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
19*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
20*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
21*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm1, %xmm1
22*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
23*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps 32(%rdi), %ymm1, %ymm1
24*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm0
25*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
26*9880d681SAndroid Build Coastguard Worker;
27*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test1:
28*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
29*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm2, %ymm2, %ymm2
30*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm2, %ymm0, %ymm0
31*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm2, %ymm1, %ymm1
32*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd 32(%rdi), %ymm1, %ymm1
33*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd (%rdi), %ymm0, %ymm0
34*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
35*9880d681SAndroid Build Coastguard Worker;
36*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test1:
37*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
38*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxord %zmm1, %zmm1, %zmm1
39*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpeqd %zmm1, %zmm0, %k1
40*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqu32 (%rdi), %zmm0 {%k1} {z}
41*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
42*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <16 x i32> %trigger, zeroinitializer
43*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i32> @llvm.masked.load.v16i32.p0v16i32(<16 x i32>* %addr, i32 4, <16 x i1>%mask, <16 x i32>undef)
44*9880d681SAndroid Build Coastguard Worker  ret <16 x i32> %res
45*9880d681SAndroid Build Coastguard Worker}
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @test2(<16 x i32> %trigger, <16 x i32>* %addr) {
48*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test2:
49*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
50*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
51*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm3, %xmm3, %xmm3
52*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
53*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm0, %xmm0
54*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
55*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
56*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
57*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm1, %xmm1
58*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
59*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps 32(%rdi), %ymm1, %ymm1
60*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm0
61*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
62*9880d681SAndroid Build Coastguard Worker;
63*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test2:
64*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
65*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm2, %ymm2, %ymm2
66*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm2, %ymm0, %ymm0
67*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm2, %ymm1, %ymm1
68*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd 32(%rdi), %ymm1, %ymm1
69*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd (%rdi), %ymm0, %ymm0
70*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
71*9880d681SAndroid Build Coastguard Worker;
72*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test2:
73*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
74*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxord %zmm1, %zmm1, %zmm1
75*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpeqd %zmm1, %zmm0, %k1
76*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqu32 (%rdi), %zmm0 {%k1} {z}
77*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
78*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <16 x i32> %trigger, zeroinitializer
79*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i32> @llvm.masked.load.v16i32.p0v16i32(<16 x i32>* %addr, i32 4, <16 x i1>%mask, <16 x i32>zeroinitializer)
80*9880d681SAndroid Build Coastguard Worker  ret <16 x i32> %res
81*9880d681SAndroid Build Coastguard Worker}
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Workerdefine void @test3(<16 x i32> %trigger, <16 x i32>* %addr, <16 x i32> %val) {
84*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test3:
85*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
86*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
87*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm5, %xmm5, %xmm5
88*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm4, %xmm4
89*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm0, %xmm0
90*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm0
91*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm4
92*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm4, %xmm4
93*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm1, %xmm1
94*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm1, %ymm1
95*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %ymm3, %ymm1, 32(%rdi)
96*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %ymm2, %ymm0, (%rdi)
97*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
98*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
99*9880d681SAndroid Build Coastguard Worker;
100*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test3:
101*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
102*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm4, %ymm4, %ymm4
103*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm4, %ymm0, %ymm0
104*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm4, %ymm1, %ymm1
105*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd %ymm3, %ymm1, 32(%rdi)
106*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd %ymm2, %ymm0, (%rdi)
107*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
108*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
109*9880d681SAndroid Build Coastguard Worker;
110*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test3:
111*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
112*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxord %zmm2, %zmm2, %zmm2
113*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpeqd %zmm2, %zmm0, %k1
114*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqu32 %zmm1, (%rdi) {%k1}
115*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
116*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <16 x i32> %trigger, zeroinitializer
117*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v16i32.p0v16i32(<16 x i32>%val, <16 x i32>* %addr, i32 4, <16 x i1>%mask)
118*9880d681SAndroid Build Coastguard Worker  ret void
119*9880d681SAndroid Build Coastguard Worker}
120*9880d681SAndroid Build Coastguard Worker
121*9880d681SAndroid Build Coastguard Workerdefine <16 x float> @test4(<16 x i32> %trigger, <16 x float>* %addr, <16 x float> %dst) {
122*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test4:
123*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
124*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm4
125*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm5, %xmm5, %xmm5
126*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm4, %xmm4
127*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm1, %xmm1
128*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm1, %ymm1
129*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
130*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm4, %xmm4
131*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm0, %xmm0
132*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm0
133*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm4
134*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvps %ymm0, %ymm4, %ymm2, %ymm0
135*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps 32(%rdi), %ymm1, %ymm2
136*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvps %ymm1, %ymm2, %ymm3, %ymm1
137*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
138*9880d681SAndroid Build Coastguard Worker;
139*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test4:
140*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm4, %ymm4, %ymm4
142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm4, %ymm1, %ymm1
143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm4, %ymm0, %ymm0
144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm4
145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvps %ymm0, %ymm4, %ymm2, %ymm0
146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps 32(%rdi), %ymm1, %ymm2
147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvps %ymm1, %ymm2, %ymm3, %ymm1
148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
149*9880d681SAndroid Build Coastguard Worker;
150*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test4:
151*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
152*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxord %zmm2, %zmm2, %zmm2
153*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpeqd %zmm2, %zmm0, %k1
154*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovups (%rdi), %zmm1 {%k1}
155*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovaps %zmm1, %zmm0
156*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
157*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <16 x i32> %trigger, zeroinitializer
158*9880d681SAndroid Build Coastguard Worker  %res = call <16 x float> @llvm.masked.load.v16f32.p0v16f32(<16 x float>* %addr, i32 4, <16 x i1>%mask, <16 x float> %dst)
159*9880d681SAndroid Build Coastguard Worker  ret <16 x float> %res
160*9880d681SAndroid Build Coastguard Worker}
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Workerdefine <8 x double> @test5(<8 x i32> %trigger, <8 x double>* %addr, <8 x double> %dst) {
163*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test5:
164*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
165*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm3
166*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm4, %xmm4, %xmm4
167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm4, %xmm3, %xmm3
168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm5
169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1]
170*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm3
171*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm5, %ymm3
172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm4, %xmm0, %xmm0
173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm4
174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm4, %ymm0
177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm4
178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm0, %ymm4, %ymm1, %ymm0
179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 32(%rdi), %ymm3, %ymm1
180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm3, %ymm1, %ymm2, %ymm1
181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
182*9880d681SAndroid Build Coastguard Worker;
183*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test5:
184*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
185*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm3
186*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm4, %xmm4, %xmm4
187*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %xmm4, %xmm3, %xmm3
188*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm3, %ymm3
189*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %xmm4, %xmm0, %xmm0
190*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
191*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm4
192*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm0, %ymm4, %ymm1, %ymm0
193*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 32(%rdi), %ymm3, %ymm1
194*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm3, %ymm1, %ymm2, %ymm1
195*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
196*9880d681SAndroid Build Coastguard Worker;
197*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test5:
198*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %ymm2, %ymm2, %ymm2
201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %zmm2, %zmm0, %k1
202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd (%rdi), %zmm1 {%k1}
203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm1, %zmm0
204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
205*9880d681SAndroid Build Coastguard Worker;
206*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test5:
207*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
208*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %ymm2, %ymm2, %ymm2
209*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %ymm2, %ymm0, %k1
210*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd (%rdi), %zmm1 {%k1}
211*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
212*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
213*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <8 x i32> %trigger, zeroinitializer
214*9880d681SAndroid Build Coastguard Worker  %res = call <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>* %addr, i32 4, <8 x i1>%mask, <8 x double>%dst)
215*9880d681SAndroid Build Coastguard Worker  ret <8 x double> %res
216*9880d681SAndroid Build Coastguard Worker}
217*9880d681SAndroid Build Coastguard Worker
218*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test6(<2 x i64> %trigger, <2 x double>* %addr, <2 x double> %dst) {
219*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test6:
220*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
221*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpxor %xmm2, %xmm2, %xmm2
222*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
223*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmaskmovpd (%rdi), %xmm0, %xmm2
224*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vblendvpd %xmm0, %xmm2, %xmm1, %xmm0
225*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
226*9880d681SAndroid Build Coastguard Worker;
227*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test6:
228*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovpd (%rdi), %xmm0, %xmm2
232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvpd %xmm0, %xmm2, %xmm1, %xmm0
233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
234*9880d681SAndroid Build Coastguard Worker;
235*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test6:
236*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
237*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
238*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqq %xmm2, %xmm0, %k1
239*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd (%rdi), %xmm1 {%k1}
240*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
241*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
242*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <2 x i64> %trigger, zeroinitializer
243*9880d681SAndroid Build Coastguard Worker  %res = call <2 x double> @llvm.masked.load.v2f64.p0v2f64(<2 x double>* %addr, i32 4, <2 x i1>%mask, <2 x double>%dst)
244*9880d681SAndroid Build Coastguard Worker  ret <2 x double> %res
245*9880d681SAndroid Build Coastguard Worker}
246*9880d681SAndroid Build Coastguard Worker
247*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @test7(<4 x i32> %trigger, <4 x float>* %addr, <4 x float> %dst) {
248*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test7:
249*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpxor %xmm2, %xmm2, %xmm2
251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm2
253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
254*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
255*9880d681SAndroid Build Coastguard Worker;
256*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test7:
257*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
258*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
259*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
260*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm2
261*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
262*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
263*9880d681SAndroid Build Coastguard Worker;
264*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test7:
265*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
266*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
267*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %xmm2, %xmm0, %k1
268*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovups (%rdi), %xmm1 {%k1}
269*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
270*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
271*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <4 x i32> %trigger, zeroinitializer
272*9880d681SAndroid Build Coastguard Worker  %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1>%mask, <4 x float>%dst)
273*9880d681SAndroid Build Coastguard Worker  ret <4 x float> %res
274*9880d681SAndroid Build Coastguard Worker}
275*9880d681SAndroid Build Coastguard Worker
276*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test8(<4 x i32> %trigger, <4 x i32>* %addr, <4 x i32> %dst) {
277*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test8:
278*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm2
282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
284*9880d681SAndroid Build Coastguard Worker;
285*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test8:
286*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
287*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm2, %xmm2, %xmm2
288*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
289*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd (%rdi), %xmm0, %xmm2
290*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
291*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
292*9880d681SAndroid Build Coastguard Worker;
293*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test8:
294*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovd (%rdi), %xmm0, %xmm2
298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
300*9880d681SAndroid Build Coastguard Worker;
301*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test8:
302*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
303*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
304*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %xmm2, %xmm0, %k1
305*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 (%rdi), %xmm1 {%k1}
306*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
307*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
308*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <4 x i32> %trigger, zeroinitializer
309*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %addr, i32 4, <4 x i1>%mask, <4 x i32>%dst)
310*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
311*9880d681SAndroid Build Coastguard Worker}
312*9880d681SAndroid Build Coastguard Worker
313*9880d681SAndroid Build Coastguard Workerdefine void @test9(<4 x i32> %trigger, <4 x i32>* %addr, <4 x i32> %val) {
314*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test9:
315*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %xmm1, %xmm0, (%rdi)
319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
320*9880d681SAndroid Build Coastguard Worker;
321*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test9:
322*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
323*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm2, %xmm2, %xmm2
324*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd %xmm1, %xmm0, (%rdi)
326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
327*9880d681SAndroid Build Coastguard Worker;
328*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test9:
329*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovd %xmm1, %xmm0, (%rdi)
333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
334*9880d681SAndroid Build Coastguard Worker;
335*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test9:
336*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
337*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
338*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %xmm2, %xmm0, %k1
339*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 %xmm1, (%rdi) {%k1}
340*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
341*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <4 x i32> %trigger, zeroinitializer
342*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32>%val, <4 x i32>* %addr, i32 4, <4 x i1>%mask)
343*9880d681SAndroid Build Coastguard Worker  ret void
344*9880d681SAndroid Build Coastguard Worker}
345*9880d681SAndroid Build Coastguard Worker
346*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test10(<4 x i32> %trigger, <4 x double>* %addr, <4 x double> %dst) {
347*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test10:
348*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm2
352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm2, %ymm0
355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm2
356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm0, %ymm2, %ymm1, %ymm0
357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
358*9880d681SAndroid Build Coastguard Worker;
359*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test10:
360*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
361*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm2, %xmm2, %xmm2
362*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
363*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
364*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm2
365*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm0, %ymm2, %ymm1, %ymm0
366*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
367*9880d681SAndroid Build Coastguard Worker;
368*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test10:
369*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm2, %xmm0, %xmm0
372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxdq %xmm0, %ymm0
373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm2
374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvpd %ymm0, %ymm2, %ymm1, %ymm0
375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
376*9880d681SAndroid Build Coastguard Worker;
377*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test10:
378*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
379*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
380*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %xmm2, %xmm0, %k1
381*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovapd (%rdi), %ymm1 {%k1}
382*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
383*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
384*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <4 x i32> %trigger, zeroinitializer
385*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 32, <4 x i1>%mask, <4 x double>%dst)
386*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
387*9880d681SAndroid Build Coastguard Worker}
388*9880d681SAndroid Build Coastguard Worker
389*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test10b(<4 x i32> %trigger, <4 x double>* %addr, <4 x double> %dst) {
390*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test10b:
391*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm1, %xmm1, %xmm1
393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm1, %xmm0, %xmm0
394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm1
395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm0
399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
400*9880d681SAndroid Build Coastguard Worker;
401*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test10b:
402*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm1, %xmm1, %xmm1
404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %xmm1, %xmm0, %xmm0
405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm0
407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
408*9880d681SAndroid Build Coastguard Worker;
409*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test10b:
410*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
411*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm1, %xmm1, %xmm1
412*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm1, %xmm0, %xmm0
413*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxdq %xmm0, %ymm0
414*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm0
415*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
416*9880d681SAndroid Build Coastguard Worker;
417*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test10b:
418*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
419*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm1, %xmm1, %xmm1
420*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %xmm1, %xmm0, %k1
421*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovapd (%rdi), %ymm0 {%k1} {z}
422*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
423*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <4 x i32> %trigger, zeroinitializer
424*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 32, <4 x i1>%mask, <4 x double>zeroinitializer)
425*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
426*9880d681SAndroid Build Coastguard Worker}
427*9880d681SAndroid Build Coastguard Worker
428*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test11a(<8 x i32> %trigger, <8 x float>* %addr, <8 x float> %dst) {
429*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11a:
430*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
431*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
432*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm3, %xmm3, %xmm3
433*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
434*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm0, %xmm0
435*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
436*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm2
437*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvps %ymm0, %ymm2, %ymm1, %ymm0
438*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
439*9880d681SAndroid Build Coastguard Worker;
440*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11a:
441*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm2, %ymm2, %ymm2
443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm2, %ymm0, %ymm0
444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm2
445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvps %ymm0, %ymm2, %ymm1, %ymm0
446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
447*9880d681SAndroid Build Coastguard Worker;
448*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11a:
449*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
450*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
451*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
452*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %ymm2, %ymm2, %ymm2
453*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %zmm2, %zmm0, %k0
454*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k0
455*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k0, %k1
456*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovups (%rdi), %zmm1 {%k1}
457*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm1, %zmm0
458*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
459*9880d681SAndroid Build Coastguard Worker;
460*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11a:
461*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
462*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %ymm2, %ymm2, %ymm2
463*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %ymm2, %ymm0, %k1
464*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps (%rdi), %ymm1 {%k1}
465*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
466*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
467*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <8 x i32> %trigger, zeroinitializer
468*9880d681SAndroid Build Coastguard Worker  %res = call <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %addr, i32 32, <8 x i1>%mask, <8 x float>%dst)
469*9880d681SAndroid Build Coastguard Worker  ret <8 x float> %res
470*9880d681SAndroid Build Coastguard Worker}
471*9880d681SAndroid Build Coastguard Worker
472*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @test11b(<8 x i1> %mask, <8 x i32>* %addr, <8 x i32> %dst) {
473*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11b:
474*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
475*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm2 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
476*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm2, %xmm2
477*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm2, %xmm2
478*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4,4,5,5,6,6,7,7]
479*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
480*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
481*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm2, %ymm0
482*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm2
483*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvps %ymm0, %ymm2, %ymm1, %ymm0
484*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
485*9880d681SAndroid Build Coastguard Worker;
486*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11b:
487*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %ymm0, %ymm0
490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %ymm0, %ymm0
491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd (%rdi), %ymm0, %ymm2
492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvps %ymm0, %ymm2, %ymm1, %ymm0
493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
494*9880d681SAndroid Build Coastguard Worker;
495*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11b:
496*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
497*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
498*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxwq %xmm0, %zmm0
499*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllq $63, %zmm0, %zmm0
500*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmq %zmm0, %zmm0, %k0
501*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k0
502*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k0, %k1
503*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu32 (%rdi), %zmm1 {%k1}
504*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm1, %zmm0
505*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
506*9880d681SAndroid Build Coastguard Worker;
507*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11b:
508*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
509*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $15, %xmm0, %xmm0
510*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovw2m %xmm0, %k1
511*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 (%rdi), %ymm1 {%k1}
512*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
513*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
514*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %addr, i32 4, <8 x i1>%mask, <8 x i32>%dst)
515*9880d681SAndroid Build Coastguard Worker  ret <8 x i32> %res
516*9880d681SAndroid Build Coastguard Worker}
517*9880d681SAndroid Build Coastguard Worker
518*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test11c(<8 x i1> %mask, <8 x float>* %addr) {
519*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11c:
520*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
521*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm1 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
522*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4,4,5,5,6,6,7,7]
525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm0
529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
530*9880d681SAndroid Build Coastguard Worker;
531*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11c:
532*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %ymm0, %ymm0
535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %ymm0, %ymm0
536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm0
537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
538*9880d681SAndroid Build Coastguard Worker;
539*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11c:
540*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
541*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxwq %xmm0, %zmm0
542*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllq $63, %zmm0, %zmm0
543*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmq %zmm0, %zmm0, %k0
544*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k0
545*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k0, %k1
546*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovups (%rdi), %zmm0 {%k1} {z}
547*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
548*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
549*9880d681SAndroid Build Coastguard Worker;
550*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11c:
551*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
552*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $15, %xmm0, %xmm0
553*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovw2m %xmm0, %k1
554*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps (%rdi), %ymm0 {%k1} {z}
555*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
556*9880d681SAndroid Build Coastguard Worker  %res = call <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %addr, i32 32, <8 x i1> %mask, <8 x float> zeroinitializer)
557*9880d681SAndroid Build Coastguard Worker  ret <8 x float> %res
558*9880d681SAndroid Build Coastguard Worker}
559*9880d681SAndroid Build Coastguard Worker
560*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @test11d(<8 x i1> %mask, <8 x i32>* %addr) {
561*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11d:
562*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
563*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxwd {{.*#+}} xmm1 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
564*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
565*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
566*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4,4,5,5,6,6,7,7]
567*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
568*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
569*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
570*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %ymm0, %ymm0
571*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
572*9880d681SAndroid Build Coastguard Worker;
573*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11d:
574*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %ymm0, %ymm0
577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %ymm0, %ymm0
578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd (%rdi), %ymm0, %ymm0
579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
580*9880d681SAndroid Build Coastguard Worker;
581*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11d:
582*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
583*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxwq %xmm0, %zmm0
584*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllq $63, %zmm0, %zmm0
585*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmq %zmm0, %zmm0, %k0
586*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k0
587*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k0, %k1
588*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu32 (%rdi), %zmm0 {%k1} {z}
589*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
590*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
591*9880d681SAndroid Build Coastguard Worker;
592*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11d:
593*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
594*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $15, %xmm0, %xmm0
595*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovw2m %xmm0, %k1
596*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 (%rdi), %ymm0 {%k1} {z}
597*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
598*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %addr, i32 4, <8 x i1> %mask, <8 x i32> zeroinitializer)
599*9880d681SAndroid Build Coastguard Worker  ret <8 x i32> %res
600*9880d681SAndroid Build Coastguard Worker}
601*9880d681SAndroid Build Coastguard Worker
602*9880d681SAndroid Build Coastguard Workerdefine void @test12(<8 x i32> %trigger, <8 x i32>* %addr, <8 x i32> %val) {
603*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test12:
604*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
605*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
606*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm3, %xmm3, %xmm3
607*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm2, %xmm2
608*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm3, %xmm0, %xmm0
609*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
610*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %ymm1, %ymm0, (%rdi)
611*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
613*9880d681SAndroid Build Coastguard Worker;
614*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test12:
615*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
616*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm2, %ymm2, %ymm2
617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm2, %ymm0, %ymm0
618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd %ymm1, %ymm0, (%rdi)
619*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
620*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
621*9880d681SAndroid Build Coastguard Worker;
622*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test12:
623*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def>
625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %ymm2, %ymm2, %ymm2
627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %zmm2, %zmm0, %k0
628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k0
629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k0, %k1
630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu32 %zmm1, (%rdi) {%k1}
631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
632*9880d681SAndroid Build Coastguard Worker;
633*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test12:
634*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
635*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %ymm2, %ymm2, %ymm2
636*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqd %ymm2, %ymm0, %k1
637*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 %ymm1, (%rdi) {%k1}
638*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
639*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <8 x i32> %trigger, zeroinitializer
640*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v8i32.p0v8i32(<8 x i32>%val, <8 x i32>* %addr, i32 4, <8 x i1>%mask)
641*9880d681SAndroid Build Coastguard Worker  ret void
642*9880d681SAndroid Build Coastguard Worker}
643*9880d681SAndroid Build Coastguard Worker
644*9880d681SAndroid Build Coastguard Workerdefine void @test13(<16 x i32> %trigger, <16 x float>* %addr, <16 x float> %val) {
645*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test13:
646*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm5, %xmm5, %xmm5
649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm4, %xmm4
650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm0, %xmm0
651*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm0
652*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm4
653*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm4, %xmm4
654*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm5, %xmm1, %xmm1
655*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm1, %ymm1
656*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %ymm3, %ymm1, 32(%rdi)
657*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %ymm2, %ymm0, (%rdi)
658*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
659*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
660*9880d681SAndroid Build Coastguard Worker;
661*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test13:
662*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
663*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm4, %ymm4, %ymm4
664*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm4, %ymm0, %ymm0
665*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %ymm4, %ymm1, %ymm1
666*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps %ymm3, %ymm1, 32(%rdi)
667*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps %ymm2, %ymm0, (%rdi)
668*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
669*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
670*9880d681SAndroid Build Coastguard Worker;
671*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test13:
672*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
673*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxord %zmm2, %zmm2, %zmm2
674*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpeqd %zmm2, %zmm0, %k1
675*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovups %zmm1, (%rdi) {%k1}
676*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
677*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <16 x i32> %trigger, zeroinitializer
678*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v16f32.p0v16f32(<16 x float>%val, <16 x float>* %addr, i32 4, <16 x i1>%mask)
679*9880d681SAndroid Build Coastguard Worker  ret void
680*9880d681SAndroid Build Coastguard Worker}
681*9880d681SAndroid Build Coastguard Worker
682*9880d681SAndroid Build Coastguard Workerdefine void @test14(<2 x i32> %trigger, <2 x float>* %addr, <2 x float> %val) {
683*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test14:
684*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
690*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %xmm1, %xmm0, (%rdi)
691*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
692*9880d681SAndroid Build Coastguard Worker;
693*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test14:
694*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
695*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm2, %xmm2, %xmm2
696*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
697*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
698*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
699*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
700*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps %xmm1, %xmm0, (%rdi)
701*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
702*9880d681SAndroid Build Coastguard Worker;
703*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test14:
704*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovps %xmm1, %xmm0, (%rdi)
711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
712*9880d681SAndroid Build Coastguard Worker;
713*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test14:
714*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
715*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
716*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
717*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqq %xmm2, %xmm0, %k0
718*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftlw $14, %k0, %k0
719*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $14, %k0, %k1
720*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovups %xmm1, (%rdi) {%k1}
721*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
722*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <2 x i32> %trigger, zeroinitializer
723*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v2f32.p0v2f32(<2 x float>%val, <2 x float>* %addr, i32 4, <2 x i1>%mask)
724*9880d681SAndroid Build Coastguard Worker  ret void
725*9880d681SAndroid Build Coastguard Worker}
726*9880d681SAndroid Build Coastguard Worker
727*9880d681SAndroid Build Coastguard Workerdefine void @test15(<2 x i32> %trigger, <2 x i32>* %addr, <2 x i32> %val) {
728*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test15:
729*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %xmm1, %xmm0, (%rdi)
737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
738*9880d681SAndroid Build Coastguard Worker;
739*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test15:
740*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
741*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm2, %xmm2, %xmm2
742*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
743*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
744*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
745*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
746*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
747*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd %xmm1, %xmm0, (%rdi)
748*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
749*9880d681SAndroid Build Coastguard Worker;
750*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test15:
751*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovd %xmm1, %xmm0, (%rdi)
759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
760*9880d681SAndroid Build Coastguard Worker;
761*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test15:
762*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
763*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
764*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
765*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqq %xmm2, %xmm0, %k1
766*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovqd %xmm1, (%rdi) {%k1}
767*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
768*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <2 x i32> %trigger, zeroinitializer
769*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v2i32.p0v2i32(<2 x i32>%val, <2 x i32>* %addr, i32 4, <2 x i1>%mask)
770*9880d681SAndroid Build Coastguard Worker  ret void
771*9880d681SAndroid Build Coastguard Worker}
772*9880d681SAndroid Build Coastguard Worker
773*9880d681SAndroid Build Coastguard Workerdefine <2 x float> @test16(<2 x i32> %trigger, <2 x float>* %addr, <2 x float> %dst) {
774*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test16:
775*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm2
782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
784*9880d681SAndroid Build Coastguard Worker;
785*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test16:
786*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
787*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm2, %xmm2, %xmm2
788*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
789*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
790*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
791*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
792*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm2
793*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
794*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
795*9880d681SAndroid Build Coastguard Worker;
796*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test16:
797*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm2
804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
806*9880d681SAndroid Build Coastguard Worker;
807*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test16:
808*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
809*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
810*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
811*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqq %xmm2, %xmm0, %k0
812*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftlw $14, %k0, %k0
813*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $14, %k0, %k1
814*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovups (%rdi), %xmm1 {%k1}
815*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
816*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
817*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <2 x i32> %trigger, zeroinitializer
818*9880d681SAndroid Build Coastguard Worker  %res = call <2 x float> @llvm.masked.load.v2f32.p0v2f32(<2 x float>* %addr, i32 4, <2 x i1>%mask, <2 x float>%dst)
819*9880d681SAndroid Build Coastguard Worker  ret <2 x float> %res
820*9880d681SAndroid Build Coastguard Worker}
821*9880d681SAndroid Build Coastguard Worker
822*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @test17(<2 x i32> %trigger, <2 x i32>* %addr, <2 x i32> %dst) {
823*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test17:
824*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm2
831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
835*9880d681SAndroid Build Coastguard Worker;
836*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test17:
837*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
838*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm2, %xmm2, %xmm2
839*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
840*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
841*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd (%rdi), %xmm0, %xmm2
844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %xmm0
847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
848*9880d681SAndroid Build Coastguard Worker;
849*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test17:
850*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm2, %xmm2
852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqq %xmm2, %xmm0, %xmm0
854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovd (%rdi), %xmm0, %xmm2
857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvps %xmm0, %xmm2, %xmm1, %xmm0
859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxdq %xmm0, %xmm0
860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
861*9880d681SAndroid Build Coastguard Worker;
862*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test17:
863*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
864*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm2, %xmm2, %xmm2
865*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
866*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqq %xmm2, %xmm0, %k0
867*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftlw $14, %k0, %k0
868*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $14, %k0, %k1
869*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm1[0,2,2,3]
870*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 (%rdi), %xmm0 {%k1}
871*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovsxdq %xmm0, %xmm0
872*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
873*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <2 x i32> %trigger, zeroinitializer
874*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i32> @llvm.masked.load.v2i32.p0v2i32(<2 x i32>* %addr, i32 4, <2 x i1>%mask, <2 x i32>%dst)
875*9880d681SAndroid Build Coastguard Worker  ret <2 x i32> %res
876*9880d681SAndroid Build Coastguard Worker}
877*9880d681SAndroid Build Coastguard Worker
878*9880d681SAndroid Build Coastguard Workerdefine <2 x float> @test18(<2 x i32> %trigger, <2 x float>* %addr) {
879*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test18:
880*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm1, %xmm1, %xmm1
882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7]
883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm1, %xmm0, %xmm0
884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm0
887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
888*9880d681SAndroid Build Coastguard Worker;
889*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test18:
890*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
891*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %xmm1, %xmm1, %xmm1
892*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
893*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %xmm1, %xmm0, %xmm0
894*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
895*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
896*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm0
897*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
898*9880d681SAndroid Build Coastguard Worker;
899*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test18:
900*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm1, %xmm1, %xmm1
902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqq %xmm1, %xmm0, %xmm0
904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovq {{.*#+}} xmm0 = xmm0[0],zero
906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm0
907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
908*9880d681SAndroid Build Coastguard Worker;
909*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test18:
910*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
911*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpxord %xmm1, %xmm1, %xmm1
912*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
913*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpcmpeqq %xmm1, %xmm0, %k0
914*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftlw $14, %k0, %k0
915*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $14, %k0, %k1
916*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovups (%rdi), %xmm0 {%k1} {z}
917*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
918*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <2 x i32> %trigger, zeroinitializer
919*9880d681SAndroid Build Coastguard Worker  %res = call <2 x float> @llvm.masked.load.v2f32.p0v2f32(<2 x float>* %addr, i32 4, <2 x i1>%mask, <2 x float>undef)
920*9880d681SAndroid Build Coastguard Worker  ret <2 x float> %res
921*9880d681SAndroid Build Coastguard Worker}
922*9880d681SAndroid Build Coastguard Worker
923*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @load_all(<4 x i32> %trigger, <4 x float>* %addr) {
924*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_all:
925*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
926*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovups (%rdi), %xmm0
927*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
928*9880d681SAndroid Build Coastguard Worker;
929*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: load_all:
930*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
931*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm0
932*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovps (%rdi), %xmm0, %xmm0
933*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
934*9880d681SAndroid Build Coastguard Worker;
935*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: load_all:
936*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
937*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kxnorw %k0, %k0, %k1
938*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovups (%rdi), %xmm0 {%k1} {z}
939*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
940*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <4 x i32> %trigger, zeroinitializer
941*9880d681SAndroid Build Coastguard Worker  %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1><i1 true, i1 true, i1 true, i1 true>, <4 x float>undef)
942*9880d681SAndroid Build Coastguard Worker  ret <4 x float> %res
943*9880d681SAndroid Build Coastguard Worker}
944*9880d681SAndroid Build Coastguard Worker
945*9880d681SAndroid Build Coastguard Worker;;; Loads with Constant Masks - these should be optimized to use something other than a variable blend.
946*9880d681SAndroid Build Coastguard Worker
947*9880d681SAndroid Build Coastguard Worker; 128-bit FP vectors are supported with AVX.
948*9880d681SAndroid Build Coastguard Worker
949*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @mload_constmask_v4f32(<4 x float>* %addr, <4 x float> %dst) {
950*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v4f32:
951*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
952*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vblendps {{.*#+}} xmm0 = mem[0],xmm0[1],mem[2,3]
953*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
954*9880d681SAndroid Build Coastguard Worker;
955*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4f32:
956*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
957*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps {{.*#+}} xmm1 = [4294967295,0,4294967295,4294967295]
958*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovps (%rdi), %xmm1, %xmm2
959*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvps %xmm1, %xmm2, %xmm0, %xmm0
960*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
961*9880d681SAndroid Build Coastguard Worker;
962*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4f32:
963*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
964*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $13, %al
965*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
966*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovups (%rdi), %xmm0 {%k1}
967*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
968*9880d681SAndroid Build Coastguard Worker  %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1> <i1 1, i1 0, i1 1, i1 1>, <4 x float> %dst)
969*9880d681SAndroid Build Coastguard Worker  ret <4 x float> %res
970*9880d681SAndroid Build Coastguard Worker}
971*9880d681SAndroid Build Coastguard Worker
972*9880d681SAndroid Build Coastguard Worker; 128-bit integer vectors are supported with AVX2.
973*9880d681SAndroid Build Coastguard Worker
974*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @mload_constmask_v4i32(<4 x i32>* %addr, <4 x i32> %dst) {
975*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v4i32:
976*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
977*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovaps {{.*#+}} xmm1 = [0,4294967295,4294967295,4294967295]
978*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps (%rdi), %xmm1, %xmm1
979*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5,6,7]
980*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
981*9880d681SAndroid Build Coastguard Worker;
982*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v4i32:
983*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm1 = [0,4294967295,4294967295,4294967295]
985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd (%rdi), %xmm1, %xmm1
986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
988*9880d681SAndroid Build Coastguard Worker;
989*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4i32:
990*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqa {{.*#+}} xmm1 = [0,4294967295,4294967295,4294967295]
992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovd (%rdi), %xmm1, %xmm2
993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvps %xmm1, %xmm2, %xmm0, %xmm0
994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
995*9880d681SAndroid Build Coastguard Worker;
996*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4i32:
997*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
998*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $14, %al
999*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
1000*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 (%rdi), %xmm0 {%k1}
1001*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1002*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %addr, i32 4, <4 x i1> <i1 0, i1 1, i1 1, i1 1>, <4 x i32> %dst)
1003*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
1004*9880d681SAndroid Build Coastguard Worker}
1005*9880d681SAndroid Build Coastguard Worker
1006*9880d681SAndroid Build Coastguard Worker; 256-bit FP vectors are supported with AVX.
1007*9880d681SAndroid Build Coastguard Worker
1008*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @mload_constmask_v8f32(<8 x float>* %addr, <8 x float> %dst) {
1009*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v8f32:
1010*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1011*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovaps {{.*#+}} ymm1 = [4294967295,4294967295,4294967295,0,0,0,0,0]
1012*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmaskmovps (%rdi), %ymm1, %ymm1
1013*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7]
1014*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1015*9880d681SAndroid Build Coastguard Worker;
1016*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v8f32:
1017*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
1019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw $7, %ax
1020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %eax, %k1
1021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovups (%rdi), %zmm0 {%k1}
1022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
1023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1024*9880d681SAndroid Build Coastguard Worker;
1025*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v8f32:
1026*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1027*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $7, %al
1028*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
1029*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovups (%rdi), %ymm0 {%k1}
1030*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1031*9880d681SAndroid Build Coastguard Worker  %res = call <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %addr, i32 4, <8 x i1> <i1 1, i1 1, i1 1, i1 0, i1 0, i1 0, i1 0, i1 0>, <8 x float> %dst)
1032*9880d681SAndroid Build Coastguard Worker  ret <8 x float> %res
1033*9880d681SAndroid Build Coastguard Worker}
1034*9880d681SAndroid Build Coastguard Worker
1035*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @mload_constmask_v4f64(<4 x double>* %addr, <4 x double> %dst) {
1036*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v4f64:
1037*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1038*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovapd {{.*#+}} ymm1 = [18446744073709551615,18446744073709551615,18446744073709551615,0]
1039*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmaskmovpd (%rdi), %ymm1, %ymm1
1040*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3]
1041*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1042*9880d681SAndroid Build Coastguard Worker;
1043*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4f64:
1044*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovapd {{.*#+}} ymm1 = [18446744073709551615,18446744073709551615,18446744073709551615,0]
1046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovpd (%rdi), %ymm1, %ymm2
1047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvpd %ymm1, %ymm2, %ymm0, %ymm0
1048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1049*9880d681SAndroid Build Coastguard Worker;
1050*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4f64:
1051*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1052*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $7, %al
1053*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
1054*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd (%rdi), %ymm0 {%k1}
1055*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1056*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 4, <4 x i1> <i1 1, i1 1, i1 1, i1 0>, <4 x double> %dst)
1057*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
1058*9880d681SAndroid Build Coastguard Worker}
1059*9880d681SAndroid Build Coastguard Worker
1060*9880d681SAndroid Build Coastguard Worker; 256-bit integer vectors are supported with AVX2.
1061*9880d681SAndroid Build Coastguard Worker
1062*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @mload_constmask_v8i32(<8 x i32>* %addr, <8 x i32> %dst) {
1063*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v8i32:
1064*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1065*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm0 = mem[0,1,2],ymm0[3,4,5,6],mem[7]
1066*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1067*9880d681SAndroid Build Coastguard Worker;
1068*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v8i32:
1069*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1070*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = mem[0,1,2],ymm0[3,4,5,6],mem[7]
1071*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1072*9880d681SAndroid Build Coastguard Worker;
1073*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v8i32:
1074*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def>
1076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw $135, %ax
1077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %eax, %k1
1078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu32 (%rdi), %zmm0 {%k1}
1079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
1080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1081*9880d681SAndroid Build Coastguard Worker;
1082*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v8i32:
1083*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1084*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $-121, %al
1085*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
1086*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 (%rdi), %ymm0 {%k1}
1087*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1088*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %addr, i32 4, <8 x i1> <i1 1, i1 1, i1 1, i1 0, i1 0, i1 0, i1 0, i1 1>, <8 x i32> %dst)
1089*9880d681SAndroid Build Coastguard Worker  ret <8 x i32> %res
1090*9880d681SAndroid Build Coastguard Worker}
1091*9880d681SAndroid Build Coastguard Worker
1092*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @mload_constmask_v4i64(<4 x i64>* %addr, <4 x i64> %dst) {
1093*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v4i64:
1094*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1095*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0],ymm0[1,2],mem[3]
1096*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1097*9880d681SAndroid Build Coastguard Worker;
1098*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v4i64:
1099*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1100*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = mem[0,1],ymm0[2,3,4,5],mem[6,7]
1101*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1102*9880d681SAndroid Build Coastguard Worker;
1103*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4i64:
1104*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm1 = [18446744073709551615,0,0,18446744073709551615]
1106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovq (%rdi), %ymm1, %ymm2
1107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vblendvpd %ymm1, %ymm2, %ymm0, %ymm0
1108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1109*9880d681SAndroid Build Coastguard Worker;
1110*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4i64:
1111*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1112*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $9, %al
1113*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
1114*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 (%rdi), %ymm0 {%k1}
1115*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1116*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %addr, i32 4, <4 x i1> <i1 1, i1 0, i1 0, i1 1>, <4 x i64> %dst)
1117*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %res
1118*9880d681SAndroid Build Coastguard Worker}
1119*9880d681SAndroid Build Coastguard Worker
1120*9880d681SAndroid Build Coastguard Worker; 512-bit FP vectors are supported with AVX512.
1121*9880d681SAndroid Build Coastguard Worker
1122*9880d681SAndroid Build Coastguard Workerdefine <8 x double> @mload_constmask_v8f64(<8 x double>* %addr, <8 x double> %dst) {
1123*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v8f64:
1124*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1125*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],mem[3]
1126*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vblendpd {{.*#+}} ymm0 = mem[0,1,2],ymm0[3]
1127*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1128*9880d681SAndroid Build Coastguard Worker;
1129*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: mload_constmask_v8f64:
1130*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1131*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movb $-121, %al
1132*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %eax, %k1
1133*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovupd (%rdi), %zmm0 {%k1}
1134*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1135*9880d681SAndroid Build Coastguard Worker  %res = call <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>* %addr, i32 4, <8 x i1> <i1 1, i1 1, i1 1, i1 0, i1 0, i1 0, i1 0, i1 1>, <8 x double> %dst)
1136*9880d681SAndroid Build Coastguard Worker  ret <8 x double> %res
1137*9880d681SAndroid Build Coastguard Worker}
1138*9880d681SAndroid Build Coastguard Worker
1139*9880d681SAndroid Build Coastguard Worker; If the pass-through operand is undef, no blend is needed.
1140*9880d681SAndroid Build Coastguard Worker
1141*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @mload_constmask_v4f64_undef_passthrough(<4 x double>* %addr) {
1142*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v4f64_undef_passthrough:
1143*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1144*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovapd {{.*#+}} ymm0 = [18446744073709551615,18446744073709551615,18446744073709551615,0]
1145*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm0
1146*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1147*9880d681SAndroid Build Coastguard Worker;
1148*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4f64_undef_passthrough:
1149*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovapd {{.*#+}} ymm0 = [18446744073709551615,18446744073709551615,18446744073709551615,0]
1151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm0
1152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1153*9880d681SAndroid Build Coastguard Worker;
1154*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4f64_undef_passthrough:
1155*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1156*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $7, %al
1157*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
1158*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd (%rdi), %ymm0 {%k1} {z}
1159*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1160*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 4, <4 x i1> <i1 1, i1 1, i1 1, i1 0>, <4 x double> undef)
1161*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
1162*9880d681SAndroid Build Coastguard Worker}
1163*9880d681SAndroid Build Coastguard Worker
1164*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @mload_constmask_v4i64_undef_passthrough(<4 x i64>* %addr) {
1165*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v4i64_undef_passthrough:
1166*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd {{.*#+}} ymm0 = [0,18446744073709551615,18446744073709551615,0]
1168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm0
1169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1170*9880d681SAndroid Build Coastguard Worker;
1171*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v4i64_undef_passthrough:
1172*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm0 = [0,18446744073709551615,18446744073709551615,0]
1174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq (%rdi), %ymm0, %ymm0
1175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1176*9880d681SAndroid Build Coastguard Worker;
1177*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4i64_undef_passthrough:
1178*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm0 = [0,18446744073709551615,18446744073709551615,0]
1180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovq (%rdi), %ymm0, %ymm0
1181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1182*9880d681SAndroid Build Coastguard Worker;
1183*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4i64_undef_passthrough:
1184*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1185*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    movb $6, %al
1186*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kmovw %eax, %k1
1187*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 (%rdi), %ymm0 {%k1} {z}
1188*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1189*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %addr, i32 4, <4 x i1> <i1 0, i1 1, i1 1, i1 0>, <4 x i64> undef)
1190*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %res
1191*9880d681SAndroid Build Coastguard Worker}
1192*9880d681SAndroid Build Coastguard Worker
1193*9880d681SAndroid Build Coastguard Workerdefine void @test21(<4 x i32> %trigger, <4 x i32>* %addr, <4 x i32> %val) {
1194*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test21:
1195*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm0
1197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovps %xmm1, %xmm0, (%rdi)
1198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1199*9880d681SAndroid Build Coastguard Worker;
1200*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test21:
1201*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1202*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm0
1203*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovd %xmm1, %xmm0, (%rdi)
1204*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1205*9880d681SAndroid Build Coastguard Worker;
1206*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test21:
1207*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm0, %xmm0, %xmm0
1209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmaskmovd %xmm1, %xmm0, (%rdi)
1210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1211*9880d681SAndroid Build Coastguard Worker;
1212*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test21:
1213*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1214*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kxnorw %k0, %k0, %k1
1215*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu32 %xmm1, (%rdi) {%k1}
1216*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1217*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <4 x i32> %trigger, zeroinitializer
1218*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32>%val, <4 x i32>* %addr, i32 4, <4 x i1><i1 true, i1 true, i1 true, i1 true>)
1219*9880d681SAndroid Build Coastguard Worker  ret void
1220*9880d681SAndroid Build Coastguard Worker}
1221*9880d681SAndroid Build Coastguard Worker
1222*9880d681SAndroid Build Coastguard Worker;  When only one element of the mask is set, reduce to a scalar store.
1223*9880d681SAndroid Build Coastguard Worker
1224*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set1(<4 x i32>* %addr, <4 x i32> %val) {
1225*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set1:
1226*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1227*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovd %xmm0, (%rdi)
1228*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1229*9880d681SAndroid Build Coastguard Worker;
1230*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: one_mask_bit_set1:
1231*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1232*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm0, (%rdi)
1233*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1234*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32> %val, <4 x i32>* %addr, i32 4, <4 x i1><i1 true, i1 false, i1 false, i1 false>)
1235*9880d681SAndroid Build Coastguard Worker  ret void
1236*9880d681SAndroid Build Coastguard Worker}
1237*9880d681SAndroid Build Coastguard Worker
1238*9880d681SAndroid Build Coastguard Worker; Choose a different element to show that the correct address offset is produced.
1239*9880d681SAndroid Build Coastguard Worker
1240*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set2(<4 x float>* %addr, <4 x float> %val) {
1241*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set2:
1242*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vextractps $2, %xmm0, 8(%rdi)
1244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1245*9880d681SAndroid Build Coastguard Worker;
1246*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: one_mask_bit_set2:
1247*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1248*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractps $2, %xmm0, 8(%rdi)
1249*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1250*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v4f32.p0v4f32(<4 x float> %val, <4 x float>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>)
1251*9880d681SAndroid Build Coastguard Worker  ret void
1252*9880d681SAndroid Build Coastguard Worker}
1253*9880d681SAndroid Build Coastguard Worker
1254*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly.
1255*9880d681SAndroid Build Coastguard Worker
1256*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set3(<4 x i64>* %addr, <4 x i64> %val) {
1257*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set3:
1258*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1259*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vextractf128 $1, %ymm0, %xmm0
1260*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovlps %xmm0, 16(%rdi)
1261*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vzeroupper
1262*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1263*9880d681SAndroid Build Coastguard Worker;
1264*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: one_mask_bit_set3:
1265*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1266*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextractf128 $1, %ymm0, %xmm0
1267*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovq %xmm0, 16(%rdi)
1268*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1269*9880d681SAndroid Build Coastguard Worker;
1270*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: one_mask_bit_set3:
1271*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1272*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vextracti32x4 $1, %ymm0, %xmm0
1273*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovq %xmm0, 16(%rdi)
1274*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1275*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v4i64.p0v4i64(<4 x i64> %val, <4 x i64>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>)
1276*9880d681SAndroid Build Coastguard Worker  ret void
1277*9880d681SAndroid Build Coastguard Worker}
1278*9880d681SAndroid Build Coastguard Worker
1279*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly.
1280*9880d681SAndroid Build Coastguard Worker
1281*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set4(<4 x double>* %addr, <4 x double> %val) {
1282*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set4:
1283*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1284*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vextractf128 $1, %ymm0, %xmm0
1285*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovhpd %xmm0, 24(%rdi)
1286*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vzeroupper
1287*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1288*9880d681SAndroid Build Coastguard Worker;
1289*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: one_mask_bit_set4:
1290*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextractf128 $1, %ymm0, %xmm0
1292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovhpd %xmm0, 24(%rdi)
1293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1294*9880d681SAndroid Build Coastguard Worker;
1295*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: one_mask_bit_set4:
1296*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1297*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vextractf32x4 $1, %ymm0, %xmm0
1298*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovhpd %xmm0, 24(%rdi)
1299*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1300*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v4f64.p0v4f64(<4 x double> %val, <4 x double>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 false, i1 true>)
1301*9880d681SAndroid Build Coastguard Worker  ret void
1302*9880d681SAndroid Build Coastguard Worker}
1303*9880d681SAndroid Build Coastguard Worker
1304*9880d681SAndroid Build Coastguard Worker; Try a 512-bit vector to make sure AVX doesn't die and AVX512 works as expected.
1305*9880d681SAndroid Build Coastguard Worker
1306*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set5(<8 x double>* %addr, <8 x double> %val) {
1307*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set5:
1308*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1309*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vextractf128 $1, %ymm1, %xmm0
1310*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovlps %xmm0, 48(%rdi)
1311*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vzeroupper
1312*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1313*9880d681SAndroid Build Coastguard Worker;
1314*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: one_mask_bit_set5:
1315*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1316*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm0, %xmm0
1317*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovlpd %xmm0, 48(%rdi)
1318*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1319*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v8f64.p0v8f64(<8 x double> %val, <8 x double>* %addr, i32 4, <8 x i1><i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 false>)
1320*9880d681SAndroid Build Coastguard Worker  ret void
1321*9880d681SAndroid Build Coastguard Worker}
1322*9880d681SAndroid Build Coastguard Worker
1323*9880d681SAndroid Build Coastguard Worker;  When only one element of the mask is set, reduce to a scalar load.
1324*9880d681SAndroid Build Coastguard Worker
1325*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @load_one_mask_bit_set1(<4 x i32>* %addr, <4 x i32> %val) {
1326*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set1:
1327*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1328*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrd $0, (%rdi), %xmm0, %xmm0
1329*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1330*9880d681SAndroid Build Coastguard Worker;
1331*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: load_one_mask_bit_set1:
1332*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1333*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $0, (%rdi), %xmm0, %xmm0
1334*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1335*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %addr, i32 4, <4 x i1><i1 true, i1 false, i1 false, i1 false>, <4 x i32> %val)
1336*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
1337*9880d681SAndroid Build Coastguard Worker}
1338*9880d681SAndroid Build Coastguard Worker
1339*9880d681SAndroid Build Coastguard Worker; Choose a different element to show that the correct address offset is produced.
1340*9880d681SAndroid Build Coastguard Worker
1341*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @load_one_mask_bit_set2(<4 x float>* %addr, <4 x float> %val) {
1342*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set2:
1343*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1344*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],mem[0],xmm0[3]
1345*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1346*9880d681SAndroid Build Coastguard Worker;
1347*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: load_one_mask_bit_set2:
1348*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1349*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],mem[0],xmm0[3]
1350*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1351*9880d681SAndroid Build Coastguard Worker  %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>, <4 x float> %val)
1352*9880d681SAndroid Build Coastguard Worker  ret <4 x float> %res
1353*9880d681SAndroid Build Coastguard Worker}
1354*9880d681SAndroid Build Coastguard Worker
1355*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly.
1356*9880d681SAndroid Build Coastguard Worker
1357*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @load_one_mask_bit_set3(<4 x i64>* %addr, <4 x i64> %val) {
1358*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: load_one_mask_bit_set3:
1359*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
1361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrq $0, 16(%rdi), %xmm1, %xmm1
1362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
1363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1364*9880d681SAndroid Build Coastguard Worker;
1365*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: load_one_mask_bit_set3:
1366*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1367*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
1368*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrq $0, 16(%rdi), %xmm1, %xmm1
1369*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
1370*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1371*9880d681SAndroid Build Coastguard Worker;
1372*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: load_one_mask_bit_set3:
1373*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
1375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrq $0, 16(%rdi), %xmm1, %xmm1
1376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
1377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1378*9880d681SAndroid Build Coastguard Worker;
1379*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: load_one_mask_bit_set3:
1380*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1381*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vextracti32x4 $1, %ymm0, %xmm1
1382*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpinsrq $0, 16(%rdi), %xmm1, %xmm1
1383*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vinserti32x4 $1, %xmm1, %ymm0, %ymm0
1384*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1385*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>, <4 x i64> %val)
1386*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %res
1387*9880d681SAndroid Build Coastguard Worker}
1388*9880d681SAndroid Build Coastguard Worker
1389*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly.
1390*9880d681SAndroid Build Coastguard Worker
1391*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @load_one_mask_bit_set4(<4 x double>* %addr, <4 x double> %val) {
1392*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set4:
1393*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1394*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vextractf128 $1, %ymm0, %xmm1
1395*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0]
1396*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
1397*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1398*9880d681SAndroid Build Coastguard Worker;
1399*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: load_one_mask_bit_set4:
1400*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1401*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextractf128 $1, %ymm0, %xmm1
1402*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0]
1403*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
1404*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1405*9880d681SAndroid Build Coastguard Worker;
1406*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: load_one_mask_bit_set4:
1407*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1408*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vextractf32x4 $1, %ymm0, %xmm1
1409*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0]
1410*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vinsertf32x4 $1, %xmm1, %ymm0, %ymm0
1411*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1412*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 false, i1 true>, <4 x double> %val)
1413*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
1414*9880d681SAndroid Build Coastguard Worker}
1415*9880d681SAndroid Build Coastguard Worker
1416*9880d681SAndroid Build Coastguard Worker; Try a 512-bit vector to make sure AVX doesn't die and AVX512 works as expected.
1417*9880d681SAndroid Build Coastguard Worker
1418*9880d681SAndroid Build Coastguard Workerdefine <8 x double> @load_one_mask_bit_set5(<8 x double>* %addr, <8 x double> %val) {
1419*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set5:
1420*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
1421*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vextractf128 $1, %ymm1, %xmm2
1422*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovsd {{.*#+}} xmm3 = mem[0],zero
1423*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vunpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0]
1424*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
1425*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
1426*9880d681SAndroid Build Coastguard Worker;
1427*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: load_one_mask_bit_set5:
1428*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1429*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm0, %xmm1
1430*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0]
1431*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinsertf32x4 $3, %xmm1, %zmm0, %zmm0
1432*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1433*9880d681SAndroid Build Coastguard Worker  %res = call <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>* %addr, i32 4, <8 x i1><i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true>, <8 x double> %val)
1434*9880d681SAndroid Build Coastguard Worker  ret <8 x double> %res
1435*9880d681SAndroid Build Coastguard Worker}
1436*9880d681SAndroid Build Coastguard Worker
1437*9880d681SAndroid Build Coastguard Workerdeclare <16 x i32> @llvm.masked.load.v16i32.p0v16i32(<16 x i32>*, i32, <16 x i1>, <16 x i32>)
1438*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>*, i32, <4 x i1>, <4 x i32>)
1439*9880d681SAndroid Build Coastguard Workerdeclare <2 x i32> @llvm.masked.load.v2i32.p0v2i32(<2 x i32>*, i32, <2 x i1>, <2 x i32>)
1440*9880d681SAndroid Build Coastguard Workerdeclare <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>*, i32, <4 x i1>, <4 x i64>)
1441*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i32.p0v16i32(<16 x i32>, <16 x i32>*, i32, <16 x i1>)
1442*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v8i32.p0v8i32(<8 x i32>, <8 x i32>*, i32, <8 x i1>)
1443*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4i32.p0v4i32(<4 x i32>, <4 x i32>*, i32, <4 x i1>)
1444*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4i64.p0v4i64(<4 x i64>, <4 x i64>*, i32, <4 x i1>)
1445*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2f32.p0v2f32(<2 x float>, <2 x float>*, i32, <2 x i1>)
1446*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2i32.p0v2i32(<2 x i32>, <2 x i32>*, i32, <2 x i1>)
1447*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4f32.p0v4f32(<4 x float>, <4 x float>*, i32, <4 x i1>)
1448*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16f32.p0v16f32(<16 x float>, <16 x float>*, i32, <16 x i1>)
1449*9880d681SAndroid Build Coastguard Workerdeclare <16 x float> @llvm.masked.load.v16f32.p0v16f32(<16 x float>*, i32, <16 x i1>, <16 x float>)
1450*9880d681SAndroid Build Coastguard Workerdeclare <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>*, i32, <8 x i1>, <8 x float>)
1451*9880d681SAndroid Build Coastguard Workerdeclare <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>*, i32, <8 x i1>, <8 x i32>)
1452*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>*, i32, <4 x i1>, <4 x float>)
1453*9880d681SAndroid Build Coastguard Workerdeclare <2 x float> @llvm.masked.load.v2f32.p0v2f32(<2 x float>*, i32, <2 x i1>, <2 x float>)
1454*9880d681SAndroid Build Coastguard Workerdeclare <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>*, i32, <8 x i1>, <8 x double>)
1455*9880d681SAndroid Build Coastguard Workerdeclare <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>*, i32, <4 x i1>, <4 x double>)
1456*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.masked.load.v2f64.p0v2f64(<2 x double>*, i32, <2 x i1>, <2 x double>)
1457*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v8f64.p0v8f64(<8 x double>, <8 x double>*, i32, <8 x i1>)
1458*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4f64.p0v4f64(<4 x double>, <4 x double>*, i32, <4 x i1>)
1459*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2f64.p0v2f64(<2 x double>, <2 x double>*, i32, <2 x i1>)
1460*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2i64.p0v2i64(<2 x i64>, <2 x i64>*, i32, <2 x i1>)
1461*9880d681SAndroid Build Coastguard Worker
1462*9880d681SAndroid Build Coastguard Workerdeclare <16 x i32*> @llvm.masked.load.v16p0i32.p0v16p0i32(<16 x i32*>*, i32, <16 x i1>, <16 x i32*>)
1463*9880d681SAndroid Build Coastguard Worker
1464*9880d681SAndroid Build Coastguard Workerdefine <16 x i32*> @test23(<16 x i32*> %trigger, <16 x i32*>* %addr) {
1465*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test23:
1466*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1467*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
1468*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm5, %xmm5, %xmm5
1469*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm4, %xmm4
1470*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm0, %xmm0
1471*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm0
1472*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm4
1473*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm4, %xmm4
1474*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm1, %xmm1
1475*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm1, %ymm1
1476*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm4
1477*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm4, %xmm4
1478*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm2, %xmm2
1479*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm2, %ymm2
1480*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
1481*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm4, %xmm4
1482*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpeqq %xmm5, %xmm3, %xmm3
1483*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
1484*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 96(%rdi), %ymm3, %ymm3
1485*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 64(%rdi), %ymm2, %ymm2
1486*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 32(%rdi), %ymm1, %ymm1
1487*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm0, %ymm0
1488*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1489*9880d681SAndroid Build Coastguard Worker;
1490*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test23:
1491*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm4, %ymm4, %ymm4
1493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %ymm4, %ymm0, %ymm0
1494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %ymm4, %ymm1, %ymm1
1495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %ymm4, %ymm2, %ymm2
1496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpeqq %ymm4, %ymm3, %ymm3
1497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 96(%rdi), %ymm3, %ymm3
1498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 64(%rdi), %ymm2, %ymm2
1499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 32(%rdi), %ymm1, %ymm1
1500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq (%rdi), %ymm0, %ymm0
1501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1502*9880d681SAndroid Build Coastguard Worker;
1503*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test23:
1504*9880d681SAndroid Build Coastguard Worker; AVX512:       ## BB#0:
1505*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxord %zmm2, %zmm2, %zmm2
1506*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpeqq %zmm2, %zmm0, %k1
1507*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpeqq %zmm2, %zmm1, %k2
1508*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqu64 64(%rdi), %zmm1 {%k2} {z}
1509*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqu64 (%rdi), %zmm0 {%k1} {z}
1510*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1511*9880d681SAndroid Build Coastguard Worker  %mask = icmp eq <16 x i32*> %trigger, zeroinitializer
1512*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i32*> @llvm.masked.load.v16p0i32.p0v16p0i32(<16 x i32*>* %addr, i32 4, <16 x i1>%mask, <16 x i32*>zeroinitializer)
1513*9880d681SAndroid Build Coastguard Worker  ret <16 x i32*> %res
1514*9880d681SAndroid Build Coastguard Worker}
1515*9880d681SAndroid Build Coastguard Worker
1516*9880d681SAndroid Build Coastguard Worker%mystruct = type { i16, i16, [1 x i8*] }
1517*9880d681SAndroid Build Coastguard Worker
1518*9880d681SAndroid Build Coastguard Workerdeclare <16 x %mystruct*> @llvm.masked.load.v16p0mystruct.p0v16p0mystruct(<16 x %mystruct*>*, i32, <16 x i1>, <16 x %mystruct*>)
1519*9880d681SAndroid Build Coastguard Worker
1520*9880d681SAndroid Build Coastguard Workerdefine <16 x %mystruct*> @test24(<16 x i1> %mask, <16 x %mystruct*>* %addr) {
1521*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test24:
1522*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm2
1527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm2, %ymm1
1530*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm1, %ymm4
1531*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3]
1532*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1533*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1534*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1535*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm2
1536*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1537*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1538*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm2, %ymm1
1539*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 96(%rdi), %ymm1, %ymm3
1540*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1541*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1542*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1543*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1544*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm2
1545*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1546*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1547*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm2, %ymm1
1548*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 64(%rdi), %ymm1, %ymm2
1549*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
1550*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1551*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
1552*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
1553*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm1
1554*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
1555*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
1556*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
1557*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 32(%rdi), %ymm0, %ymm1
1558*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm4, %ymm0
1559*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1560*9880d681SAndroid Build Coastguard Worker;
1561*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test24:
1562*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq (%rdi), %ymm1, %ymm4
1568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3]
1569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 96(%rdi), %ymm1, %ymm3
1574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 64(%rdi), %ymm1, %ymm2
1580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
1581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm0, %xmm0
1583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm0, %xmm0
1584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
1585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 32(%rdi), %ymm0, %ymm1
1586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa %ymm4, %ymm0
1587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1588*9880d681SAndroid Build Coastguard Worker;
1589*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test24:
1590*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1591*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
1592*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
1593*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
1594*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu64 (%rdi), %zmm0 {%k1} {z}
1595*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k1, %k1
1596*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu64 64(%rdi), %zmm1 {%k1} {z}
1597*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1598*9880d681SAndroid Build Coastguard Worker;
1599*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test24:
1600*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1601*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
1602*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
1603*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 (%rdi), %zmm0 {%k1} {z}
1604*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $8, %k1, %k1
1605*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 64(%rdi), %zmm1 {%k1} {z}
1606*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1607*9880d681SAndroid Build Coastguard Worker  %res = call <16 x %mystruct*> @llvm.masked.load.v16p0mystruct.p0v16p0mystruct(<16 x %mystruct*>* %addr, i32 4, <16 x i1>%mask, <16 x %mystruct*>zeroinitializer)
1608*9880d681SAndroid Build Coastguard Worker  ret <16 x %mystruct*> %res
1609*9880d681SAndroid Build Coastguard Worker}
1610*9880d681SAndroid Build Coastguard Worker
1611*9880d681SAndroid Build Coastguard Workerdefine void @test_store_16i64(<16 x i64>* %ptrs, <16 x i1> %mask, <16 x i64> %src0)  {
1612*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_store_16i64:
1613*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1614*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1615*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm5, %xmm5
1616*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm5, %xmm5
1617*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm6
1618*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1]
1619*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm5
1620*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm5, %ymm6, %ymm5
1621*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm1, %ymm5, (%rdi)
1622*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3]
1623*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1624*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1625*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1626*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm5
1627*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1628*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1629*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm5, %ymm1
1630*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm4, %ymm1, 96(%rdi)
1631*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1632*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1633*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1634*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1635*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm4
1636*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1637*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1638*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm4, %ymm1
1639*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm3, %ymm1, 64(%rdi)
1640*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
1641*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1642*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
1643*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
1644*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm1
1645*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
1646*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
1647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
1648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm2, %ymm0, 32(%rdi)
1649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
1650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1651*9880d681SAndroid Build Coastguard Worker;
1652*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_store_16i64:
1653*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1654*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1655*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm5, %xmm5
1656*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm5, %xmm5
1657*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm5, %ymm5
1658*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq %ymm1, %ymm5, (%rdi)
1659*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3]
1660*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1661*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1662*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1663*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1664*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq %ymm4, %ymm1, 96(%rdi)
1665*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1666*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1667*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1668*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1669*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1670*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq %ymm3, %ymm1, 64(%rdi)
1671*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
1672*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1673*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm0, %xmm0
1674*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm0, %xmm0
1675*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
1676*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq %ymm2, %ymm0, 32(%rdi)
1677*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
1678*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1679*9880d681SAndroid Build Coastguard Worker;
1680*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_store_16i64:
1681*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
1683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
1684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
1685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu64 %zmm1, (%rdi) {%k1}
1686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k1, %k1
1687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu64 %zmm2, 64(%rdi) {%k1}
1688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1689*9880d681SAndroid Build Coastguard Worker;
1690*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_store_16i64:
1691*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1692*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
1693*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
1694*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 %zmm1, (%rdi) {%k1}
1695*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $8, %k1, %k1
1696*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 %zmm2, 64(%rdi) {%k1}
1697*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1698*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v16i64.p0v16i64(<16 x i64> %src0, <16 x i64>* %ptrs, i32 4, <16 x i1> %mask)
1699*9880d681SAndroid Build Coastguard Worker  ret void
1700*9880d681SAndroid Build Coastguard Worker}
1701*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i64.p0v16i64(<16 x i64> %src0, <16 x i64>* %ptrs, i32, <16 x i1> %mask)
1702*9880d681SAndroid Build Coastguard Worker
1703*9880d681SAndroid Build Coastguard Workerdefine void @test_store_16f64(<16 x double>* %ptrs, <16 x i1> %mask, <16 x double> %src0)  {
1704*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_store_16f64:
1705*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm5, %xmm5
1708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm5, %xmm5
1709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm6
1710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1]
1711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm5
1712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm5, %ymm6, %ymm5
1713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm1, %ymm5, (%rdi)
1714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3]
1715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm5
1719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm5, %ymm1
1722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm4, %ymm1, 96(%rdi)
1723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm4
1728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm4, %ymm1
1731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm3, %ymm1, 64(%rdi)
1732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
1733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
1735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
1736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm1
1737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
1738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
1739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
1740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd %ymm2, %ymm0, 32(%rdi)
1741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
1742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1743*9880d681SAndroid Build Coastguard Worker;
1744*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_store_16f64:
1745*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1746*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1747*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm5, %xmm5
1748*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm5, %xmm5
1749*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm5, %ymm5
1750*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd %ymm1, %ymm5, (%rdi)
1751*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3]
1752*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1753*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1754*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1755*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1756*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd %ymm4, %ymm1, 96(%rdi)
1757*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1758*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1759*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1760*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1761*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1762*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd %ymm3, %ymm1, 64(%rdi)
1763*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
1764*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1765*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm0, %xmm0
1766*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm0, %xmm0
1767*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
1768*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd %ymm2, %ymm0, 32(%rdi)
1769*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
1770*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1771*9880d681SAndroid Build Coastguard Worker;
1772*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_store_16f64:
1773*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
1775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
1776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
1777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd %zmm1, (%rdi) {%k1}
1778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k1, %k1
1779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd %zmm2, 64(%rdi) {%k1}
1780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1781*9880d681SAndroid Build Coastguard Worker;
1782*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_store_16f64:
1783*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1784*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
1785*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
1786*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd %zmm1, (%rdi) {%k1}
1787*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $8, %k1, %k1
1788*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd %zmm2, 64(%rdi) {%k1}
1789*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1790*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v16f64.p0v16f64(<16 x double> %src0, <16 x double>* %ptrs, i32 4, <16 x i1> %mask)
1791*9880d681SAndroid Build Coastguard Worker  ret void
1792*9880d681SAndroid Build Coastguard Worker}
1793*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16f64.p0v16f64(<16 x double> %src0, <16 x double>* %ptrs, i32, <16 x i1> %mask)
1794*9880d681SAndroid Build Coastguard Worker
1795*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @test_load_16i64(<16 x i64>* %ptrs, <16 x i1> %mask, <16 x i64> %src0)  {
1796*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_load_16i64:
1797*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm5, %xmm5
1800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm5, %xmm5
1801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm6
1802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1]
1803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm5
1804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm5, %ymm6, %ymm5
1805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm5, %ymm6
1806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm5, %ymm6, %ymm1, %ymm5
1807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3]
1808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm6
1812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm6, %ymm1
1815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 32(%rdi), %ymm1, %ymm6
1816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm1, %ymm6, %ymm2, %ymm1
1817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1]
1818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
1819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm2, %xmm2
1820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm2, %xmm2
1821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm6
1822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
1823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm2
1824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm6, %ymm2
1825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 64(%rdi), %ymm2, %ymm6
1826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm2, %ymm6, %ymm3, %ymm2
1827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3]
1828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
1830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
1831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm3
1832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
1833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
1834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm3, %ymm0
1835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 96(%rdi), %ymm0, %ymm3
1836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm0, %ymm3, %ymm4, %ymm3
1837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm5, %ymm0
1838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1839*9880d681SAndroid Build Coastguard Worker;
1840*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_load_16i64:
1841*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm5, %xmm5
1844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm5, %xmm5
1845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm5, %ymm5
1846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq (%rdi), %ymm5, %ymm6
1847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm5, %ymm6, %ymm1, %ymm5
1848*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3]
1849*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1850*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1851*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1852*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1853*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 32(%rdi), %ymm1, %ymm6
1854*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm1, %ymm6, %ymm2, %ymm1
1855*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1]
1856*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
1857*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm2, %xmm2
1858*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm2, %xmm2
1859*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm2, %ymm2
1860*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 64(%rdi), %ymm2, %ymm6
1861*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm2, %ymm6, %ymm3, %ymm2
1862*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3]
1863*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1864*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm0, %xmm0
1865*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm0, %xmm0
1866*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
1867*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmaskmovq 96(%rdi), %ymm0, %ymm3
1868*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm0, %ymm3, %ymm4, %ymm3
1869*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm5, %ymm0
1870*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1871*9880d681SAndroid Build Coastguard Worker;
1872*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_load_16i64:
1873*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
1875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
1876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
1877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu64 (%rdi), %zmm1 {%k1}
1878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k1, %k1
1879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqu64 64(%rdi), %zmm2 {%k1}
1880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm1, %zmm0
1881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm2, %zmm1
1882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1883*9880d681SAndroid Build Coastguard Worker;
1884*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_load_16i64:
1885*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1886*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
1887*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
1888*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 (%rdi), %zmm1 {%k1}
1889*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $8, %k1, %k1
1890*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu64 64(%rdi), %zmm2 {%k1}
1891*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
1892*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm2, %zmm1
1893*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1894*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i64> @llvm.masked.load.v16i64.p0v16i64(<16 x i64>* %ptrs, i32 4, <16 x i1> %mask, <16 x i64> %src0)
1895*9880d681SAndroid Build Coastguard Worker  ret <16 x i64> %res
1896*9880d681SAndroid Build Coastguard Worker}
1897*9880d681SAndroid Build Coastguard Workerdeclare <16 x i64> @llvm.masked.load.v16i64.p0v16i64(<16 x i64>* %ptrs, i32, <16 x i1> %mask, <16 x i64> %src0)
1898*9880d681SAndroid Build Coastguard Worker
1899*9880d681SAndroid Build Coastguard Workerdefine <16 x double> @test_load_16f64(<16 x double>* %ptrs, <16 x i1> %mask, <16 x double> %src0)  {
1900*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_load_16f64:
1901*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
1902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm5, %xmm5
1904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm5, %xmm5
1905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm6
1906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1]
1907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm5, %xmm5
1908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm5, %ymm6, %ymm5
1909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rdi), %ymm5, %ymm6
1910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm5, %ymm6, %ymm1, %ymm5
1911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3]
1912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
1914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
1915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm6
1916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
1917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
1918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm6, %ymm1
1919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 32(%rdi), %ymm1, %ymm6
1920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm1, %ymm6, %ymm2, %ymm1
1921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1]
1922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
1923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm2, %xmm2
1924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm2, %xmm2
1925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm6
1926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
1927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm2
1928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm6, %ymm2
1929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 64(%rdi), %ymm2, %ymm6
1930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm2, %ymm6, %ymm3, %ymm2
1931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3]
1932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
1934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
1935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm3
1936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
1937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
1938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm3, %ymm0
1939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 96(%rdi), %ymm0, %ymm3
1940*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm0, %ymm3, %ymm4, %ymm3
1941*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm5, %ymm0
1942*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1943*9880d681SAndroid Build Coastguard Worker;
1944*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_load_16f64:
1945*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
1946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm5, %xmm5
1948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm5, %xmm5
1949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm5, %ymm5
1950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd (%rdi), %ymm5, %ymm6
1951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm5, %ymm6, %ymm1, %ymm5
1952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3]
1953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
1954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
1955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
1956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
1957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 32(%rdi), %ymm1, %ymm6
1958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm1, %ymm6, %ymm2, %ymm1
1959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1]
1960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
1961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm2, %xmm2
1962*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm2, %xmm2
1963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm2, %ymm2
1964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 64(%rdi), %ymm2, %ymm6
1965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm2, %ymm6, %ymm3, %ymm2
1966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3]
1967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm0, %xmm0
1969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm0, %xmm0
1970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
1971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 96(%rdi), %ymm0, %ymm3
1972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm0, %ymm3, %ymm4, %ymm3
1973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm5, %ymm0
1974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1975*9880d681SAndroid Build Coastguard Worker;
1976*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_load_16f64:
1977*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
1978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
1979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
1980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
1981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd (%rdi), %zmm1 {%k1}
1982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k1, %k1
1983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd 64(%rdi), %zmm2 {%k1}
1984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm1, %zmm0
1985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm2, %zmm1
1986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
1987*9880d681SAndroid Build Coastguard Worker;
1988*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_load_16f64:
1989*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
1990*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
1991*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
1992*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd (%rdi), %zmm1 {%k1}
1993*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $8, %k1, %k1
1994*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd 64(%rdi), %zmm2 {%k1}
1995*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
1996*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm2, %zmm1
1997*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
1998*9880d681SAndroid Build Coastguard Worker  %res = call <16 x double> @llvm.masked.load.v16f64.p0v16f64(<16 x double>* %ptrs, i32 4, <16 x i1> %mask, <16 x double> %src0)
1999*9880d681SAndroid Build Coastguard Worker  ret <16 x double> %res
2000*9880d681SAndroid Build Coastguard Worker}
2001*9880d681SAndroid Build Coastguard Workerdeclare <16 x double> @llvm.masked.load.v16f64.p0v16f64(<16 x double>* %ptrs, i32, <16 x i1> %mask, <16 x double> %src0)
2002*9880d681SAndroid Build Coastguard Worker
2003*9880d681SAndroid Build Coastguard Workerdefine <32 x double> @test_load_32f64(<32 x double>* %ptrs, <32 x i1> %mask, <32 x double> %src0)  {
2004*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_load_32f64:
2005*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
2006*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %rbp
2007*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp0:
2008*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 16
2009*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp1:
2010*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_offset %rbp, -16
2011*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq %rsp, %rbp
2012*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp2:
2013*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_register %rbp
2014*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andq $-32, %rsp
2015*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    subq $32, %rsp
2016*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd 16(%rbp), %ymm8
2017*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm9 = xmm0[1,1,2,3]
2018*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm9 = xmm9[0],zero,zero,zero,xmm9[1],zero,zero,zero,xmm9[2],zero,zero,zero,xmm9[3],zero,zero,zero
2019*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm9, %xmm9
2020*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm9, %xmm9
2021*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm9, %xmm10
2022*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm9 = xmm9[2,3,0,1]
2023*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm9, %xmm9
2024*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm9, %ymm10, %ymm9
2025*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 32(%rsi), %ymm9, %ymm10
2026*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm9, %ymm10, %ymm2, %ymm9
2027*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1]
2028*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
2029*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm2, %xmm2
2030*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm2, %xmm2
2031*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm10
2032*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
2033*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm2
2034*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm10, %ymm2
2035*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 64(%rsi), %ymm2, %ymm10
2036*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm2, %ymm10, %ymm3, %ymm11
2037*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[3,1,2,3]
2038*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
2039*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm2, %xmm2
2040*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm2, %xmm2
2041*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm10
2042*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
2043*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm2, %xmm2
2044*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm10, %ymm2
2045*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 96(%rsi), %ymm2, %ymm10
2046*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm2, %ymm10, %ymm4, %ymm4
2047*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
2048*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[1,1,2,3]
2049*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero
2050*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm3, %xmm3
2051*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm3, %xmm3
2052*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm10
2053*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1]
2054*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm3
2055*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm10, %ymm3
2056*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 160(%rsi), %ymm3, %ymm10
2057*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm3, %ymm10, %ymm6, %ymm6
2058*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[2,3,0,1]
2059*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero
2060*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm3, %xmm3
2061*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm3, %xmm3
2062*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm10
2063*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1]
2064*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm3
2065*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm10, %ymm3
2066*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 192(%rsi), %ymm3, %ymm10
2067*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm3, %ymm10, %ymm7, %ymm7
2068*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[3,1,2,3]
2069*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero
2070*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm3, %xmm3
2071*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm3, %xmm3
2072*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm10
2073*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1]
2074*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm3, %xmm3
2075*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm10, %ymm3
2076*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 224(%rsi), %ymm3, %ymm10
2077*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm3, %ymm10, %ymm8, %ymm3
2078*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
2079*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm0, %xmm0
2080*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm0, %xmm0
2081*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm8
2082*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
2083*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm0, %xmm0
2084*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm8, %ymm0
2085*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd (%rsi), %ymm0, %ymm8
2086*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm0, %ymm8, %ymm1, %ymm0
2087*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
2088*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpslld $31, %xmm1, %xmm1
2089*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsrad $31, %xmm1, %xmm1
2090*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm2
2091*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
2092*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovsxdq %xmm1, %xmm1
2093*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm2, %ymm1
2094*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmaskmovpd 128(%rsi), %ymm1, %ymm2
2095*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendvpd %ymm1, %ymm2, %ymm5, %ymm1
2096*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm1, 128(%rdi)
2097*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm0, (%rdi)
2098*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm3, 224(%rdi)
2099*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm7, 192(%rdi)
2100*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm6, 160(%rdi)
2101*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm4, 96(%rdi)
2102*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm11, 64(%rdi)
2103*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd %ymm9, 32(%rdi)
2104*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq %rdi, %rax
2105*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq %rbp, %rsp
2106*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    popq %rbp
2107*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
2108*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
2109*9880d681SAndroid Build Coastguard Worker;
2110*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_load_32f64:
2111*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
2112*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %rbp
2113*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp0:
2114*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 16
2115*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp1:
2116*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_offset %rbp, -16
2117*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rsp, %rbp
2118*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp2:
2119*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_register %rbp
2120*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andq $-32, %rsp
2121*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    subq $32, %rsp
2122*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd 16(%rbp), %ymm8
2123*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm9 = xmm0[1,1,2,3]
2124*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm9 = xmm9[0],zero,zero,zero,xmm9[1],zero,zero,zero,xmm9[2],zero,zero,zero,xmm9[3],zero,zero,zero
2125*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm9, %xmm9
2126*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm9, %xmm9
2127*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm9, %ymm9
2128*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 32(%rsi), %ymm9, %ymm10
2129*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm9, %ymm10, %ymm2, %ymm9
2130*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1]
2131*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
2132*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm2, %xmm2
2133*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm2, %xmm2
2134*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm2, %ymm2
2135*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 64(%rsi), %ymm2, %ymm10
2136*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm2, %ymm10, %ymm3, %ymm11
2137*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[3,1,2,3]
2138*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
2139*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm2, %xmm2
2140*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm2, %xmm2
2141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm2, %ymm2
2142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 96(%rsi), %ymm2, %ymm10
2143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm2, %ymm10, %ymm4, %ymm4
2144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
2145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[1,1,2,3]
2146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero
2147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm3, %xmm3
2148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm3, %xmm3
2149*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm3, %ymm3
2150*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 160(%rsi), %ymm3, %ymm10
2151*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm3, %ymm10, %ymm6, %ymm3
2152*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm6 = xmm2[2,3,0,1]
2153*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm6 = xmm6[0],zero,zero,zero,xmm6[1],zero,zero,zero,xmm6[2],zero,zero,zero,xmm6[3],zero,zero,zero
2154*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm6, %xmm6
2155*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm6, %xmm6
2156*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm6, %ymm6
2157*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 192(%rsi), %ymm6, %ymm10
2158*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm6, %ymm10, %ymm7, %ymm6
2159*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} xmm7 = xmm2[3,1,2,3]
2160*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm7 = xmm7[0],zero,zero,zero,xmm7[1],zero,zero,zero,xmm7[2],zero,zero,zero,xmm7[3],zero,zero,zero
2161*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm7, %xmm7
2162*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm7, %xmm7
2163*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm7, %ymm7
2164*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 224(%rsi), %ymm7, %ymm10
2165*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm7, %ymm10, %ymm8, %ymm7
2166*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
2167*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm0, %xmm0
2168*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm0, %xmm0
2169*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm0, %ymm0
2170*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd (%rsi), %ymm0, %ymm8
2171*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm0, %ymm8, %ymm1, %ymm0
2172*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbd {{.*#+}} xmm1 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
2173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpslld $31, %xmm1, %xmm1
2174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsrad $31, %xmm1, %xmm1
2175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovsxdq %xmm1, %ymm1
2176*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmaskmovpd 128(%rsi), %ymm1, %ymm2
2177*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vblendvpd %ymm1, %ymm2, %ymm5, %ymm1
2178*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm1, 128(%rdi)
2179*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm0, (%rdi)
2180*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm7, 224(%rdi)
2181*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm6, 192(%rdi)
2182*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm3, 160(%rdi)
2183*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm4, 96(%rdi)
2184*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm11, 64(%rdi)
2185*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovapd %ymm9, 32(%rdi)
2186*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rdi, %rax
2187*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rbp, %rsp
2188*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    popq %rbp
2189*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
2190*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
2191*9880d681SAndroid Build Coastguard Worker;
2192*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_load_32f64:
2193*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
2194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextractf128 $1, %ymm0, %xmm5
2195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm5, %zmm5
2196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm5, %zmm5
2197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm5, %zmm5, %k1
2198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd 128(%rdi), %zmm3 {%k1}
2199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
2200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
2201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k2
2202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd (%rdi), %zmm1 {%k2}
2203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k1, %k1
2204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd 192(%rdi), %zmm4 {%k1}
2205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $8, %k2, %k1
2206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovupd 64(%rdi), %zmm2 {%k1}
2207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm1, %zmm0
2208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm2, %zmm1
2209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm3, %zmm2
2210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovaps %zmm4, %zmm3
2211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
2212*9880d681SAndroid Build Coastguard Worker;
2213*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_load_32f64:
2214*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
2215*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %ymm0, %ymm0
2216*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %ymm0, %k1
2217*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd (%rdi), %zmm1 {%k1}
2218*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrd $16, %k1, %k2
2219*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd 128(%rdi), %zmm3 {%k2}
2220*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $8, %k1, %k1
2221*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd 64(%rdi), %zmm2 {%k1}
2222*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    kshiftrw $8, %k2, %k1
2223*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovupd 192(%rdi), %zmm4 {%k1}
2224*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
2225*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm2, %zmm1
2226*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm3, %zmm2
2227*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm4, %zmm3
2228*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
2229*9880d681SAndroid Build Coastguard Worker  %res = call <32 x double> @llvm.masked.load.v32f64.p0v32f64(<32 x double>* %ptrs, i32 4, <32 x i1> %mask, <32 x double> %src0)
2230*9880d681SAndroid Build Coastguard Worker  ret <32 x double> %res
2231*9880d681SAndroid Build Coastguard Worker}
2232*9880d681SAndroid Build Coastguard Worker
2233*9880d681SAndroid Build Coastguard Workerdeclare <32 x double> @llvm.masked.load.v32f64.p0v32f64(<32 x double>* %ptrs, i32, <32 x i1> %mask, <32 x double> %src0)
2234*9880d681SAndroid Build Coastguard Worker
2235*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_mask_load_16xi8(<16 x i1> %mask, <16 x i8>* %addr, <16 x i8> %val) {
2236*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_load_16xi8:
2237*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
2238*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $0, %xmm0, %eax
2239*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    ## implicit-def: %XMM1
2240*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2241*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_2
2242*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#1: ## %cond.load
2243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    movzbl (%rdi), %eax
2244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovd %eax, %xmm1
2245*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_2: ## %else
2246*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $1, %xmm0, %eax
2247*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2248*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_4
2249*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#3: ## %cond.load1
2250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $1, 1(%rdi), %xmm1, %xmm1
2251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_4: ## %else2
2252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $2, %xmm0, %eax
2253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2254*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_6
2255*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#5: ## %cond.load4
2256*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $2, 2(%rdi), %xmm1, %xmm1
2257*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_6: ## %else5
2258*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $3, %xmm0, %eax
2259*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2260*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_8
2261*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#7: ## %cond.load7
2262*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $3, 3(%rdi), %xmm1, %xmm1
2263*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_8: ## %else8
2264*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $4, %xmm0, %eax
2265*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2266*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_10
2267*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#9: ## %cond.load10
2268*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $4, 4(%rdi), %xmm1, %xmm1
2269*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_10: ## %else11
2270*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $5, %xmm0, %eax
2271*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2272*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_12
2273*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#11: ## %cond.load13
2274*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $5, 5(%rdi), %xmm1, %xmm1
2275*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_12: ## %else14
2276*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $6, %xmm0, %eax
2277*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2278*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_14
2279*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#13: ## %cond.load16
2280*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $6, 6(%rdi), %xmm1, %xmm1
2281*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_14: ## %else17
2282*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $7, %xmm0, %eax
2283*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2284*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_16
2285*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#15: ## %cond.load19
2286*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $7, 7(%rdi), %xmm1, %xmm1
2287*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_16: ## %else20
2288*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $8, %xmm0, %eax
2289*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2290*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_18
2291*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#17: ## %cond.load22
2292*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $8, 8(%rdi), %xmm1, %xmm1
2293*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_18: ## %else23
2294*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $9, %xmm0, %eax
2295*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2296*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_20
2297*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#19: ## %cond.load25
2298*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $9, 9(%rdi), %xmm1, %xmm1
2299*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_20: ## %else26
2300*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $10, %xmm0, %eax
2301*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2302*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_22
2303*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#21: ## %cond.load28
2304*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $10, 10(%rdi), %xmm1, %xmm1
2305*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_22: ## %else29
2306*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $11, %xmm0, %eax
2307*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2308*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_24
2309*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#23: ## %cond.load31
2310*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $11, 11(%rdi), %xmm1, %xmm1
2311*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_24: ## %else32
2312*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $12, %xmm0, %eax
2313*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2314*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_26
2315*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#25: ## %cond.load34
2316*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $12, 12(%rdi), %xmm1, %xmm1
2317*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_26: ## %else35
2318*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $13, %xmm0, %eax
2319*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2320*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_28
2321*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#27: ## %cond.load37
2322*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $13, 13(%rdi), %xmm1, %xmm1
2323*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_28: ## %else38
2324*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $14, %xmm0, %eax
2325*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2326*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_30
2327*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#29: ## %cond.load40
2328*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $14, 14(%rdi), %xmm1, %xmm1
2329*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_30: ## %else41
2330*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $15, %xmm0, %eax
2331*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
2332*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB50_32
2333*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#31: ## %cond.load43
2334*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrb $15, 15(%rdi), %xmm1, %xmm1
2335*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB50_32: ## %else44
2336*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpsllw $7, %xmm0, %xmm0
2337*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpand {{.*}}(%rip), %xmm0, %xmm0
2338*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm0, %xmm0
2339*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
2340*9880d681SAndroid Build Coastguard Worker;
2341*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_16xi8:
2342*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
2343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
2344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
2345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
2346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k1, %k0
2347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## implicit-def: %XMM0
2350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2351*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_2
2352*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.load
2353*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movzbl (%rdi), %eax
2354*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %eax, %xmm0
2355*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_2: ## %else
2356*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k1, %k0
2357*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2358*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2359*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2360*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_4
2361*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.load1
2362*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, 1(%rdi), %xmm0, %xmm0
2363*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_4: ## %else2
2364*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k1, %k0
2365*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2366*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2367*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2368*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_6
2369*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.load4
2370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, 2(%rdi), %xmm0, %xmm0
2371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_6: ## %else5
2372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k1, %k0
2373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_8
2377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.load7
2378*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, 3(%rdi), %xmm0, %xmm0
2379*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_8: ## %else8
2380*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k1, %k0
2381*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2382*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2383*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2384*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_10
2385*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.load10
2386*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, 4(%rdi), %xmm0, %xmm0
2387*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_10: ## %else11
2388*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k1, %k0
2389*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2390*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2391*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2392*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_12
2393*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.load13
2394*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, 5(%rdi), %xmm0, %xmm0
2395*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_12: ## %else14
2396*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k1, %k0
2397*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2398*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2399*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2400*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_14
2401*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.load16
2402*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, 6(%rdi), %xmm0, %xmm0
2403*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_14: ## %else17
2404*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k1, %k0
2405*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2406*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2407*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2408*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_16
2409*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.load19
2410*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, 7(%rdi), %xmm0, %xmm0
2411*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_16: ## %else20
2412*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k1, %k0
2413*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2414*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2415*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2416*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_18
2417*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.load22
2418*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, 8(%rdi), %xmm0, %xmm0
2419*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_18: ## %else23
2420*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k1, %k0
2421*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2422*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2423*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2424*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_20
2425*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.load25
2426*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, 9(%rdi), %xmm0, %xmm0
2427*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_20: ## %else26
2428*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k1, %k0
2429*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2430*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2431*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2432*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_22
2433*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.load28
2434*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, 10(%rdi), %xmm0, %xmm0
2435*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_22: ## %else29
2436*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k1, %k0
2437*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2438*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2439*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2440*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_24
2441*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.load31
2442*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, 11(%rdi), %xmm0, %xmm0
2443*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_24: ## %else32
2444*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k1, %k0
2445*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2446*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2447*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2448*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_26
2449*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.load34
2450*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, 12(%rdi), %xmm0, %xmm0
2451*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_26: ## %else35
2452*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k1, %k0
2453*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2454*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2455*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2456*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_28
2457*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.load37
2458*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, 13(%rdi), %xmm0, %xmm0
2459*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_28: ## %else38
2460*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k1, %k0
2461*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2462*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2463*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2464*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_30
2465*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.load40
2466*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, 14(%rdi), %xmm0, %xmm0
2467*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_30: ## %else41
2468*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k1, %k0
2469*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
2470*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
2471*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
2472*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB50_32
2473*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.load43
2474*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, 15(%rdi), %xmm0, %xmm0
2475*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB50_32: ## %else44
2476*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpternlogd $255, %zmm1, %zmm1, %zmm1
2477*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqa32 %zmm1, %zmm1 {%k1} {z}
2478*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovdb %zmm1, %xmm1
2479*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendvb %xmm1, %xmm0, %xmm0, %xmm0
2480*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
2481*9880d681SAndroid Build Coastguard Worker;
2482*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_16xi8:
2483*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
2484*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
2485*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
2486*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu8 (%rdi), %xmm0 {%k1} {z}
2487*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
2488*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.masked.load.v16i8.p0v16i8(<16 x i8>* %addr, i32 4, <16 x i1>%mask, <16 x i8> undef)
2489*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
2490*9880d681SAndroid Build Coastguard Worker}
2491*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.masked.load.v16i8.p0v16i8(<16 x i8>*, i32, <16 x i1>, <16 x i8>)
2492*9880d681SAndroid Build Coastguard Worker
2493*9880d681SAndroid Build Coastguard Workerdefine <32 x i8> @test_mask_load_32xi8(<32 x i1> %mask, <32 x i8>* %addr, <32 x i8> %val) {
2494*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_32xi8:
2495*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
2496*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
2497*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    ## implicit-def: %YMM1
2498*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2499*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_2
2500*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.load
2501*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl (%rdi), %eax
2502*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %eax, %xmm1
2503*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_2: ## %else
2504*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
2505*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2506*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_4
2507*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.load1
2508*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, 1(%rdi), %xmm1, %xmm2
2509*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2510*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_4: ## %else2
2511*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
2512*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2513*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_6
2514*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.load4
2515*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, 2(%rdi), %xmm1, %xmm2
2516*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2517*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_6: ## %else5
2518*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
2519*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2520*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_8
2521*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.load7
2522*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, 3(%rdi), %xmm1, %xmm2
2523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_8: ## %else8
2525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
2526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_10
2528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.load10
2529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, 4(%rdi), %xmm1, %xmm2
2530*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2531*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_10: ## %else11
2532*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
2533*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2534*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_12
2535*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.load13
2536*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, 5(%rdi), %xmm1, %xmm2
2537*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2538*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_12: ## %else14
2539*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
2540*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2541*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_14
2542*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.load16
2543*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, 6(%rdi), %xmm1, %xmm2
2544*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2545*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_14: ## %else17
2546*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
2547*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2548*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_16
2549*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.load19
2550*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, 7(%rdi), %xmm1, %xmm2
2551*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2552*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_16: ## %else20
2553*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
2554*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2555*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_18
2556*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.load22
2557*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, 8(%rdi), %xmm1, %xmm2
2558*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2559*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_18: ## %else23
2560*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
2561*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2562*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_20
2563*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.load25
2564*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, 9(%rdi), %xmm1, %xmm2
2565*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2566*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_20: ## %else26
2567*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
2568*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2569*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_22
2570*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.load28
2571*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, 10(%rdi), %xmm1, %xmm2
2572*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2573*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_22: ## %else29
2574*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
2575*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2576*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_24
2577*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.load31
2578*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, 11(%rdi), %xmm1, %xmm2
2579*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2580*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_24: ## %else32
2581*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
2582*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2583*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_26
2584*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.load34
2585*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, 12(%rdi), %xmm1, %xmm2
2586*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2587*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_26: ## %else35
2588*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
2589*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2590*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_28
2591*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.load37
2592*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, 13(%rdi), %xmm1, %xmm2
2593*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2594*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_28: ## %else38
2595*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
2596*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2597*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_30
2598*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.load40
2599*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, 14(%rdi), %xmm1, %xmm2
2600*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2601*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_30: ## %else41
2602*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
2603*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2604*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_32
2605*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.load43
2606*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, 15(%rdi), %xmm1, %xmm2
2607*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2608*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_32: ## %else44
2609*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
2610*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm2, %eax
2611*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_34
2613*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#33: ## %cond.load46
2614*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2615*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $0, 16(%rdi), %xmm3, %xmm3
2616*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2617*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_34: ## %else47
2618*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm2, %eax
2619*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2620*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_36
2621*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#35: ## %cond.load49
2622*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2623*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, 17(%rdi), %xmm3, %xmm3
2624*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2625*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_36: ## %else50
2626*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm2, %eax
2627*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2628*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_38
2629*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#37: ## %cond.load52
2630*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2631*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, 18(%rdi), %xmm3, %xmm3
2632*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2633*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_38: ## %else53
2634*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm2, %eax
2635*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2636*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_40
2637*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#39: ## %cond.load55
2638*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2639*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, 19(%rdi), %xmm3, %xmm3
2640*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2641*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_40: ## %else56
2642*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm2, %eax
2643*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2644*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_42
2645*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#41: ## %cond.load58
2646*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, 20(%rdi), %xmm3, %xmm3
2648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_42: ## %else59
2650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm2, %eax
2651*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2652*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_44
2653*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#43: ## %cond.load61
2654*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2655*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, 21(%rdi), %xmm3, %xmm3
2656*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2657*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_44: ## %else62
2658*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm2, %eax
2659*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2660*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_46
2661*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#45: ## %cond.load64
2662*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2663*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, 22(%rdi), %xmm3, %xmm3
2664*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2665*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_46: ## %else65
2666*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm2, %eax
2667*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2668*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_48
2669*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#47: ## %cond.load67
2670*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2671*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, 23(%rdi), %xmm3, %xmm3
2672*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2673*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_48: ## %else68
2674*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm2, %eax
2675*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2676*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_50
2677*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#49: ## %cond.load70
2678*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2679*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, 24(%rdi), %xmm3, %xmm3
2680*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2681*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_50: ## %else71
2682*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm2, %eax
2683*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2684*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_52
2685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#51: ## %cond.load73
2686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, 25(%rdi), %xmm3, %xmm3
2688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_52: ## %else74
2690*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm2, %eax
2691*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2692*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_54
2693*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#53: ## %cond.load76
2694*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2695*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, 26(%rdi), %xmm3, %xmm3
2696*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2697*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_54: ## %else77
2698*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm2, %eax
2699*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2700*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_56
2701*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#55: ## %cond.load79
2702*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2703*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, 27(%rdi), %xmm3, %xmm3
2704*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2705*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_56: ## %else80
2706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm2, %eax
2707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_58
2709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#57: ## %cond.load82
2710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, 28(%rdi), %xmm3, %xmm3
2712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_58: ## %else83
2714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm2, %eax
2715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_60
2717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#59: ## %cond.load85
2718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, 29(%rdi), %xmm3, %xmm3
2720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_60: ## %else86
2722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm2, %eax
2723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_62
2725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#61: ## %cond.load88
2726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, 30(%rdi), %xmm3, %xmm3
2728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_62: ## %else89
2730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm2, %eax
2731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
2732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB51_64
2733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#63: ## %cond.load91
2734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, 31(%rdi), %xmm3, %xmm3
2736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
2737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB51_64: ## %else92
2738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $7, %xmm2, %xmm2
2739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128]
2740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm3, %xmm2, %xmm2
2741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm4, %xmm4, %xmm4
2742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm2, %xmm4, %xmm2
2743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $7, %xmm0, %xmm0
2744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm3, %xmm0, %xmm0
2745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm0, %xmm4, %xmm0
2746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
2747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %ymm1, %ymm0, %ymm0
2748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
2749*9880d681SAndroid Build Coastguard Worker;
2750*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_32xi8:
2751*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
2752*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
2753*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    ## implicit-def: %YMM1
2754*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2755*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_2
2756*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.load
2757*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl (%rdi), %eax
2758*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %eax, %xmm1
2759*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_2: ## %else
2760*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
2761*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2762*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_4
2763*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.load1
2764*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, 1(%rdi), %xmm1, %xmm2
2765*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2766*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_4: ## %else2
2767*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
2768*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2769*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_6
2770*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.load4
2771*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, 2(%rdi), %xmm1, %xmm2
2772*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2773*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_6: ## %else5
2774*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
2775*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2776*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_8
2777*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.load7
2778*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, 3(%rdi), %xmm1, %xmm2
2779*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2780*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_8: ## %else8
2781*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
2782*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2783*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_10
2784*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.load10
2785*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, 4(%rdi), %xmm1, %xmm2
2786*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2787*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_10: ## %else11
2788*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
2789*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2790*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_12
2791*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.load13
2792*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, 5(%rdi), %xmm1, %xmm2
2793*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2794*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_12: ## %else14
2795*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
2796*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2797*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_14
2798*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.load16
2799*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, 6(%rdi), %xmm1, %xmm2
2800*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2801*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_14: ## %else17
2802*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
2803*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2804*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_16
2805*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.load19
2806*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, 7(%rdi), %xmm1, %xmm2
2807*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2808*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_16: ## %else20
2809*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
2810*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2811*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_18
2812*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.load22
2813*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, 8(%rdi), %xmm1, %xmm2
2814*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2815*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_18: ## %else23
2816*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
2817*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2818*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_20
2819*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.load25
2820*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, 9(%rdi), %xmm1, %xmm2
2821*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2822*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_20: ## %else26
2823*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
2824*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2825*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_22
2826*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.load28
2827*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, 10(%rdi), %xmm1, %xmm2
2828*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2829*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_22: ## %else29
2830*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
2831*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2832*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_24
2833*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.load31
2834*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, 11(%rdi), %xmm1, %xmm2
2835*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2836*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_24: ## %else32
2837*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
2838*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2839*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_26
2840*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.load34
2841*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, 12(%rdi), %xmm1, %xmm2
2842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_26: ## %else35
2844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
2845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_28
2847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.load37
2848*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, 13(%rdi), %xmm1, %xmm2
2849*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2850*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_28: ## %else38
2851*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
2852*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2853*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_30
2854*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.load40
2855*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, 14(%rdi), %xmm1, %xmm2
2856*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2857*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_30: ## %else41
2858*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
2859*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2860*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_32
2861*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.load43
2862*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, 15(%rdi), %xmm1, %xmm2
2863*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
2864*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_32: ## %else44
2865*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
2866*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm2, %eax
2867*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2868*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_34
2869*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#33: ## %cond.load46
2870*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2871*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $0, 16(%rdi), %xmm3, %xmm3
2872*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2873*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_34: ## %else47
2874*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm2, %eax
2875*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2876*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_36
2877*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#35: ## %cond.load49
2878*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2879*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, 17(%rdi), %xmm3, %xmm3
2880*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2881*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_36: ## %else50
2882*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm2, %eax
2883*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2884*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_38
2885*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#37: ## %cond.load52
2886*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2887*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, 18(%rdi), %xmm3, %xmm3
2888*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2889*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_38: ## %else53
2890*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm2, %eax
2891*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2892*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_40
2893*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#39: ## %cond.load55
2894*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2895*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, 19(%rdi), %xmm3, %xmm3
2896*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2897*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_40: ## %else56
2898*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm2, %eax
2899*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2900*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_42
2901*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#41: ## %cond.load58
2902*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2903*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, 20(%rdi), %xmm3, %xmm3
2904*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2905*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_42: ## %else59
2906*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm2, %eax
2907*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2908*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_44
2909*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#43: ## %cond.load61
2910*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2911*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, 21(%rdi), %xmm3, %xmm3
2912*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2913*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_44: ## %else62
2914*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm2, %eax
2915*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2916*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_46
2917*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#45: ## %cond.load64
2918*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2919*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, 22(%rdi), %xmm3, %xmm3
2920*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2921*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_46: ## %else65
2922*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm2, %eax
2923*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2924*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_48
2925*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#47: ## %cond.load67
2926*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2927*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, 23(%rdi), %xmm3, %xmm3
2928*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2929*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_48: ## %else68
2930*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm2, %eax
2931*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2932*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_50
2933*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#49: ## %cond.load70
2934*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2935*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, 24(%rdi), %xmm3, %xmm3
2936*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2937*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_50: ## %else71
2938*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm2, %eax
2939*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2940*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_52
2941*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#51: ## %cond.load73
2942*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, 25(%rdi), %xmm3, %xmm3
2944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_52: ## %else74
2946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm2, %eax
2947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_54
2949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#53: ## %cond.load76
2950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, 26(%rdi), %xmm3, %xmm3
2952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_54: ## %else77
2954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm2, %eax
2955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_56
2957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#55: ## %cond.load79
2958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, 27(%rdi), %xmm3, %xmm3
2960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_56: ## %else80
2962*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm2, %eax
2963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_58
2965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#57: ## %cond.load82
2966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, 28(%rdi), %xmm3, %xmm3
2968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_58: ## %else83
2970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm2, %eax
2971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_60
2973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#59: ## %cond.load85
2974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2975*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, 29(%rdi), %xmm3, %xmm3
2976*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2977*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_60: ## %else86
2978*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm2, %eax
2979*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2980*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_62
2981*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#61: ## %cond.load88
2982*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
2983*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, 30(%rdi), %xmm3, %xmm3
2984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
2985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_62: ## %else89
2986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm2, %eax
2987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
2988*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB51_64
2989*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#63: ## %cond.load91
2990*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
2991*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, 31(%rdi), %xmm2, %xmm2
2992*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
2993*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB51_64: ## %else92
2994*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsllw $7, %ymm0, %ymm0
2995*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpand {{.*}}(%rip), %ymm0, %ymm0
2996*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpxor %ymm2, %ymm2, %ymm2
2997*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm0, %ymm2, %ymm0
2998*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpand %ymm1, %ymm0, %ymm0
2999*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
3000*9880d681SAndroid Build Coastguard Worker;
3001*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_32xi8:
3002*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
3003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, %eax
3004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## implicit-def: %YMM1
3005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_2
3007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.load
3008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movzbl (%rdi), %eax
3009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %eax, %xmm1
3010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_2: ## %else
3011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, %eax
3012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_4
3014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.load1
3015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, 1(%rdi), %xmm1, %xmm2
3016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_4: ## %else2
3018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, %eax
3019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_6
3021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.load4
3022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, 2(%rdi), %xmm1, %xmm2
3023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_6: ## %else5
3025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, %eax
3026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_8
3028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.load7
3029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, 3(%rdi), %xmm1, %xmm2
3030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_8: ## %else8
3032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, %eax
3033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_10
3035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.load10
3036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, 4(%rdi), %xmm1, %xmm2
3037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_10: ## %else11
3039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, %eax
3040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_12
3042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.load13
3043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, 5(%rdi), %xmm1, %xmm2
3044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_12: ## %else14
3046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, %eax
3047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_14
3049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.load16
3050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, 6(%rdi), %xmm1, %xmm2
3051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_14: ## %else17
3053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, %eax
3054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_16
3056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.load19
3057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, 7(%rdi), %xmm1, %xmm2
3058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_16: ## %else20
3060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, %eax
3061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_18
3063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.load22
3064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, 8(%rdi), %xmm1, %xmm2
3065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_18: ## %else23
3067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, %eax
3068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_20
3070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.load25
3071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, 9(%rdi), %xmm1, %xmm2
3072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_20: ## %else26
3074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, %eax
3075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_22
3077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.load28
3078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, 10(%rdi), %xmm1, %xmm2
3079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_22: ## %else29
3081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, %eax
3082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_24
3084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.load31
3085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, 11(%rdi), %xmm1, %xmm2
3086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_24: ## %else32
3088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, %eax
3089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_26
3091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.load34
3092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, 12(%rdi), %xmm1, %xmm2
3093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_26: ## %else35
3095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm0, %eax
3096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_28
3098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.load37
3099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, 13(%rdi), %xmm1, %xmm2
3100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_28: ## %else38
3102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm0, %eax
3103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_30
3105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.load40
3106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, 14(%rdi), %xmm1, %xmm2
3107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_30: ## %else41
3109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, %eax
3110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_32
3112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.load43
3113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, 15(%rdi), %xmm1, %xmm2
3114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
3115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_32: ## %else44
3116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm2
3117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm2, %eax
3118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_34
3120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#33: ## %cond.load46
3121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $0, 16(%rdi), %xmm3, %xmm3
3123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_34: ## %else47
3125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm2, %eax
3126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_36
3128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#35: ## %cond.load49
3129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, 17(%rdi), %xmm3, %xmm3
3131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_36: ## %else50
3133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm2, %eax
3134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_38
3136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#37: ## %cond.load52
3137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, 18(%rdi), %xmm3, %xmm3
3139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_38: ## %else53
3141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm2, %eax
3142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_40
3144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#39: ## %cond.load55
3145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, 19(%rdi), %xmm3, %xmm3
3147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_40: ## %else56
3149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm2, %eax
3150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_42
3152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#41: ## %cond.load58
3153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, 20(%rdi), %xmm3, %xmm3
3155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_42: ## %else59
3157*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm2, %eax
3158*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3159*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_44
3160*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#43: ## %cond.load61
3161*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3162*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, 21(%rdi), %xmm3, %xmm3
3163*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3164*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_44: ## %else62
3165*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm2, %eax
3166*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3167*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_46
3168*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#45: ## %cond.load64
3169*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3170*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, 22(%rdi), %xmm3, %xmm3
3171*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3172*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_46: ## %else65
3173*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm2, %eax
3174*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3175*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_48
3176*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#47: ## %cond.load67
3177*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3178*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, 23(%rdi), %xmm3, %xmm3
3179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_48: ## %else68
3181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm2, %eax
3182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_50
3184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#49: ## %cond.load70
3185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, 24(%rdi), %xmm3, %xmm3
3187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_50: ## %else71
3189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm2, %eax
3190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_52
3192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#51: ## %cond.load73
3193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, 25(%rdi), %xmm3, %xmm3
3195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_52: ## %else74
3197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm2, %eax
3198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_54
3200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#53: ## %cond.load76
3201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, 26(%rdi), %xmm3, %xmm3
3203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_54: ## %else77
3205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm2, %eax
3206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_56
3208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#55: ## %cond.load79
3209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, 27(%rdi), %xmm3, %xmm3
3211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_56: ## %else80
3213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm2, %eax
3214*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3215*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_58
3216*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#57: ## %cond.load82
3217*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3218*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, 28(%rdi), %xmm3, %xmm3
3219*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3220*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_58: ## %else83
3221*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm2, %eax
3222*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3223*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_60
3224*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#59: ## %cond.load85
3225*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3226*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, 29(%rdi), %xmm3, %xmm3
3227*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3228*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_60: ## %else86
3229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm2, %eax
3230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_62
3232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#61: ## %cond.load88
3233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
3234*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, 30(%rdi), %xmm3, %xmm3
3235*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm3, %ymm1, %ymm1
3236*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_62: ## %else89
3237*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm2, %eax
3238*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
3239*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB51_64
3240*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#63: ## %cond.load91
3241*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
3242*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, 31(%rdi), %xmm2, %xmm2
3243*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
3244*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB51_64: ## %else92
3245*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllw $7, %ymm0, %ymm0
3246*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpand {{.*}}(%rip), %ymm0, %ymm0
3247*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %ymm2, %ymm2, %ymm2
3248*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpgtb %ymm0, %ymm2, %ymm0
3249*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpand %ymm1, %ymm0, %ymm0
3250*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
3251*9880d681SAndroid Build Coastguard Worker;
3252*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_32xi8:
3253*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
3254*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %ymm0, %ymm0
3255*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %ymm0, %k1
3256*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu8 (%rdi), %ymm0 {%k1} {z}
3257*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
3258*9880d681SAndroid Build Coastguard Worker  %res = call <32 x i8> @llvm.masked.load.v32i8.p0v32i8(<32 x i8>* %addr, i32 4, <32 x i1>%mask, <32 x i8> zeroinitializer)
3259*9880d681SAndroid Build Coastguard Worker  ret <32 x i8> %res
3260*9880d681SAndroid Build Coastguard Worker}
3261*9880d681SAndroid Build Coastguard Workerdeclare <32 x i8> @llvm.masked.load.v32i8.p0v32i8(<32 x i8>*, i32, <32 x i1>, <32 x i8>)
3262*9880d681SAndroid Build Coastguard Worker
3263*9880d681SAndroid Build Coastguard Workerdefine <64 x i8> @test_mask_load_64xi8(<64 x i1> %mask, <64 x i8>* %addr, <64 x i8> %val) {
3264*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_64xi8:
3265*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
3266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %rbp
3267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp3:
3268*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 16
3269*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %r15
3270*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp4:
3271*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 24
3272*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %r14
3273*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp5:
3274*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 32
3275*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %r13
3276*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp6:
3277*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 40
3278*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %r12
3279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp7:
3280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 48
3281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %rbx
3282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp8:
3283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 56
3284*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    pushq %rax
3285*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp9:
3286*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_def_cfa_offset 64
3287*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp10:
3288*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_offset %rbx, -56
3289*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp11:
3290*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_offset %r12, -48
3291*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp12:
3292*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_offset %r13, -40
3293*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp13:
3294*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_offset %r14, -32
3295*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp14:
3296*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_offset %r15, -24
3297*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  Ltmp15:
3298*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    .cfi_offset %rbp, -16
3299*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq {{[0-9]+}}(%rsp), %rax
3300*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %edi, %r13d
3301*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dil
3302*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_2
3303*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.load
3304*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl (%rax), %ebp
3305*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %ebp, %xmm9
3306*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_2: ## %else
3307*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %sil
3308*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_4
3309*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.load1
3310*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, 1(%rax), %xmm9, %xmm3
3311*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_4: ## %else2
3313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
3314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_6
3315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.load4
3316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, 2(%rax), %xmm9, %xmm3
3317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_6: ## %else5
3319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
3320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_8
3321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.load7
3322*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, 3(%rax), %xmm9, %xmm3
3323*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3324*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_8: ## %else8
3325*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r8b
3326*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_10
3327*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.load10
3328*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, 4(%rax), %xmm9, %xmm3
3329*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3330*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_10: ## %else11
3331*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %r10b
3332*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r9b
3333*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_12
3334*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.load13
3335*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, 5(%rax), %xmm9, %xmm3
3336*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3337*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_12: ## %else14
3338*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %r11b
3339*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r10b
3340*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_14
3341*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.load16
3342*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, 6(%rax), %xmm9, %xmm3
3343*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3344*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_14: ## %else17
3345*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %r14b
3346*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r11b
3347*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_16
3348*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.load19
3349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, 7(%rax), %xmm9, %xmm3
3350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_16: ## %else20
3352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %r15b
3353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r14b
3354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_18
3355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.load22
3356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, 8(%rax), %xmm9, %xmm3
3357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3358*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_18: ## %else23
3359*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %r12b
3360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r15b
3361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_20
3362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.load25
3363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, 9(%rax), %xmm9, %xmm3
3364*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_20: ## %else26
3366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dil
3367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r12b
3368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_22
3369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.load28
3370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, 10(%rax), %xmm9, %xmm3
3371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_22: ## %else29
3373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %bpl
3374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dil
3375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_24
3376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.load31
3377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, 11(%rax), %xmm9, %xmm3
3378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_24: ## %else32
3380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %bl
3381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %bpl
3382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_26
3383*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.load34
3384*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, 12(%rax), %xmm9, %xmm3
3385*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3386*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_26: ## %else35
3387*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %bl
3388*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_28
3389*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.load37
3390*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, 13(%rax), %xmm9, %xmm3
3391*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_28: ## %else38
3393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_30
3395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.load40
3396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, 14(%rax), %xmm9, %xmm3
3397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_30: ## %else41
3399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3400*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_32
3401*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.load43
3402*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, 15(%rax), %xmm9, %xmm3
3403*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7]
3404*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_32: ## %else44
3405*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3406*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_34
3407*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#33: ## %cond.load46
3408*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3409*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $0, 16(%rax), %xmm3, %xmm3
3410*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3411*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_34: ## %else47
3412*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3413*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_36
3414*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#35: ## %cond.load49
3415*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3416*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, 17(%rax), %xmm3, %xmm3
3417*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3418*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_36: ## %else50
3419*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3420*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_38
3421*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#37: ## %cond.load52
3422*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3423*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, 18(%rax), %xmm3, %xmm3
3424*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3425*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_38: ## %else53
3426*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3427*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_40
3428*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#39: ## %cond.load55
3429*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3430*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, 19(%rax), %xmm3, %xmm3
3431*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3432*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_40: ## %else56
3433*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3434*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_42
3435*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#41: ## %cond.load58
3436*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3437*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, 20(%rax), %xmm3, %xmm3
3438*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3439*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_42: ## %else59
3440*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3441*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_44
3442*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#43: ## %cond.load61
3443*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3444*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, 21(%rax), %xmm3, %xmm3
3445*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3446*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_44: ## %else62
3447*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3448*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_46
3449*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#45: ## %cond.load64
3450*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3451*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, 22(%rax), %xmm3, %xmm3
3452*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3453*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_46: ## %else65
3454*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3455*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_48
3456*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#47: ## %cond.load67
3457*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3458*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, 23(%rax), %xmm3, %xmm3
3459*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3460*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_48: ## %else68
3461*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3462*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_50
3463*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#49: ## %cond.load70
3464*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3465*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, 24(%rax), %xmm3, %xmm3
3466*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3467*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_50: ## %else71
3468*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3469*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_52
3470*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#51: ## %cond.load73
3471*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3472*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, 25(%rax), %xmm3, %xmm3
3473*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3474*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_52: ## %else74
3475*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3476*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_54
3477*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#53: ## %cond.load76
3478*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3479*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, 26(%rax), %xmm3, %xmm3
3480*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3481*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_54: ## %else77
3482*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3483*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_56
3484*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#55: ## %cond.load79
3485*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3486*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, 27(%rax), %xmm3, %xmm3
3487*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3488*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_56: ## %else80
3489*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3490*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_58
3491*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#57: ## %cond.load82
3492*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3493*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, 28(%rax), %xmm3, %xmm3
3494*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3495*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_58: ## %else83
3496*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3497*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_60
3498*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#59: ## %cond.load85
3499*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3500*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, 29(%rax), %xmm3, %xmm3
3501*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3502*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_60: ## %else86
3503*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3504*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_62
3505*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#61: ## %cond.load88
3506*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3507*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, 30(%rax), %xmm3, %xmm3
3508*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3509*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_62: ## %else89
3510*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3511*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_64
3512*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#63: ## %cond.load91
3513*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm9, %xmm3
3514*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, 31(%rax), %xmm3, %xmm3
3515*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm9, %ymm9
3516*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_64: ## %else92
3517*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3518*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_66
3519*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#65: ## %cond.load94
3520*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $0, 32(%rax), %xmm0, %xmm3
3521*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7]
3522*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_66: ## %else95
3523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_68
3525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#67: ## %cond.load97
3526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, 33(%rax), %xmm3, %xmm4
3527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_68: ## %else98
3529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3530*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_70
3531*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#69: ## %cond.load100
3532*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, 34(%rax), %xmm3, %xmm4
3533*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3534*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_70: ## %else101
3535*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3536*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_72
3537*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#71: ## %cond.load103
3538*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, 35(%rax), %xmm3, %xmm4
3539*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3540*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_72: ## %else104
3541*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3542*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_74
3543*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#73: ## %cond.load106
3544*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, 36(%rax), %xmm3, %xmm4
3545*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3546*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_74: ## %else107
3547*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3548*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_76
3549*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#75: ## %cond.load109
3550*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, 37(%rax), %xmm3, %xmm4
3551*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3552*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_76: ## %else110
3553*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3554*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_78
3555*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#77: ## %cond.load112
3556*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, 38(%rax), %xmm3, %xmm4
3557*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3558*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_78: ## %else113
3559*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3560*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_80
3561*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#79: ## %cond.load115
3562*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, 39(%rax), %xmm3, %xmm4
3563*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3564*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_80: ## %else116
3565*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3566*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_82
3567*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#81: ## %cond.load118
3568*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, 40(%rax), %xmm3, %xmm4
3569*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3570*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_82: ## %else119
3571*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3572*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_84
3573*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#83: ## %cond.load121
3574*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, 41(%rax), %xmm3, %xmm4
3575*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3576*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_84: ## %else122
3577*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3578*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_86
3579*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#85: ## %cond.load124
3580*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, 42(%rax), %xmm3, %xmm4
3581*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3582*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_86: ## %else125
3583*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3584*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_88
3585*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#87: ## %cond.load127
3586*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, 43(%rax), %xmm3, %xmm4
3587*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3588*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_88: ## %else128
3589*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3590*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_90
3591*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#89: ## %cond.load130
3592*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, 44(%rax), %xmm3, %xmm4
3593*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3594*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_90: ## %else131
3595*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3596*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_92
3597*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#91: ## %cond.load133
3598*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, 45(%rax), %xmm3, %xmm4
3599*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3600*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_92: ## %else134
3601*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3602*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_94
3603*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#93: ## %cond.load136
3604*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, 46(%rax), %xmm3, %xmm4
3605*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3606*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_94: ## %else137
3607*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3608*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_96
3609*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#95: ## %cond.load139
3610*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, 47(%rax), %xmm3, %xmm4
3611*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
3612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_96: ## %else140
3613*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3614*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_98
3615*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#97: ## %cond.load142
3616*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3617*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $0, 48(%rax), %xmm4, %xmm4
3618*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3619*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_98: ## %else143
3620*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3621*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_100
3622*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#99: ## %cond.load145
3623*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3624*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, 49(%rax), %xmm4, %xmm4
3625*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3626*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_100: ## %else146
3627*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3628*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_102
3629*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#101: ## %cond.load148
3630*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3631*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, 50(%rax), %xmm4, %xmm4
3632*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3633*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_102: ## %else149
3634*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3635*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_104
3636*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#103: ## %cond.load151
3637*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3638*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, 51(%rax), %xmm4, %xmm4
3639*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3640*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_104: ## %else152
3641*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3642*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_106
3643*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#105: ## %cond.load154
3644*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3645*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, 52(%rax), %xmm4, %xmm4
3646*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_106: ## %else155
3648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_108
3650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#107: ## %cond.load157
3651*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3652*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, 53(%rax), %xmm4, %xmm4
3653*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3654*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_108: ## %else158
3655*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3656*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_110
3657*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#109: ## %cond.load160
3658*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3659*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, 54(%rax), %xmm4, %xmm4
3660*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3661*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_110: ## %else161
3662*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3663*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_112
3664*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#111: ## %cond.load163
3665*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3666*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, 55(%rax), %xmm4, %xmm4
3667*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3668*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_112: ## %else164
3669*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3670*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_114
3671*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#113: ## %cond.load166
3672*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3673*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, 56(%rax), %xmm4, %xmm4
3674*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3675*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_114: ## %else167
3676*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3677*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_116
3678*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#115: ## %cond.load169
3679*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3680*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, 57(%rax), %xmm4, %xmm4
3681*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3682*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_116: ## %else170
3683*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3684*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_118
3685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#117: ## %cond.load172
3686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, 58(%rax), %xmm4, %xmm4
3688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_118: ## %else173
3690*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3691*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_120
3692*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#119: ## %cond.load175
3693*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3694*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, 59(%rax), %xmm4, %xmm4
3695*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3696*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_120: ## %else176
3697*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3698*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_122
3699*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#121: ## %cond.load178
3700*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3701*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, 60(%rax), %xmm4, %xmm4
3702*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3703*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_122: ## %else179
3704*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3705*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_124
3706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#123: ## %cond.load181
3707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, 61(%rax), %xmm4, %xmm4
3709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_124: ## %else182
3711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_126
3713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#125: ## %cond.load184
3714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, 62(%rax), %xmm4, %xmm4
3716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_126: ## %else185
3718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, {{[0-9]+}}(%rsp)
3719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %r9d, {{[0-9]+}}(%rsp) ## 4-byte Spill
3720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %r8d, (%rsp) ## 4-byte Spill
3721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %edx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %esi, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB52_128
3725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#127: ## %cond.load187
3726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
3727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, 63(%rax), %xmm4, %xmm4
3728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
3729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB52_128: ## %else188
3730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %r10b, %eax
3731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %r11b, %eax
3733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %r14b, %eax
3735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %r15b, %eax
3737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %r12b, %eax
3739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %dil, %eax
3741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %bpl, %eax
3743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %bl, %eax
3745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3751*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3752*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3753*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3754*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3755*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3756*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3757*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3758*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3759*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3760*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3761*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3762*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3763*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3764*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3765*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3766*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3767*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3768*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3769*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3770*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3771*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3772*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3773*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3774*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3775*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r12d
3787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r15d
3788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r14d
3789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r11d
3790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r8d
3791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %edx
3792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
3794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %esi
3795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r9d
3796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r10d
3797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebx
3798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %r13b, %r13d
3799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %r13d, %xmm4
3800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl -{{[0-9]+}}(%rsp), %edi ## 4-byte Reload
3801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %dil, %ebp
3802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, %ebp, %xmm4, %xmm4
3803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
3804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %bpl, %ebp
3805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, %ebp, %xmm4, %xmm4
3806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
3807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %bpl, %ebp
3808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, %ebp, %xmm4, %xmm4
3809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl (%rsp), %ebp ## 4-byte Reload
3810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %bpl, %ebp
3811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, %ebp, %xmm4, %xmm4
3812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movl {{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
3813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl %bpl, %ebp
3814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, %ebp, %xmm4, %xmm4
3815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
3825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd -{{[0-9]+}}(%rsp), %xmm5 ## 4-byte Folded Reload
3826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    ## xmm5 = mem[0],zero,zero,zero
3827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
3841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm5, %xmm8 ## 4-byte Folded Reload
3842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd -{{[0-9]+}}(%rsp), %xmm6 ## 4-byte Folded Reload
3843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    ## xmm6 = mem[0],zero,zero,zero
3844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
3845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, %r12d, %xmm6, %xmm6
3846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, %r15d, %xmm6, %xmm6
3847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, %r14d, %xmm6, %xmm6
3848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, %r11d, %xmm6, %xmm6
3849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, %r8d, %xmm6, %xmm6
3850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, %edx, %xmm6, %xmm6
3851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, %eax, %xmm6, %xmm6
3852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r13d
3853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r14d
3854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, %ecx, %xmm6, %xmm6
3855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r11d
3856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %edi
3857*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, %esi, %xmm6, %xmm6
3858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r15d
3859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r12d
3860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, %r9d, %xmm6, %xmm6
3861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r8d
3862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
3863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, %r10d, %xmm6, %xmm6
3864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r9d
3865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %esi
3866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, %ebx, %xmm6, %xmm6
3867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r10d
3868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
3869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, %r13d, %xmm6, %xmm6
3870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r13d
3871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %edx
3872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, %r14d, %xmm6, %xmm10
3873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %r14d
3874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebx
3875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %edi, %xmm7
3876*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %edi
3877*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebp
3878*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $1, %r11d, %xmm7, %xmm7
3879*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $2, %r15d, %xmm7, %xmm7
3880*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $3, %r12d, %xmm7, %xmm7
3881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $4, %r8d, %xmm7, %xmm7
3882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $5, %ecx, %xmm7, %xmm7
3883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $6, %r9d, %xmm7, %xmm7
3884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $7, %esi, %xmm7, %xmm7
3885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $8, %r10d, %xmm7, %xmm7
3886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $9, %eax, %xmm7, %xmm7
3887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $10, %r13d, %xmm7, %xmm7
3888*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $11, %edx, %xmm7, %xmm7
3889*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $12, %r14d, %xmm7, %xmm7
3890*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $13, %ebx, %xmm7, %xmm7
3891*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $14, %edi, %xmm7, %xmm7
3892*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrb $15, %ebp, %xmm7, %xmm7
3893*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $7, %xmm4, %xmm4
3894*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128]
3895*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm4, %xmm4
3896*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm2, %xmm2, %xmm2
3897*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm4, %xmm2, %xmm4
3898*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $7, %xmm8, %xmm6
3899*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm6, %xmm6
3900*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm6, %xmm2, %xmm6
3901*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm4, %ymm4
3902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandnps %ymm0, %ymm4, %ymm0
3903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %ymm4, %ymm9, %ymm4
3904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vorps %ymm0, %ymm4, %ymm0
3905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $7, %xmm10, %xmm4
3906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm4, %xmm4
3907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm4, %xmm2, %xmm4
3908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $7, %xmm7, %xmm6
3909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm6, %xmm5
3910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm5, %xmm2, %xmm2
3911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm4, %ymm2
3912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandnps %ymm1, %ymm2, %ymm1
3913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %ymm2, %ymm3, %ymm2
3914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vorps %ymm1, %ymm2, %ymm1
3915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    addq $8, %rsp
3916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    popq %rbx
3917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    popq %r12
3918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    popq %r13
3919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    popq %r14
3920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    popq %r15
3921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    popq %rbp
3922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
3923*9880d681SAndroid Build Coastguard Worker;
3924*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_64xi8:
3925*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
3926*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %rbp
3927*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp3:
3928*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 16
3929*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %r15
3930*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp4:
3931*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 24
3932*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %r14
3933*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp5:
3934*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 32
3935*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %r13
3936*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp6:
3937*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 40
3938*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %r12
3939*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp7:
3940*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 48
3941*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %rbx
3942*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp8:
3943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 56
3944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    pushq %rax
3945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp9:
3946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_def_cfa_offset 64
3947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp10:
3948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_offset %rbx, -56
3949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp11:
3950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_offset %r12, -48
3951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp12:
3952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_offset %r13, -40
3953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp13:
3954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_offset %r14, -32
3955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp14:
3956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_offset %r15, -24
3957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  Ltmp15:
3958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    .cfi_offset %rbp, -16
3959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax
3960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %edi, -{{[0-9]+}}(%rsp) ## 4-byte Spill
3961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dil
3962*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_2
3963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.load
3964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl (%rax), %ebp
3965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %ebp, %xmm2
3966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_2: ## %else
3967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %sil
3968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_4
3969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.load1
3970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, 1(%rax), %xmm2, %xmm3
3971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
3972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_4: ## %else2
3973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
3974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_6
3975*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.load4
3976*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, 2(%rax), %xmm2, %xmm3
3977*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
3978*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_6: ## %else5
3979*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
3980*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_8
3981*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.load7
3982*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, 3(%rax), %xmm2, %xmm3
3983*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
3984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_8: ## %else8
3985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r8b
3986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_10
3987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.load10
3988*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, 4(%rax), %xmm2, %xmm3
3989*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
3990*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_10: ## %else11
3991*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %r10b
3992*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r9b
3993*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_12
3994*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.load13
3995*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, 5(%rax), %xmm2, %xmm3
3996*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
3997*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_12: ## %else14
3998*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %r11b
3999*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r10b
4000*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_14
4001*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.load16
4002*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, 6(%rax), %xmm2, %xmm3
4003*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4004*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_14: ## %else17
4005*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r11b
4006*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_16
4007*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.load19
4008*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, 7(%rax), %xmm2, %xmm3
4009*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4010*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_16: ## %else20
4011*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4012*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_18
4013*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.load22
4014*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, 8(%rax), %xmm2, %xmm3
4015*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4016*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_18: ## %else23
4017*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4018*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_20
4019*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.load25
4020*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, 9(%rax), %xmm2, %xmm3
4021*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4022*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_20: ## %else26
4023*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4024*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_22
4025*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.load28
4026*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, 10(%rax), %xmm2, %xmm3
4027*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4028*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_22: ## %else29
4029*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %bpl
4030*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4031*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_24
4032*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.load31
4033*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, 11(%rax), %xmm2, %xmm3
4034*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4035*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_24: ## %else32
4036*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %bl
4037*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %bpl
4038*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_26
4039*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.load34
4040*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, 12(%rax), %xmm2, %xmm3
4041*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4042*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_26: ## %else35
4043*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %r14b
4044*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %bl
4045*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_28
4046*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.load37
4047*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, 13(%rax), %xmm2, %xmm3
4048*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4049*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_28: ## %else38
4050*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r14b
4051*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_30
4052*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.load40
4053*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, 14(%rax), %xmm2, %xmm3
4054*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4055*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_30: ## %else41
4056*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %r13b
4057*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4058*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_32
4059*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.load43
4060*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, 15(%rax), %xmm2, %xmm3
4061*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]
4062*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_32: ## %else44
4063*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %r12b
4064*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r13b
4065*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_34
4066*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#33: ## %cond.load46
4067*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4068*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $0, 16(%rax), %xmm3, %xmm3
4069*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4070*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_34: ## %else47
4071*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %r15b
4072*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r12b
4073*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_36
4074*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#35: ## %cond.load49
4075*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4076*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, 17(%rax), %xmm3, %xmm3
4077*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4078*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_36: ## %else50
4079*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r15b
4080*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_38
4081*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#37: ## %cond.load52
4082*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4083*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, 18(%rax), %xmm3, %xmm3
4084*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4085*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_38: ## %else53
4086*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4087*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_40
4088*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#39: ## %cond.load55
4089*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4090*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, 19(%rax), %xmm3, %xmm3
4091*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4092*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_40: ## %else56
4093*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4094*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_42
4095*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#41: ## %cond.load58
4096*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4097*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, 20(%rax), %xmm3, %xmm3
4098*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4099*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_42: ## %else59
4100*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4101*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_44
4102*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#43: ## %cond.load61
4103*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4104*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, 21(%rax), %xmm3, %xmm3
4105*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4106*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_44: ## %else62
4107*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4108*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_46
4109*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#45: ## %cond.load64
4110*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4111*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, 22(%rax), %xmm3, %xmm3
4112*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4113*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_46: ## %else65
4114*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4115*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_48
4116*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#47: ## %cond.load67
4117*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4118*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, 23(%rax), %xmm3, %xmm3
4119*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4120*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_48: ## %else68
4121*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4122*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_50
4123*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#49: ## %cond.load70
4124*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4125*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, 24(%rax), %xmm3, %xmm3
4126*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4127*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_50: ## %else71
4128*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4129*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_52
4130*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#51: ## %cond.load73
4131*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4132*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, 25(%rax), %xmm3, %xmm3
4133*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4134*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_52: ## %else74
4135*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4136*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_54
4137*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#53: ## %cond.load76
4138*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4139*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, 26(%rax), %xmm3, %xmm3
4140*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_54: ## %else77
4142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_56
4144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#55: ## %cond.load79
4145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, 27(%rax), %xmm3, %xmm3
4147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_56: ## %else80
4149*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4150*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_58
4151*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#57: ## %cond.load82
4152*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4153*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, 28(%rax), %xmm3, %xmm3
4154*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4155*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_58: ## %else83
4156*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4157*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_60
4158*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#59: ## %cond.load85
4159*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4160*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, 29(%rax), %xmm3, %xmm3
4161*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4162*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_60: ## %else86
4163*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4164*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_62
4165*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#61: ## %cond.load88
4166*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4167*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, 30(%rax), %xmm3, %xmm3
4168*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4169*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_62: ## %else89
4170*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4171*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_64
4172*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#63: ## %cond.load91
4173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
4174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, 31(%rax), %xmm3, %xmm3
4175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4176*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_64: ## %else92
4177*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4178*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_66
4179*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#65: ## %cond.load94
4180*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $0, 32(%rax), %xmm0, %xmm3
4181*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7]
4182*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_66: ## %else95
4183*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4184*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_68
4185*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#67: ## %cond.load97
4186*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, 33(%rax), %xmm3, %xmm4
4187*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4188*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_68: ## %else98
4189*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4190*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_70
4191*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#69: ## %cond.load100
4192*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, 34(%rax), %xmm3, %xmm4
4193*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4194*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_70: ## %else101
4195*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4196*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_72
4197*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#71: ## %cond.load103
4198*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, 35(%rax), %xmm3, %xmm4
4199*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4200*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_72: ## %else104
4201*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4202*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_74
4203*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#73: ## %cond.load106
4204*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, 36(%rax), %xmm3, %xmm4
4205*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4206*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_74: ## %else107
4207*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4208*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_76
4209*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#75: ## %cond.load109
4210*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, 37(%rax), %xmm3, %xmm4
4211*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4212*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_76: ## %else110
4213*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4214*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_78
4215*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#77: ## %cond.load112
4216*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, 38(%rax), %xmm3, %xmm4
4217*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4218*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_78: ## %else113
4219*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4220*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_80
4221*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#79: ## %cond.load115
4222*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, 39(%rax), %xmm3, %xmm4
4223*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4224*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_80: ## %else116
4225*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4226*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_82
4227*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#81: ## %cond.load118
4228*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, 40(%rax), %xmm3, %xmm4
4229*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4230*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_82: ## %else119
4231*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4232*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_84
4233*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#83: ## %cond.load121
4234*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, 41(%rax), %xmm3, %xmm4
4235*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4236*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_84: ## %else122
4237*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4238*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_86
4239*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#85: ## %cond.load124
4240*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, 42(%rax), %xmm3, %xmm4
4241*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4242*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_86: ## %else125
4243*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4244*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_88
4245*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#87: ## %cond.load127
4246*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, 43(%rax), %xmm3, %xmm4
4247*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4248*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_88: ## %else128
4249*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4250*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_90
4251*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#89: ## %cond.load130
4252*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, 44(%rax), %xmm3, %xmm4
4253*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4254*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_90: ## %else131
4255*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4256*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_92
4257*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#91: ## %cond.load133
4258*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, 45(%rax), %xmm3, %xmm4
4259*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4260*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_92: ## %else134
4261*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4262*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_94
4263*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#93: ## %cond.load136
4264*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, 46(%rax), %xmm3, %xmm4
4265*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4266*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_94: ## %else137
4267*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4268*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_96
4269*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#95: ## %cond.load139
4270*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, 47(%rax), %xmm3, %xmm4
4271*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
4272*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_96: ## %else140
4273*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4274*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_98
4275*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#97: ## %cond.load142
4276*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4277*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $0, 48(%rax), %xmm4, %xmm4
4278*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4279*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_98: ## %else143
4280*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4281*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_100
4282*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#99: ## %cond.load145
4283*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4284*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, 49(%rax), %xmm4, %xmm4
4285*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4286*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_100: ## %else146
4287*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4288*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_102
4289*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#101: ## %cond.load148
4290*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4291*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, 50(%rax), %xmm4, %xmm4
4292*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4293*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_102: ## %else149
4294*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4295*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_104
4296*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#103: ## %cond.load151
4297*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4298*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, 51(%rax), %xmm4, %xmm4
4299*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4300*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_104: ## %else152
4301*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4302*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_106
4303*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#105: ## %cond.load154
4304*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4305*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, 52(%rax), %xmm4, %xmm4
4306*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4307*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_106: ## %else155
4308*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4309*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_108
4310*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#107: ## %cond.load157
4311*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4312*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, 53(%rax), %xmm4, %xmm4
4313*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4314*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_108: ## %else158
4315*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4316*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_110
4317*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#109: ## %cond.load160
4318*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4319*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, 54(%rax), %xmm4, %xmm4
4320*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4321*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_110: ## %else161
4322*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4323*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_112
4324*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#111: ## %cond.load163
4325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, 55(%rax), %xmm4, %xmm4
4327*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4328*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_112: ## %else164
4329*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4330*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_114
4331*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#113: ## %cond.load166
4332*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4333*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, 56(%rax), %xmm4, %xmm4
4334*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4335*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_114: ## %else167
4336*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4337*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_116
4338*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#115: ## %cond.load169
4339*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4340*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, 57(%rax), %xmm4, %xmm4
4341*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4342*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_116: ## %else170
4343*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4344*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_118
4345*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#117: ## %cond.load172
4346*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4347*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, 58(%rax), %xmm4, %xmm4
4348*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4349*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_118: ## %else173
4350*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4351*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_120
4352*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#119: ## %cond.load175
4353*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4354*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, 59(%rax), %xmm4, %xmm4
4355*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4356*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_120: ## %else176
4357*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4358*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_122
4359*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#121: ## %cond.load178
4360*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4361*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, 60(%rax), %xmm4, %xmm4
4362*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4363*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_122: ## %else179
4364*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4365*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_124
4366*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#123: ## %cond.load181
4367*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4368*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, 61(%rax), %xmm4, %xmm4
4369*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4370*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_124: ## %else182
4371*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4372*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    jne LBB52_126
4373*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#125:
4374*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rax, %rdi
4375*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    jmp LBB52_127
4376*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_126: ## %cond.load184
4377*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4378*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rax, %rdi
4379*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, 62(%rax), %xmm4, %xmm4
4380*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4381*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_127: ## %else185
4382*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ebp, %eax
4383*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, {{[0-9]+}}(%rsp)
4384*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %r9d, {{[0-9]+}}(%rsp) ## 4-byte Spill
4385*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %r8d, (%rsp) ## 4-byte Spill
4386*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4387*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %edx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4388*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %esi, %ebp
4389*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB52_129
4390*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#128: ## %cond.load187
4391*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
4392*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, 63(%rdi), %xmm4, %xmm4
4393*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
4394*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB52_129: ## %else188
4395*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %r10b, %ecx
4396*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4397*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %r11b, %ecx
4398*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4399*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
4400*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4401*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
4402*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
4404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
4406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %al, %eax
4408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %bl, %eax
4410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %r14b, %eax
4412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %r12b, %eax
4416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %r13b, %eax
4418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %r15b, %eax
4420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r12d
4450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r15d
4451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r14d
4452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebx
4453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r11d
4454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r9d
4455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %esi
4456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
4458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %edx
4459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r8d
4460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r10d
4461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %edi
4462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl %edi, -{{[0-9]+}}(%rsp) ## 4-byte Spill
4463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl -{{[0-9]+}}(%rsp), %edi ## 4-byte Reload
4464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %dil, %r13d
4465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %r13d, %xmm4
4466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %bpl, %ebp
4467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, %ebp, %xmm4, %xmm4
4468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
4469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %bpl, %ebp
4470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, %ebp, %xmm4, %xmm4
4471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
4472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %bpl, %ebp
4473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, %ebp, %xmm4, %xmm4
4474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl (%rsp), %ebp ## 4-byte Reload
4475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %bpl, %ebp
4476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, %ebp, %xmm4, %xmm4
4477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movl {{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
4478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl %bpl, %ebp
4479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, %ebp, %xmm4, %xmm4
4480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload
4490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd -{{[0-9]+}}(%rsp), %xmm5 ## 4-byte Folded Reload
4491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    ## xmm5 = mem[0],zero,zero,zero
4492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload
4507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %r12d, %xmm6
4508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
4509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, %r15d, %xmm6, %xmm6
4510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, %r14d, %xmm6, %xmm6
4511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, %ebx, %xmm6, %xmm6
4512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, %r11d, %xmm6, %xmm6
4513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, %r9d, %xmm6, %xmm6
4514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, %esi, %xmm6, %xmm6
4515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, %eax, %xmm6, %xmm6
4516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r15d
4518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, %ecx, %xmm6, %xmm6
4519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r9d
4520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r12d
4521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, %edx, %xmm6, %xmm6
4522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r11d
4523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r14d
4524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, %r8d, %xmm6, %xmm6
4525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r13d
4526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ecx
4527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, %r10d, %xmm6, %xmm6
4528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r8d
4529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebx
4530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
4531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r10d
4532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebp
4533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, %eax, %xmm6, %xmm6
4534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %eax
4535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %edi
4536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, %r15d, %xmm6, %xmm6
4537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r15d
4538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %esi
4539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %r12d, %xmm7
4540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %r12d
4541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzbl {{[0-9]+}}(%rsp), %edx
4542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $1, %r9d, %xmm7, %xmm7
4543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $2, %r11d, %xmm7, %xmm7
4544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $3, %r14d, %xmm7, %xmm7
4545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $4, %r13d, %xmm7, %xmm7
4546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $5, %ecx, %xmm7, %xmm7
4547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $6, %r8d, %xmm7, %xmm7
4548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $7, %ebx, %xmm7, %xmm7
4549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $8, %r10d, %xmm7, %xmm7
4550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $9, %ebp, %xmm7, %xmm7
4551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $10, %eax, %xmm7, %xmm7
4552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $11, %edi, %xmm7, %xmm7
4553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $12, %r15d, %xmm7, %xmm7
4554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $13, %esi, %xmm7, %xmm7
4555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $14, %r12d, %xmm7, %xmm7
4556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrb $15, %edx, %xmm7, %xmm7
4557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm4, %ymm4
4558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsllw $7, %ymm4, %ymm4
4559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm5 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128]
4560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpand %ymm5, %ymm4, %ymm4
4561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendvb %ymm4, %ymm2, %ymm0, %ymm0
4562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm7, %ymm6, %ymm2
4563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsllw $7, %ymm2, %ymm2
4564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpand %ymm5, %ymm2, %ymm2
4565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendvb %ymm2, %ymm3, %ymm1, %ymm1
4566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    addq $8, %rsp
4567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    popq %rbx
4568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    popq %r12
4569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    popq %r13
4570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    popq %r14
4571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    popq %r15
4572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    popq %rbp
4573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
4574*9880d681SAndroid Build Coastguard Worker;
4575*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_64xi8:
4576*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
4577*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    pushq %rbp
4578*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp0:
4579*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_def_cfa_offset 16
4580*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    pushq %r15
4581*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp1:
4582*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_def_cfa_offset 24
4583*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    pushq %r14
4584*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp2:
4585*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_def_cfa_offset 32
4586*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    pushq %r13
4587*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp3:
4588*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_def_cfa_offset 40
4589*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    pushq %r12
4590*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp4:
4591*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_def_cfa_offset 48
4592*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    pushq %rbx
4593*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp5:
4594*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_def_cfa_offset 56
4595*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    subq $76, %rsp
4596*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp6:
4597*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_def_cfa_offset 132
4598*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp7:
4599*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_offset %rbx, -56
4600*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp8:
4601*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_offset %r12, -48
4602*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp9:
4603*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_offset %r13, -40
4604*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp10:
4605*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_offset %r14, -32
4606*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp11:
4607*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_offset %r15, -24
4608*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  Ltmp12:
4609*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    .cfi_offset %rbp, -16
4610*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
4611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
4612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k0
4613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k0, %k1
4614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_2
4619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.load
4620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movzbl (%rdi), %eax
4621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %eax, %xmm0
4622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_2: ## %else
4623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k0, %k1
4624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_4
4629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.load1
4630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, 1(%rdi), %xmm0, %xmm6
4631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_4: ## %else2
4633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k0, %k1
4634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_6
4639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.load4
4640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, 2(%rdi), %xmm0, %xmm6
4641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_6: ## %else5
4643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k0, %k1
4644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_8
4649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.load7
4650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, 3(%rdi), %xmm0, %xmm6
4651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_8: ## %else8
4653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k0, %k1
4654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_10
4659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.load10
4660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, 4(%rdi), %xmm0, %xmm6
4661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_10: ## %else11
4663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k0, %k1
4664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_12
4669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.load13
4670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, 5(%rdi), %xmm0, %xmm6
4671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_12: ## %else14
4673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k0, %k1
4674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_14
4679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.load16
4680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, 6(%rdi), %xmm0, %xmm6
4681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_14: ## %else17
4683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k1
4684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_16
4689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.load19
4690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, 7(%rdi), %xmm0, %xmm6
4691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_16: ## %else20
4693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k0, %k1
4694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_18
4699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.load22
4700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, 8(%rdi), %xmm0, %xmm6
4701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_18: ## %else23
4703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k0, %k1
4704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, (%rsp) ## 2-byte Folded Spill
4706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_20
4709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.load25
4710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, 9(%rdi), %xmm0, %xmm6
4711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_20: ## %else26
4713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k0, %k1
4714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_22
4719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.load28
4720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, 10(%rdi), %xmm0, %xmm6
4721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_22: ## %else29
4723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k0, %k1
4724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_24
4729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.load31
4730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, 11(%rdi), %xmm0, %xmm6
4731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_24: ## %else32
4733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k0, %k1
4734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_26
4739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.load34
4740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, 12(%rdi), %xmm0, %xmm6
4741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_26: ## %else35
4743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm1, %zmm1
4744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k0, %k1
4745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_28
4750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.load37
4751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, 13(%rdi), %xmm0, %xmm6
4752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_28: ## %else38
4754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm1, %zmm1
4755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k0, %k1
4756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_30
4761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.load40
4762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, 14(%rdi), %xmm0, %xmm6
4763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]
4764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_30: ## %else41
4765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm1, %zmm1, %k1
4766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k0, %k0
4767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_32
4772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.load43
4773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, 15(%rdi), %xmm0, %xmm1
4774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
4775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_32: ## %else44
4776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k1, %k0
4777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_34
4782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#33: ## %cond.load46
4783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $0, 16(%rdi), %xmm1, %xmm1
4785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_34: ## %else47
4787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k1, %k0
4788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_36
4793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#35: ## %cond.load49
4794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, 17(%rdi), %xmm1, %xmm1
4796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_36: ## %else50
4798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k1, %k0
4799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_38
4804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#37: ## %cond.load52
4805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, 18(%rdi), %xmm1, %xmm1
4807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_38: ## %else53
4809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k1, %k0
4810*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4811*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4812*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4813*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4814*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_40
4815*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#39: ## %cond.load55
4816*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4817*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, 19(%rdi), %xmm1, %xmm1
4818*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4819*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_40: ## %else56
4820*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k1, %k0
4821*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4822*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4823*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4824*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4825*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_42
4826*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#41: ## %cond.load58
4827*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4828*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, 20(%rdi), %xmm1, %xmm1
4829*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4830*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_42: ## %else59
4831*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k1, %k0
4832*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4833*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4834*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4835*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4836*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_44
4837*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#43: ## %cond.load61
4838*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4839*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, 21(%rdi), %xmm1, %xmm1
4840*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4841*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_44: ## %else62
4842*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k1, %k0
4843*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4844*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4845*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4846*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4847*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_46
4848*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#45: ## %cond.load64
4849*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4850*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, 22(%rdi), %xmm1, %xmm1
4851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_46: ## %else65
4853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k1, %k0
4854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_48
4859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#47: ## %cond.load67
4860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4861*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, 23(%rdi), %xmm1, %xmm1
4862*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4863*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_48: ## %else68
4864*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k1, %k0
4865*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4866*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4867*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4868*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4869*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_50
4870*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#49: ## %cond.load70
4871*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4872*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, 24(%rdi), %xmm1, %xmm1
4873*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_50: ## %else71
4875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k1, %k0
4876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_52
4881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#51: ## %cond.load73
4882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4883*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, 25(%rdi), %xmm1, %xmm1
4884*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4885*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_52: ## %else74
4886*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k1, %k0
4887*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4888*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4889*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4890*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4891*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_54
4892*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#53: ## %cond.load76
4893*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4894*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, 26(%rdi), %xmm1, %xmm1
4895*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4896*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_54: ## %else77
4897*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k1, %k0
4898*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4899*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4900*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_56
4903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#55: ## %cond.load79
4904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, 27(%rdi), %xmm1, %xmm1
4906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_56: ## %else80
4908*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k1, %k0
4909*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4910*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4911*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4912*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4913*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_58
4914*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#57: ## %cond.load82
4915*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4916*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, 28(%rdi), %xmm1, %xmm1
4917*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4918*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_58: ## %else83
4919*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm2, %zmm1
4920*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k1, %k0
4921*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4922*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4923*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4924*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4925*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_60
4926*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#59: ## %cond.load85
4927*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm2
4928*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, 29(%rdi), %xmm2, %xmm2
4929*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm0
4930*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_60: ## %else86
4931*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm1, %zmm1
4932*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k1, %k0
4933*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
4934*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4935*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
4936*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4937*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_62
4938*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#61: ## %cond.load88
4939*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm2
4940*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, 30(%rdi), %xmm2, %xmm2
4941*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm0
4942*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_62: ## %else89
4943*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm1, %zmm1, %k0
4944*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k1, %k1
4945*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4946*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4947*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4948*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4949*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_64
4950*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#63: ## %cond.load91
4951*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
4952*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, 31(%rdi), %xmm1, %xmm1
4953*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4954*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_64: ## %else92
4955*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k0, %k1
4956*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4957*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4958*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4959*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4960*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_66
4961*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#65: ## %cond.load94
4962*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $0, 32(%rdi), %xmm0, %xmm1
4963*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm0[4,5,6,7]
4964*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_66: ## %else95
4965*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k0, %k1
4966*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4967*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4968*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4969*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4970*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_68
4971*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#67: ## %cond.load97
4972*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, 33(%rdi), %xmm1, %xmm2
4973*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
4974*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_68: ## %else98
4975*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k0, %k1
4976*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4977*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_70
4981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#69: ## %cond.load100
4982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, 34(%rdi), %xmm1, %xmm2
4983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
4984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_70: ## %else101
4985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k0, %k1
4986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4987*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4988*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4989*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
4990*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_72
4991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#71: ## %cond.load103
4992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, 35(%rdi), %xmm1, %xmm2
4993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
4994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_72: ## %else104
4995*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k0, %k1
4996*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
4997*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
4998*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
4999*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5000*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_74
5001*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#73: ## %cond.load106
5002*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, 36(%rdi), %xmm1, %xmm2
5003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_74: ## %else107
5005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k0, %k1
5006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_76
5011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#75: ## %cond.load109
5012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, 37(%rdi), %xmm1, %xmm2
5013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_76: ## %else110
5015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k0, %k1
5016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_78
5021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#77: ## %cond.load112
5022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, 38(%rdi), %xmm1, %xmm2
5023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_78: ## %else113
5025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k1
5026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_80
5031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#79: ## %cond.load115
5032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, 39(%rdi), %xmm1, %xmm2
5033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_80: ## %else116
5035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k0, %k1
5036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_82
5041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#81: ## %cond.load118
5042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, 40(%rdi), %xmm1, %xmm2
5043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_82: ## %else119
5045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k0, %k1
5046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_84
5051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#83: ## %cond.load121
5052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, 41(%rdi), %xmm1, %xmm2
5053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_84: ## %else122
5055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k0, %k1
5056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_86
5061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#85: ## %cond.load124
5062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, 42(%rdi), %xmm1, %xmm2
5063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_86: ## %else125
5065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k0, %k1
5066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_88
5071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#87: ## %cond.load127
5072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, 43(%rdi), %xmm1, %xmm2
5073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_88: ## %else128
5075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k0, %k1
5076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_90
5081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#89: ## %cond.load130
5082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, 44(%rdi), %xmm1, %xmm2
5083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_90: ## %else131
5085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm3, %zmm2
5086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k0, %k1
5087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_92
5092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#91: ## %cond.load133
5093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, 45(%rdi), %xmm1, %xmm3
5094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]
5095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_92: ## %else134
5096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm2, %zmm2
5097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k0, %k1
5098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_94
5103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#93: ## %cond.load136
5104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, 46(%rdi), %xmm1, %xmm3
5105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]
5106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_94: ## %else137
5107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm2, %zmm2, %k1
5108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k0, %k0
5109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_96
5114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#95: ## %cond.load139
5115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, 47(%rdi), %xmm1, %xmm2
5116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_96: ## %else140
5118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k1, %k0
5119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_98
5124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#97: ## %cond.load142
5125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $0, 48(%rdi), %xmm2, %xmm2
5127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_98: ## %else143
5129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k1, %k0
5130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_100
5135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#99: ## %cond.load145
5136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, 49(%rdi), %xmm2, %xmm2
5138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_100: ## %else146
5140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k1, %k0
5141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_102
5146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#101: ## %cond.load148
5147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, 50(%rdi), %xmm2, %xmm2
5149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_102: ## %else149
5151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k1, %k0
5152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_104
5157*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#103: ## %cond.load151
5158*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5159*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, 51(%rdi), %xmm2, %xmm2
5160*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5161*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_104: ## %else152
5162*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k1, %k0
5163*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5164*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5165*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5166*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5167*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_106
5168*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#105: ## %cond.load154
5169*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5170*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, 52(%rdi), %xmm2, %xmm2
5171*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5172*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_106: ## %else155
5173*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k1, %k0
5174*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5175*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5176*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5177*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5178*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_108
5179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#107: ## %cond.load157
5180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, 53(%rdi), %xmm2, %xmm2
5182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_108: ## %else158
5184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k1, %k0
5185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_110
5190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#109: ## %cond.load160
5191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, 54(%rdi), %xmm2, %xmm2
5193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_110: ## %else161
5195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k1, %k0
5196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_112
5201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#111: ## %cond.load163
5202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, 55(%rdi), %xmm2, %xmm2
5204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_112: ## %else164
5206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k1, %k0
5207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill
5209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_114
5212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#113: ## %cond.load166
5213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5214*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, 56(%rdi), %xmm2, %xmm2
5215*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5216*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_114: ## %else167
5217*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k1, %k2
5218*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k2, %k2
5219*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k2, %eax
5220*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5221*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_116
5222*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#115: ## %cond.load169
5223*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5224*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, 57(%rdi), %xmm2, %xmm2
5225*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5226*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_116: ## %else170
5227*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k1, %k3
5228*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k3, %k3
5229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k3, %eax
5230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_118
5232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#117: ## %cond.load172
5233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5234*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, 58(%rdi), %xmm2, %xmm2
5235*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5236*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_118: ## %else173
5237*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k1, %k4
5238*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k4, %k4
5239*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k4, %eax
5240*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5241*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_120
5242*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#119: ## %cond.load175
5243*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5244*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, 59(%rdi), %xmm2, %xmm2
5245*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5246*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_120: ## %else176
5247*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k1, %k5
5248*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k5, %k5
5249*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k5, %eax
5250*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5251*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_122
5252*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#121: ## %cond.load178
5253*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5254*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, 60(%rdi), %xmm2, %xmm2
5255*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5256*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_122: ## %else179
5257*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k1, %k6
5258*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k6, %k6
5259*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k6, %eax
5260*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5261*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_124
5262*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#123: ## %cond.load181
5263*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5264*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, 61(%rdi), %xmm2, %xmm2
5265*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5266*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_124: ## %else182
5267*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k1, %k7
5268*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k7, %k7
5269*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k7, %eax
5270*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5271*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_126
5272*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#125: ## %cond.load184
5273*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5274*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, 62(%rdi), %xmm2, %xmm2
5275*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5276*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_126: ## %else185
5277*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k1, %k1
5278*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
5279*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
5280*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5281*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB52_128
5282*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#127: ## %cond.load187
5283*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
5284*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, 63(%rdi), %xmm2, %xmm2
5285*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5286*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB52_128: ## %else188
5287*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5288*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5289*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5290*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5294*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5300*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5301*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5302*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5303*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5304*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5305*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5306*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5307*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5308*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5309*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5310*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5311*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5312*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5313*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5314*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5315*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5316*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5317*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5318*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5319*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5320*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5321*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5322*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5323*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5324*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5325*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5326*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5327*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5328*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5329*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5334*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5335*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5336*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5337*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5338*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5339*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5340*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5341*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5342*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5351*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5352*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5353*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5354*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5355*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5356*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5357*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5358*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5359*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5360*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5361*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5362*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw (%rsp), %k0 ## 2-byte Folded Reload
5363*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5364*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, (%rsp) ## 4-byte Spill
5365*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5366*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5367*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5368*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5369*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5378*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5379*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5380*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5381*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5382*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5383*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5384*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5385*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5386*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5387*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5388*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5389*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5390*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5391*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5392*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5393*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5394*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5395*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5396*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5397*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5398*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5399*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5400*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5401*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5402*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5403*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5404*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5405*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5406*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5407*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5408*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5409*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5410*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k2, %eax
5411*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill
5412*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k3, %r12d
5413*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k4, %r15d
5414*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k5, %r14d
5415*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k6, %ebx
5416*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k7, %r11d
5417*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %r10d
5418*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5419*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5420*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill
5421*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5422*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r8d
5423*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5424*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r9d
5425*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5426*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %edi
5427*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5428*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %esi
5429*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5430*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %edx
5431*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5432*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %ecx
5433*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5434*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5435*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl -{{[0-9]+}}(%rsp), %r13d ## 4-byte Reload
5436*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %r13d, %xmm2
5437*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5438*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5439*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5440*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5441*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5442*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5443*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5444*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5445*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5446*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5447*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5448*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5449*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5450*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5451*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload
5452*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl {{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
5453*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %ebp, %xmm3
5454*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5455*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5456*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5457*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5458*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5459*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5460*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5461*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5462*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, (%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5463*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5464*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5465*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5466*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5467*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5468*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload
5469*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload
5470*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %ebp, %xmm6
5471*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5472*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5473*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5474*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5475*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5476*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5477*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5478*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5479*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, {{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload
5480*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5481*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r13d
5482*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, %r12d, %xmm6, %xmm6
5483*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5484*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r12d
5485*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, %r15d, %xmm6, %xmm6
5486*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5487*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r15d
5488*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, %r14d, %xmm6, %xmm6
5489*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5490*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r14d
5491*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, %ebx, %xmm6, %xmm6
5492*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5493*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %ebx
5494*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, %r11d, %xmm6, %xmm6
5495*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5496*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r11d
5497*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, %r10d, %xmm6, %xmm6
5498*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5499*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r10d
5500*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %r8d, %xmm7
5501*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload
5502*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %r8d
5503*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm2, %ymm3, %ymm2
5504*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllw $7, %ymm2, %ymm2
5505*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqa {{.*#+}} ymm3 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128]
5506*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpand %ymm3, %ymm2, %ymm2
5507*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendvb %ymm2, %ymm0, %ymm4, %ymm0
5508*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm7, %xmm2 ## 4-byte Folded Reload
5509*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $2, %r9d, %xmm2, %xmm2
5510*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $3, %edi, %xmm2, %xmm2
5511*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $4, %esi, %xmm2, %xmm2
5512*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $5, %edx, %xmm2, %xmm2
5513*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $6, %ecx, %xmm2, %xmm2
5514*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $7, %eax, %xmm2, %xmm2
5515*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $8, %r13d, %xmm2, %xmm2
5516*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $9, %r12d, %xmm2, %xmm2
5517*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $10, %r15d, %xmm2, %xmm2
5518*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $11, %r14d, %xmm2, %xmm2
5519*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $12, %ebx, %xmm2, %xmm2
5520*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $13, %r11d, %xmm2, %xmm2
5521*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $14, %r10d, %xmm2, %xmm2
5522*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrb $15, %r8d, %xmm2, %xmm2
5523*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm2, %ymm2
5524*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllw $7, %ymm2, %ymm2
5525*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpand %ymm3, %ymm2, %ymm2
5526*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendvb %ymm2, %ymm1, %ymm5, %ymm1
5527*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    addq $76, %rsp
5528*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    popq %rbx
5529*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    popq %r12
5530*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    popq %r13
5531*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    popq %r14
5532*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    popq %r15
5533*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    popq %rbp
5534*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
5535*9880d681SAndroid Build Coastguard Worker;
5536*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_64xi8:
5537*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
5538*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %zmm0, %zmm0
5539*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %zmm0, %k1
5540*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu8 (%rdi), %zmm1 {%k1}
5541*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
5542*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
5543*9880d681SAndroid Build Coastguard Worker  %res = call <64 x i8> @llvm.masked.load.v64i8.p0v64i8(<64 x i8>* %addr, i32 4, <64 x i1>%mask, <64 x i8> %val)
5544*9880d681SAndroid Build Coastguard Worker  ret <64 x i8> %res
5545*9880d681SAndroid Build Coastguard Worker}
5546*9880d681SAndroid Build Coastguard Workerdeclare <64 x i8> @llvm.masked.load.v64i8.p0v64i8(<64 x i8>*, i32, <64 x i1>, <64 x i8>)
5547*9880d681SAndroid Build Coastguard Worker
5548*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_mask_load_8xi16(<8 x i1> %mask, <8 x i16>* %addr, <8 x i16> %val) {
5549*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_load_8xi16:
5550*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
5551*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $0, %xmm0, %eax
5552*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    ## implicit-def: %XMM1
5553*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5554*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_2
5555*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#1: ## %cond.load
5556*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    movzwl (%rdi), %eax
5557*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovd %eax, %xmm1
5558*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_2: ## %else
5559*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $2, %xmm0, %eax
5560*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5561*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_4
5562*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#3: ## %cond.load1
5563*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrw $1, 2(%rdi), %xmm1, %xmm1
5564*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_4: ## %else2
5565*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $4, %xmm0, %eax
5566*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5567*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_6
5568*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#5: ## %cond.load4
5569*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrw $2, 4(%rdi), %xmm1, %xmm1
5570*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_6: ## %else5
5571*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $6, %xmm0, %eax
5572*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5573*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_8
5574*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#7: ## %cond.load7
5575*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrw $3, 6(%rdi), %xmm1, %xmm1
5576*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_8: ## %else8
5577*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $8, %xmm0, %eax
5578*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5579*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_10
5580*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#9: ## %cond.load10
5581*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrw $4, 8(%rdi), %xmm1, %xmm1
5582*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_10: ## %else11
5583*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $10, %xmm0, %eax
5584*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5585*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_12
5586*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#11: ## %cond.load13
5587*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrw $5, 10(%rdi), %xmm1, %xmm1
5588*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_12: ## %else14
5589*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $12, %xmm0, %eax
5590*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5591*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_14
5592*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#13: ## %cond.load16
5593*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrw $6, 12(%rdi), %xmm1, %xmm1
5594*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_14: ## %else17
5595*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $14, %xmm0, %eax
5596*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
5597*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB53_16
5598*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#15: ## %cond.load19
5599*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpinsrw $7, 14(%rdi), %xmm1, %xmm1
5600*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB53_16: ## %else20
5601*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpsllw $15, %xmm0, %xmm0
5602*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpsraw $15, %xmm0, %xmm0
5603*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpcmpeqd %xmm2, %xmm2, %xmm2
5604*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpxor %xmm2, %xmm0, %xmm2
5605*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpand %xmm0, %xmm1, %xmm0
5606*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpor %xmm2, %xmm0, %xmm0
5607*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
5608*9880d681SAndroid Build Coastguard Worker;
5609*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_8xi16:
5610*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
5611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxwq %xmm0, %zmm0
5612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllq $63, %zmm0, %zmm0
5613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmq %zmm0, %zmm0, %k1
5614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k1, %k0
5615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## implicit-def: %XMM0
5618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_2
5620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.load
5621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movzwl (%rdi), %eax
5622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %eax, %xmm0
5623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_2: ## %else
5624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k1, %k0
5625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_4
5629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.load1
5630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $1, 2(%rdi), %xmm0, %xmm0
5631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_4: ## %else2
5632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k1, %k0
5633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_6
5637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.load4
5638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $2, 4(%rdi), %xmm0, %xmm0
5639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_6: ## %else5
5640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k1, %k0
5641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_8
5645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.load7
5646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $3, 6(%rdi), %xmm0, %xmm0
5647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_8: ## %else8
5648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k1, %k0
5649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_10
5653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.load10
5654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $4, 8(%rdi), %xmm0, %xmm0
5655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_10: ## %else11
5656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k1, %k0
5657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_12
5661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.load13
5662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $5, 10(%rdi), %xmm0, %xmm0
5663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_12: ## %else14
5664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k1, %k0
5665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_14
5669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.load16
5670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $6, 12(%rdi), %xmm0, %xmm0
5671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_14: ## %else17
5672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k1, %k0
5673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB53_16
5677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.load19
5678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $7, 14(%rdi), %xmm0, %xmm0
5679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB53_16: ## %else20
5680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpternlogd $255, %zmm1, %zmm1, %zmm1
5681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqa64 %zmm1, %zmm1 {%k1} {z}
5682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovqw %zmm1, %xmm1
5683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpcmpeqd %xmm2, %xmm2, %xmm2
5684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpxor %xmm2, %xmm1, %xmm2
5685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpand %xmm1, %xmm0, %xmm0
5686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpor %xmm2, %xmm0, %xmm0
5687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
5688*9880d681SAndroid Build Coastguard Worker;
5689*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_8xi16:
5690*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
5691*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $15, %xmm0, %xmm0
5692*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovw2m %xmm0, %k1
5693*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu16 (%rdi), %xmm0 {%k1} {z}
5694*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
5695*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.masked.load.v8i16.p0v8i16(<8 x i16>* %addr, i32 4, <8 x i1>%mask, <8 x i16> undef)
5696*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
5697*9880d681SAndroid Build Coastguard Worker}
5698*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.masked.load.v8i16.p0v8i16(<8 x i16>*, i32, <8 x i1>, <8 x i16>)
5699*9880d681SAndroid Build Coastguard Worker
5700*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @test_mask_load_16xi16(<16 x i1> %mask, <16 x i16>* %addr, <16 x i16> %val) {
5701*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_16xi16:
5702*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
5703*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
5704*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    ## implicit-def: %YMM1
5705*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_2
5707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.load
5708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzwl (%rdi), %eax
5709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %eax, %xmm1
5710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_2: ## %else
5711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
5712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_4
5714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.load1
5715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $1, 2(%rdi), %xmm1, %xmm2
5716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_4: ## %else2
5718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
5719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_6
5721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.load4
5722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $2, 4(%rdi), %xmm1, %xmm2
5723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_6: ## %else5
5725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
5726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_8
5728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.load7
5729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $3, 6(%rdi), %xmm1, %xmm2
5730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_8: ## %else8
5732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
5733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_10
5735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.load10
5736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $4, 8(%rdi), %xmm1, %xmm2
5737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_10: ## %else11
5739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
5740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_12
5742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.load13
5743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $5, 10(%rdi), %xmm1, %xmm2
5744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_12: ## %else14
5746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
5747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_14
5749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.load16
5750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $6, 12(%rdi), %xmm1, %xmm2
5751*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5752*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_14: ## %else17
5753*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
5754*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5755*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_16
5756*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.load19
5757*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $7, 14(%rdi), %xmm1, %xmm2
5758*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5759*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_16: ## %else20
5760*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
5761*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5762*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_18
5763*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.load22
5764*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5765*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $0, 16(%rdi), %xmm2, %xmm2
5766*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5767*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_18: ## %else23
5768*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
5769*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5770*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_20
5771*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.load25
5772*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5773*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $1, 18(%rdi), %xmm2, %xmm2
5774*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5775*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_20: ## %else26
5776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
5777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_22
5779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.load28
5780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $2, 20(%rdi), %xmm2, %xmm2
5782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_22: ## %else29
5784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
5785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_24
5787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.load31
5788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $3, 22(%rdi), %xmm2, %xmm2
5790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_24: ## %else32
5792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
5793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_26
5795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.load34
5796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $4, 24(%rdi), %xmm2, %xmm2
5798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_26: ## %else35
5800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
5801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_28
5803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.load37
5804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $5, 26(%rdi), %xmm2, %xmm2
5806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_28: ## %else38
5808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
5809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_30
5811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.load40
5812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $6, 28(%rdi), %xmm2, %xmm2
5814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_30: ## %else41
5816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
5817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
5818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB54_32
5819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.load43
5820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
5821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $7, 30(%rdi), %xmm2, %xmm2
5822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm1
5823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB54_32: ## %else44
5824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbw {{.*#+}} xmm2 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
5825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $15, %xmm2, %xmm2
5826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsraw $15, %xmm2, %xmm2
5827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpckhbw {{.*#+}} xmm0 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
5828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $15, %xmm0, %xmm0
5829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsraw $15, %xmm0, %xmm0
5830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm2, %ymm0
5831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %ymm1, %ymm0, %ymm0
5832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
5833*9880d681SAndroid Build Coastguard Worker;
5834*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_16xi16:
5835*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
5836*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
5837*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    ## implicit-def: %YMM1
5838*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5839*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_2
5840*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.load
5841*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzwl (%rdi), %eax
5842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %eax, %xmm1
5843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_2: ## %else
5844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
5845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_4
5847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.load1
5848*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $1, 2(%rdi), %xmm1, %xmm2
5849*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5850*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_4: ## %else2
5851*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
5852*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5853*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_6
5854*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.load4
5855*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $2, 4(%rdi), %xmm1, %xmm2
5856*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5857*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_6: ## %else5
5858*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
5859*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5860*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_8
5861*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.load7
5862*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $3, 6(%rdi), %xmm1, %xmm2
5863*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5864*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_8: ## %else8
5865*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
5866*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5867*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_10
5868*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.load10
5869*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $4, 8(%rdi), %xmm1, %xmm2
5870*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5871*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_10: ## %else11
5872*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
5873*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5874*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_12
5875*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.load13
5876*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $5, 10(%rdi), %xmm1, %xmm2
5877*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5878*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_12: ## %else14
5879*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
5880*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5881*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_14
5882*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.load16
5883*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $6, 12(%rdi), %xmm1, %xmm2
5884*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5885*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_14: ## %else17
5886*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
5887*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5888*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_16
5889*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.load19
5890*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $7, 14(%rdi), %xmm1, %xmm2
5891*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]
5892*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_16: ## %else20
5893*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
5894*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5895*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_18
5896*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.load22
5897*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5898*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $0, 16(%rdi), %xmm2, %xmm2
5899*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5900*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_18: ## %else23
5901*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
5902*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5903*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_20
5904*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.load25
5905*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5906*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $1, 18(%rdi), %xmm2, %xmm2
5907*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5908*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_20: ## %else26
5909*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
5910*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5911*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_22
5912*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.load28
5913*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5914*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $2, 20(%rdi), %xmm2, %xmm2
5915*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5916*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_22: ## %else29
5917*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
5918*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5919*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_24
5920*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.load31
5921*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5922*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $3, 22(%rdi), %xmm2, %xmm2
5923*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5924*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_24: ## %else32
5925*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
5926*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5927*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_26
5928*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.load34
5929*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5930*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $4, 24(%rdi), %xmm2, %xmm2
5931*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5932*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_26: ## %else35
5933*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
5934*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5935*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_28
5936*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.load37
5937*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5938*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $5, 26(%rdi), %xmm2, %xmm2
5939*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5940*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_28: ## %else38
5941*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
5942*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_30
5944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.load40
5945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $6, 28(%rdi), %xmm2, %xmm2
5947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_30: ## %else41
5949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
5950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
5951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB54_32
5952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.load43
5953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
5954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $7, 30(%rdi), %xmm2, %xmm2
5955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm1, %ymm1
5956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB54_32: ## %else44
5957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
5958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsllw $15, %ymm0, %ymm0
5959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsraw $15, %ymm0, %ymm0
5960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpand %ymm1, %ymm0, %ymm0
5961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
5962*9880d681SAndroid Build Coastguard Worker;
5963*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_16xi16:
5964*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
5965*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
5966*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
5967*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
5968*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k1, %k0
5969*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5970*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5971*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    ## implicit-def: %YMM0
5972*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5973*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_2
5974*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.load
5975*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movzwl (%rdi), %eax
5976*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %eax, %xmm0
5977*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_2: ## %else
5978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k1, %k0
5979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_4
5983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.load1
5984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $1, 2(%rdi), %xmm0, %xmm1
5985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_4: ## %else2
5987*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k1, %k0
5988*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5989*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5990*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
5991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_6
5992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.load4
5993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $2, 4(%rdi), %xmm0, %xmm1
5994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
5995*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_6: ## %else5
5996*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k1, %k0
5997*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
5998*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
5999*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6000*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_8
6001*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.load7
6002*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $3, 6(%rdi), %xmm0, %xmm1
6003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_8: ## %else8
6005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k1, %k0
6006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_10
6010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.load10
6011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $4, 8(%rdi), %xmm0, %xmm1
6012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_10: ## %else11
6014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k1, %k0
6015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_12
6019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.load13
6020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $5, 10(%rdi), %xmm0, %xmm1
6021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_12: ## %else14
6023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k1, %k0
6024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_14
6028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.load16
6029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $6, 12(%rdi), %xmm0, %xmm1
6030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_14: ## %else17
6032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k1, %k0
6033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_16
6037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.load19
6038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $7, 14(%rdi), %xmm0, %xmm1
6039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]
6040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_16: ## %else20
6041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k1, %k0
6042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_18
6046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.load22
6047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $0, 16(%rdi), %xmm1, %xmm1
6049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_18: ## %else23
6051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k1, %k0
6052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_20
6056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.load25
6057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $1, 18(%rdi), %xmm1, %xmm1
6059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_20: ## %else26
6061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k1, %k0
6062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_22
6066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.load28
6067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $2, 20(%rdi), %xmm1, %xmm1
6069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_22: ## %else29
6071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k1, %k0
6072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_24
6076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.load31
6077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $3, 22(%rdi), %xmm1, %xmm1
6079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_24: ## %else32
6081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k1, %k0
6082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_26
6086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.load34
6087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $4, 24(%rdi), %xmm1, %xmm1
6089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_26: ## %else35
6091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k1, %k0
6092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_28
6096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.load37
6097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $5, 26(%rdi), %xmm1, %xmm1
6099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_28: ## %else38
6101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k1, %k0
6102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_30
6106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.load40
6107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $6, 28(%rdi), %xmm1, %xmm1
6109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_30: ## %else41
6111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k1, %k0
6112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
6113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
6114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
6115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB54_32
6116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.load43
6117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm1
6118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $7, 30(%rdi), %xmm1, %xmm1
6119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
6120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB54_32: ## %else44
6121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpternlogd $255, %zmm1, %zmm1, %zmm1
6122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovdqa32 %zmm1, %zmm1 {%k1} {z}
6123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovdw %zmm1, %ymm1
6124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpand %ymm0, %ymm1, %ymm0
6125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
6126*9880d681SAndroid Build Coastguard Worker;
6127*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_16xi16:
6128*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
6129*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
6130*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
6131*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu16 (%rdi), %ymm0 {%k1} {z}
6132*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
6133*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i16> @llvm.masked.load.v16i16.p0v16i16(<16 x i16>* %addr, i32 4, <16 x i1>%mask, <16 x i16> zeroinitializer)
6134*9880d681SAndroid Build Coastguard Worker  ret <16 x i16> %res
6135*9880d681SAndroid Build Coastguard Worker}
6136*9880d681SAndroid Build Coastguard Workerdeclare <16 x i16> @llvm.masked.load.v16i16.p0v16i16(<16 x i16>*, i32, <16 x i1>, <16 x i16>)
6137*9880d681SAndroid Build Coastguard Worker
6138*9880d681SAndroid Build Coastguard Workerdefine <32 x i16> @test_mask_load_32xi16(<32 x i1> %mask, <32 x i16>* %addr, <32 x i16> %val) {
6139*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_32xi16:
6140*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
6141*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
6142*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6143*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_2
6144*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.load
6145*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movzwl (%rdi), %eax
6146*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %eax, %xmm3
6147*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_2: ## %else
6148*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
6149*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6150*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_4
6151*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.load1
6152*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $1, 2(%rdi), %xmm3, %xmm4
6153*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6154*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_4: ## %else2
6155*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
6156*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6157*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_6
6158*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.load4
6159*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $2, 4(%rdi), %xmm3, %xmm4
6160*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6161*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_6: ## %else5
6162*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
6163*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6164*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_8
6165*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.load7
6166*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $3, 6(%rdi), %xmm3, %xmm4
6167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_8: ## %else8
6169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
6170*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6171*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_10
6172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.load10
6173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $4, 8(%rdi), %xmm3, %xmm4
6174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_10: ## %else11
6176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
6177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_12
6179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.load13
6180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $5, 10(%rdi), %xmm3, %xmm4
6181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6182*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_12: ## %else14
6183*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
6184*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6185*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_14
6186*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.load16
6187*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $6, 12(%rdi), %xmm3, %xmm4
6188*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6189*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_14: ## %else17
6190*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
6191*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6192*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_16
6193*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.load19
6194*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $7, 14(%rdi), %xmm3, %xmm4
6195*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_16: ## %else20
6197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
6198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6199*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_18
6200*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.load22
6201*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6202*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $0, 16(%rdi), %xmm4, %xmm4
6203*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6204*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_18: ## %else23
6205*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
6206*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6207*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_20
6208*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.load25
6209*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6210*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $1, 18(%rdi), %xmm4, %xmm4
6211*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6212*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_20: ## %else26
6213*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
6214*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6215*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_22
6216*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.load28
6217*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6218*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $2, 20(%rdi), %xmm4, %xmm4
6219*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6220*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_22: ## %else29
6221*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
6222*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6223*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_24
6224*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.load31
6225*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6226*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $3, 22(%rdi), %xmm4, %xmm4
6227*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6228*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_24: ## %else32
6229*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
6230*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6231*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_26
6232*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.load34
6233*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6234*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $4, 24(%rdi), %xmm4, %xmm4
6235*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6236*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_26: ## %else35
6237*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
6238*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6239*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_28
6240*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.load37
6241*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6242*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $5, 26(%rdi), %xmm4, %xmm4
6243*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6244*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_28: ## %else38
6245*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
6246*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6247*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_30
6248*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.load40
6249*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6250*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $6, 28(%rdi), %xmm4, %xmm4
6251*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6252*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_30: ## %else41
6253*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
6254*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6255*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_32
6256*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.load43
6257*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
6258*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $7, 30(%rdi), %xmm4, %xmm4
6259*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm3
6260*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_32: ## %else44
6261*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
6262*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm4, %eax
6263*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6264*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_34
6265*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#33: ## %cond.load46
6266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $0, 32(%rdi), %xmm0, %xmm5
6267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]
6268*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_34: ## %else47
6269*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm4, %eax
6270*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6271*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_36
6272*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#35: ## %cond.load49
6273*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $1, 34(%rdi), %xmm5, %xmm6
6274*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6275*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_36: ## %else50
6276*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm4, %eax
6277*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6278*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_38
6279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#37: ## %cond.load52
6280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $2, 36(%rdi), %xmm5, %xmm6
6281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_38: ## %else53
6283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm4, %eax
6284*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6285*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_40
6286*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#39: ## %cond.load55
6287*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $3, 38(%rdi), %xmm5, %xmm6
6288*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6289*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_40: ## %else56
6290*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm4, %eax
6291*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6292*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_42
6293*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#41: ## %cond.load58
6294*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $4, 40(%rdi), %xmm5, %xmm6
6295*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6296*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_42: ## %else59
6297*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm4, %eax
6298*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6299*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_44
6300*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#43: ## %cond.load61
6301*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $5, 42(%rdi), %xmm5, %xmm6
6302*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6303*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_44: ## %else62
6304*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm4, %eax
6305*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6306*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_46
6307*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#45: ## %cond.load64
6308*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $6, 44(%rdi), %xmm5, %xmm6
6309*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6310*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_46: ## %else65
6311*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm4, %eax
6312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_48
6314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#47: ## %cond.load67
6315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $7, 46(%rdi), %xmm5, %xmm6
6316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_48: ## %else68
6318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm4, %eax
6319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_50
6321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#49: ## %cond.load70
6322*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6323*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $0, 48(%rdi), %xmm6, %xmm6
6324*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6325*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_50: ## %else71
6326*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm4, %eax
6327*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6328*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_52
6329*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#51: ## %cond.load73
6330*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6331*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $1, 50(%rdi), %xmm6, %xmm6
6332*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6333*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_52: ## %else74
6334*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm4, %eax
6335*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6336*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_54
6337*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#53: ## %cond.load76
6338*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6339*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $2, 52(%rdi), %xmm6, %xmm6
6340*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6341*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_54: ## %else77
6342*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm4, %eax
6343*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6344*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_56
6345*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#55: ## %cond.load79
6346*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6347*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $3, 54(%rdi), %xmm6, %xmm6
6348*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_56: ## %else80
6350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm4, %eax
6351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_58
6353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#57: ## %cond.load82
6354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $4, 56(%rdi), %xmm6, %xmm6
6356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_58: ## %else83
6358*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm4, %eax
6359*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_60
6361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#59: ## %cond.load85
6362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $5, 58(%rdi), %xmm6, %xmm6
6364*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_60: ## %else86
6366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm4, %eax
6367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_62
6369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#61: ## %cond.load88
6370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $6, 60(%rdi), %xmm6, %xmm6
6372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_62: ## %else89
6374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm4, %eax
6375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
6376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB55_64
6377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#63: ## %cond.load91
6378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm6
6379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpinsrw $7, 62(%rdi), %xmm6, %xmm6
6380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm6, %ymm5, %ymm5
6381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB55_64: ## %else92
6382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbw {{.*#+}} xmm6 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
6383*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $15, %xmm6, %xmm6
6384*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsraw $15, %xmm6, %xmm6
6385*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpckhbw {{.*#+}} xmm0 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
6386*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $15, %xmm0, %xmm0
6387*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsraw $15, %xmm0, %xmm0
6388*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm0, %ymm6, %ymm0
6389*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandnps %ymm1, %ymm0, %ymm1
6390*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %ymm0, %ymm3, %ymm0
6391*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vorps %ymm1, %ymm0, %ymm0
6392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpmovzxbw {{.*#+}} xmm1 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xmm4[4],zero,xmm4[5],zero,xmm4[6],zero,xmm4[7],zero
6393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $15, %xmm1, %xmm1
6394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsraw $15, %xmm1, %xmm1
6395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpckhbw {{.*#+}} xmm3 = xmm4[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
6396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsllw $15, %xmm3, %xmm3
6397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpsraw $15, %xmm3, %xmm3
6398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm3, %ymm1, %ymm1
6399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandnps %ymm2, %ymm1, %ymm2
6400*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %ymm1, %ymm5, %ymm1
6401*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vorps %ymm2, %ymm1, %ymm1
6402*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
6403*9880d681SAndroid Build Coastguard Worker;
6404*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_32xi16:
6405*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
6406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
6407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_2
6409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.load
6410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movzwl (%rdi), %eax
6411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %eax, %xmm3
6412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_2: ## %else
6413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
6414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_4
6416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.load1
6417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $1, 2(%rdi), %xmm3, %xmm4
6418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_4: ## %else2
6420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
6421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_6
6423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.load4
6424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $2, 4(%rdi), %xmm3, %xmm4
6425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_6: ## %else5
6427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
6428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_8
6430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.load7
6431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $3, 6(%rdi), %xmm3, %xmm4
6432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_8: ## %else8
6434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
6435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_10
6437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.load10
6438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $4, 8(%rdi), %xmm3, %xmm4
6439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_10: ## %else11
6441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
6442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_12
6444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.load13
6445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $5, 10(%rdi), %xmm3, %xmm4
6446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_12: ## %else14
6448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
6449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_14
6451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.load16
6452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $6, 12(%rdi), %xmm3, %xmm4
6453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_14: ## %else17
6455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
6456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_16
6458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.load19
6459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $7, 14(%rdi), %xmm3, %xmm4
6460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_16: ## %else20
6462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
6463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_18
6465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.load22
6466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $0, 16(%rdi), %xmm4, %xmm4
6468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_18: ## %else23
6470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
6471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_20
6473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.load25
6474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $1, 18(%rdi), %xmm4, %xmm4
6476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_20: ## %else26
6478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
6479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_22
6481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.load28
6482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $2, 20(%rdi), %xmm4, %xmm4
6484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_22: ## %else29
6486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
6487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_24
6489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.load31
6490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $3, 22(%rdi), %xmm4, %xmm4
6492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_24: ## %else32
6494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
6495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_26
6497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.load34
6498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $4, 24(%rdi), %xmm4, %xmm4
6500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_26: ## %else35
6502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
6503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_28
6505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.load37
6506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $5, 26(%rdi), %xmm4, %xmm4
6508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_28: ## %else38
6510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
6511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_30
6513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.load40
6514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $6, 28(%rdi), %xmm4, %xmm4
6516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_30: ## %else41
6518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
6519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_32
6521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.load43
6522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $7, 30(%rdi), %xmm4, %xmm4
6524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_32: ## %else44
6526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm4
6527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm4, %eax
6528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_34
6530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#33: ## %cond.load46
6531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $0, 32(%rdi), %xmm0, %xmm5
6532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]
6533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_34: ## %else47
6534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm4, %eax
6535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_36
6537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#35: ## %cond.load49
6538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $1, 34(%rdi), %xmm5, %xmm6
6539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_36: ## %else50
6541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm4, %eax
6542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_38
6544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#37: ## %cond.load52
6545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $2, 36(%rdi), %xmm5, %xmm6
6546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_38: ## %else53
6548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm4, %eax
6549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_40
6551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#39: ## %cond.load55
6552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $3, 38(%rdi), %xmm5, %xmm6
6553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_40: ## %else56
6555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm4, %eax
6556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_42
6558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#41: ## %cond.load58
6559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $4, 40(%rdi), %xmm5, %xmm6
6560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_42: ## %else59
6562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm4, %eax
6563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_44
6565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#43: ## %cond.load61
6566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $5, 42(%rdi), %xmm5, %xmm6
6567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_44: ## %else62
6569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm4, %eax
6570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_46
6572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#45: ## %cond.load64
6573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $6, 44(%rdi), %xmm5, %xmm6
6574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_46: ## %else65
6576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm4, %eax
6577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_48
6579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#47: ## %cond.load67
6580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $7, 46(%rdi), %xmm5, %xmm6
6581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_48: ## %else68
6583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm4, %eax
6584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_50
6586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#49: ## %cond.load70
6587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6588*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $0, 48(%rdi), %xmm6, %xmm6
6589*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6590*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_50: ## %else71
6591*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm4, %eax
6592*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6593*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_52
6594*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#51: ## %cond.load73
6595*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6596*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $1, 50(%rdi), %xmm6, %xmm6
6597*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6598*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_52: ## %else74
6599*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm4, %eax
6600*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6601*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_54
6602*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#53: ## %cond.load76
6603*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6604*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $2, 52(%rdi), %xmm6, %xmm6
6605*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6606*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_54: ## %else77
6607*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm4, %eax
6608*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6609*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_56
6610*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#55: ## %cond.load79
6611*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6612*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $3, 54(%rdi), %xmm6, %xmm6
6613*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6614*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_56: ## %else80
6615*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm4, %eax
6616*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_58
6618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#57: ## %cond.load82
6619*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6620*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $4, 56(%rdi), %xmm6, %xmm6
6621*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6622*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_58: ## %else83
6623*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm4, %eax
6624*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6625*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_60
6626*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#59: ## %cond.load85
6627*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6628*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $5, 58(%rdi), %xmm6, %xmm6
6629*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6630*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_60: ## %else86
6631*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm4, %eax
6632*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6633*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_62
6634*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#61: ## %cond.load88
6635*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6636*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $6, 60(%rdi), %xmm6, %xmm6
6637*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6638*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_62: ## %else89
6639*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm4, %eax
6640*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
6641*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB55_64
6642*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#63: ## %cond.load91
6643*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm6
6644*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpinsrw $7, 62(%rdi), %xmm6, %xmm6
6645*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6646*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB55_64: ## %else92
6647*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
6648*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsllw $15, %ymm0, %ymm0
6649*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsraw $15, %ymm0, %ymm0
6650*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendvb %ymm0, %ymm3, %ymm1, %ymm0
6651*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpmovzxbw {{.*#+}} ymm1 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xmm4[4],zero,xmm4[5],zero,xmm4[6],zero,xmm4[7],zero,xmm4[8],zero,xmm4[9],zero,xmm4[10],zero,xmm4[11],zero,xmm4[12],zero,xmm4[13],zero,xmm4[14],zero,xmm4[15],zero
6652*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsllw $15, %ymm1, %ymm1
6653*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpsraw $15, %ymm1, %ymm1
6654*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpblendvb %ymm1, %ymm5, %ymm2, %ymm1
6655*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
6656*9880d681SAndroid Build Coastguard Worker;
6657*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_32xi16:
6658*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
6659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, %eax
6660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_2
6662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.load
6663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movzwl (%rdi), %eax
6664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %eax, %xmm3
6665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_2: ## %else
6666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, %eax
6667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_4
6669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.load1
6670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $1, 2(%rdi), %xmm3, %xmm4
6671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_4: ## %else2
6673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, %eax
6674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_6
6676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.load4
6677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $2, 4(%rdi), %xmm3, %xmm4
6678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_6: ## %else5
6680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, %eax
6681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_8
6683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.load7
6684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $3, 6(%rdi), %xmm3, %xmm4
6685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_8: ## %else8
6687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, %eax
6688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_10
6690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.load10
6691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $4, 8(%rdi), %xmm3, %xmm4
6692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_10: ## %else11
6694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, %eax
6695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_12
6697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.load13
6698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $5, 10(%rdi), %xmm3, %xmm4
6699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_12: ## %else14
6701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, %eax
6702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_14
6704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.load16
6705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $6, 12(%rdi), %xmm3, %xmm4
6706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_14: ## %else17
6708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, %eax
6709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_16
6711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.load19
6712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $7, 14(%rdi), %xmm3, %xmm4
6713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]
6714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_16: ## %else20
6715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, %eax
6716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_18
6718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.load22
6719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $0, 16(%rdi), %xmm4, %xmm4
6721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_18: ## %else23
6723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, %eax
6724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_20
6726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.load25
6727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $1, 18(%rdi), %xmm4, %xmm4
6729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_20: ## %else26
6731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, %eax
6732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_22
6734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.load28
6735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $2, 20(%rdi), %xmm4, %xmm4
6737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_22: ## %else29
6739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, %eax
6740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_24
6742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.load31
6743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $3, 22(%rdi), %xmm4, %xmm4
6745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_24: ## %else32
6747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, %eax
6748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_26
6750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.load34
6751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $4, 24(%rdi), %xmm4, %xmm4
6753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_26: ## %else35
6755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm0, %eax
6756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_28
6758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.load37
6759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $5, 26(%rdi), %xmm4, %xmm4
6761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_28: ## %else38
6763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm0, %eax
6764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_30
6766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.load40
6767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $6, 28(%rdi), %xmm4, %xmm4
6769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_30: ## %else41
6771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, %eax
6772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_32
6774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.load43
6775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm3, %xmm4
6776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $7, 30(%rdi), %xmm4, %xmm4
6777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm4, %ymm3, %ymm3
6778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_32: ## %else44
6779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm4
6780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm4, %eax
6781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_34
6783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#33: ## %cond.load46
6784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $0, 32(%rdi), %xmm0, %xmm5
6785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]
6786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_34: ## %else47
6787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm4, %eax
6788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_36
6790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#35: ## %cond.load49
6791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $1, 34(%rdi), %xmm5, %xmm6
6792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_36: ## %else50
6794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm4, %eax
6795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_38
6797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#37: ## %cond.load52
6798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $2, 36(%rdi), %xmm5, %xmm6
6799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_38: ## %else53
6801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm4, %eax
6802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_40
6804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#39: ## %cond.load55
6805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $3, 38(%rdi), %xmm5, %xmm6
6806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_40: ## %else56
6808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm4, %eax
6809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6810*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_42
6811*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#41: ## %cond.load58
6812*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $4, 40(%rdi), %xmm5, %xmm6
6813*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6814*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_42: ## %else59
6815*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm4, %eax
6816*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6817*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_44
6818*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#43: ## %cond.load61
6819*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $5, 42(%rdi), %xmm5, %xmm6
6820*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6821*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_44: ## %else62
6822*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm4, %eax
6823*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6824*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_46
6825*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#45: ## %cond.load64
6826*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $6, 44(%rdi), %xmm5, %xmm6
6827*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6828*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_46: ## %else65
6829*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm4, %eax
6830*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6831*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_48
6832*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#47: ## %cond.load67
6833*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $7, 46(%rdi), %xmm5, %xmm6
6834*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
6835*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_48: ## %else68
6836*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm4, %eax
6837*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6838*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_50
6839*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#49: ## %cond.load70
6840*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6841*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $0, 48(%rdi), %xmm6, %xmm6
6842*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6843*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_50: ## %else71
6844*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm4, %eax
6845*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6846*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_52
6847*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#51: ## %cond.load73
6848*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6849*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $1, 50(%rdi), %xmm6, %xmm6
6850*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_52: ## %else74
6852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm4, %eax
6853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_54
6855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#53: ## %cond.load76
6856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $2, 52(%rdi), %xmm6, %xmm6
6858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_54: ## %else77
6860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm4, %eax
6861*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6862*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_56
6863*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#55: ## %cond.load79
6864*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6865*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $3, 54(%rdi), %xmm6, %xmm6
6866*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6867*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_56: ## %else80
6868*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm4, %eax
6869*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6870*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_58
6871*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#57: ## %cond.load82
6872*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6873*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $4, 56(%rdi), %xmm6, %xmm6
6874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_58: ## %else83
6876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm4, %eax
6877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_60
6879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#59: ## %cond.load85
6880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $5, 58(%rdi), %xmm6, %xmm6
6882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6883*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_60: ## %else86
6884*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm4, %eax
6885*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6886*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_62
6887*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#61: ## %cond.load88
6888*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6889*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $6, 60(%rdi), %xmm6, %xmm6
6890*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6891*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_62: ## %else89
6892*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm4, %eax
6893*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
6894*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB55_64
6895*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#63: ## %cond.load91
6896*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm6
6897*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpinsrw $7, 62(%rdi), %xmm6, %xmm6
6898*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vinserti128 $1, %xmm6, %ymm5, %ymm5
6899*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB55_64: ## %else92
6900*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
6901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllw $15, %ymm0, %ymm0
6902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsraw $15, %ymm0, %ymm0
6903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendvb %ymm0, %ymm3, %ymm1, %ymm0
6904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovzxbw {{.*#+}} ymm1 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xmm4[4],zero,xmm4[5],zero,xmm4[6],zero,xmm4[7],zero,xmm4[8],zero,xmm4[9],zero,xmm4[10],zero,xmm4[11],zero,xmm4[12],zero,xmm4[13],zero,xmm4[14],zero,xmm4[15],zero
6905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllw $15, %ymm1, %ymm1
6906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsraw $15, %ymm1, %ymm1
6907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpblendvb %ymm1, %ymm5, %ymm2, %ymm1
6908*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
6909*9880d681SAndroid Build Coastguard Worker;
6910*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_32xi16:
6911*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
6912*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %ymm0, %ymm0
6913*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %ymm0, %k1
6914*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu16 (%rdi), %zmm1 {%k1}
6915*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovaps %zmm1, %zmm0
6916*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
6917*9880d681SAndroid Build Coastguard Worker  %res = call <32 x i16> @llvm.masked.load.v32i16.p0v32i16(<32 x i16>* %addr, i32 4, <32 x i1>%mask, <32 x i16> %val)
6918*9880d681SAndroid Build Coastguard Worker  ret <32 x i16> %res
6919*9880d681SAndroid Build Coastguard Worker}
6920*9880d681SAndroid Build Coastguard Workerdeclare <32 x i16> @llvm.masked.load.v32i16.p0v32i16(<32 x i16>*, i32, <32 x i1>, <32 x i16>)
6921*9880d681SAndroid Build Coastguard Worker
6922*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_16xi8(<16 x i1> %mask, <16 x i8>* %addr, <16 x i8> %val) {
6923*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_store_16xi8:
6924*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
6925*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $0, %xmm0, %eax
6926*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6927*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_2
6928*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#1: ## %cond.store
6929*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $0, %xmm1, (%rdi)
6930*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_2: ## %else
6931*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $1, %xmm0, %eax
6932*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6933*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_4
6934*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#3: ## %cond.store1
6935*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $1, %xmm1, 1(%rdi)
6936*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_4: ## %else2
6937*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $2, %xmm0, %eax
6938*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6939*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_6
6940*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#5: ## %cond.store3
6941*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $2, %xmm1, 2(%rdi)
6942*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_6: ## %else4
6943*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $3, %xmm0, %eax
6944*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6945*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_8
6946*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#7: ## %cond.store5
6947*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $3, %xmm1, 3(%rdi)
6948*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_8: ## %else6
6949*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $4, %xmm0, %eax
6950*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6951*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_10
6952*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#9: ## %cond.store7
6953*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $4, %xmm1, 4(%rdi)
6954*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_10: ## %else8
6955*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $5, %xmm0, %eax
6956*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6957*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_12
6958*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#11: ## %cond.store9
6959*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $5, %xmm1, 5(%rdi)
6960*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_12: ## %else10
6961*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $6, %xmm0, %eax
6962*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6963*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_14
6964*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#13: ## %cond.store11
6965*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $6, %xmm1, 6(%rdi)
6966*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_14: ## %else12
6967*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $7, %xmm0, %eax
6968*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6969*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_16
6970*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#15: ## %cond.store13
6971*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $7, %xmm1, 7(%rdi)
6972*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_16: ## %else14
6973*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $8, %xmm0, %eax
6974*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6975*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_18
6976*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#17: ## %cond.store15
6977*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $8, %xmm1, 8(%rdi)
6978*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_18: ## %else16
6979*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $9, %xmm0, %eax
6980*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6981*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_20
6982*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#19: ## %cond.store17
6983*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $9, %xmm1, 9(%rdi)
6984*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_20: ## %else18
6985*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $10, %xmm0, %eax
6986*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6987*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_22
6988*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#21: ## %cond.store19
6989*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $10, %xmm1, 10(%rdi)
6990*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_22: ## %else20
6991*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $11, %xmm0, %eax
6992*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6993*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_24
6994*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#23: ## %cond.store21
6995*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $11, %xmm1, 11(%rdi)
6996*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_24: ## %else22
6997*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $12, %xmm0, %eax
6998*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
6999*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_26
7000*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#25: ## %cond.store23
7001*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $12, %xmm1, 12(%rdi)
7002*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_26: ## %else24
7003*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $13, %xmm0, %eax
7004*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
7005*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_28
7006*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#27: ## %cond.store25
7007*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $13, %xmm1, 13(%rdi)
7008*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_28: ## %else26
7009*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $14, %xmm0, %eax
7010*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
7011*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_30
7012*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#29: ## %cond.store27
7013*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $14, %xmm1, 14(%rdi)
7014*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_30: ## %else28
7015*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $15, %xmm0, %eax
7016*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
7017*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB56_32
7018*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#31: ## %cond.store29
7019*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $15, %xmm1, 15(%rdi)
7020*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB56_32: ## %else30
7021*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
7022*9880d681SAndroid Build Coastguard Worker;
7023*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_16xi8:
7024*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
7025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
7026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
7027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k0
7028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k0, %k1
7029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_2
7033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.store
7034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm1, (%rdi)
7035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_2: ## %else
7036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k0, %k1
7037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_4
7041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.store1
7042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm1, 1(%rdi)
7043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_4: ## %else2
7044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k0, %k1
7045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_6
7049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.store3
7050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm1, 2(%rdi)
7051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_6: ## %else4
7052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k0, %k1
7053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_8
7057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.store5
7058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm1, 3(%rdi)
7059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_8: ## %else6
7060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k0, %k1
7061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_10
7065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.store7
7066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm1, 4(%rdi)
7067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_10: ## %else8
7068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k0, %k1
7069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_12
7073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.store9
7074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm1, 5(%rdi)
7075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_12: ## %else10
7076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k0, %k1
7077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_14
7081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.store11
7082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm1, 6(%rdi)
7083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_14: ## %else12
7084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k1
7085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_16
7089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.store13
7090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm1, 7(%rdi)
7091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_16: ## %else14
7092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k0, %k1
7093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_18
7097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.store15
7098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm1, 8(%rdi)
7099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_18: ## %else16
7100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k0, %k1
7101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_20
7105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.store17
7106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm1, 9(%rdi)
7107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_20: ## %else18
7108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k0, %k1
7109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_22
7113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.store19
7114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm1, 10(%rdi)
7115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_22: ## %else20
7116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k0, %k1
7117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_24
7121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.store21
7122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm1, 11(%rdi)
7123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_24: ## %else22
7124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k0, %k1
7125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_26
7129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.store23
7130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm1, 12(%rdi)
7131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_26: ## %else24
7132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k0, %k1
7133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_28
7137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.store25
7138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm1, 13(%rdi)
7139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_28: ## %else26
7140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k0, %k1
7141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
7142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
7143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_30
7145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.store27
7146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm1, 14(%rdi)
7147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_30: ## %else28
7148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k0, %k0
7149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
7150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
7151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
7152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB56_32
7153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.store29
7154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm1, 15(%rdi)
7155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB56_32: ## %else30
7156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
7157*9880d681SAndroid Build Coastguard Worker;
7158*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_16xi8:
7159*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
7160*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
7161*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
7162*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu8 %xmm1, (%rdi) {%k1}
7163*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
7164*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v16i8.p0v16i8(<16 x i8> %val, <16 x i8>* %addr, i32 4, <16 x i1>%mask)
7165*9880d681SAndroid Build Coastguard Worker  ret void
7166*9880d681SAndroid Build Coastguard Worker}
7167*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i8.p0v16i8(<16 x i8>, <16 x i8>*, i32, <16 x i1>)
7168*9880d681SAndroid Build Coastguard Worker
7169*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_32xi8(<32 x i1> %mask, <32 x i8>* %addr, <32 x i8> %val) {
7170*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_32xi8:
7171*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
7172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
7173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_2
7175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.store
7176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm1, (%rdi)
7177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_2: ## %else
7178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
7179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_4
7181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.store1
7182*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm1, 1(%rdi)
7183*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_4: ## %else2
7184*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
7185*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7186*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_6
7187*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.store3
7188*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm1, 2(%rdi)
7189*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_6: ## %else4
7190*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
7191*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7192*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_8
7193*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.store5
7194*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm1, 3(%rdi)
7195*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_8: ## %else6
7196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
7197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_10
7199*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.store7
7200*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm1, 4(%rdi)
7201*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_10: ## %else8
7202*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
7203*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7204*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_12
7205*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.store9
7206*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm1, 5(%rdi)
7207*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_12: ## %else10
7208*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
7209*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7210*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_14
7211*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.store11
7212*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm1, 6(%rdi)
7213*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_14: ## %else12
7214*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
7215*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7216*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_16
7217*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.store13
7218*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm1, 7(%rdi)
7219*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_16: ## %else14
7220*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
7221*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7222*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_18
7223*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.store15
7224*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm1, 8(%rdi)
7225*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_18: ## %else16
7226*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
7227*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7228*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_20
7229*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.store17
7230*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm1, 9(%rdi)
7231*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_20: ## %else18
7232*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
7233*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7234*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_22
7235*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.store19
7236*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm1, 10(%rdi)
7237*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_22: ## %else20
7238*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
7239*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7240*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_24
7241*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.store21
7242*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm1, 11(%rdi)
7243*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_24: ## %else22
7244*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
7245*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7246*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_26
7247*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.store23
7248*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm1, 12(%rdi)
7249*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_26: ## %else24
7250*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
7251*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7252*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_28
7253*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.store25
7254*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm1, 13(%rdi)
7255*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_28: ## %else26
7256*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
7257*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7258*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_30
7259*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.store27
7260*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm1, 14(%rdi)
7261*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_30: ## %else28
7262*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
7263*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7264*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_32
7265*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.store29
7266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm1, 15(%rdi)
7267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_32: ## %else30
7268*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm0
7269*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
7270*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7271*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_34
7272*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#33: ## %cond.store31
7273*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7274*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm2, 16(%rdi)
7275*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_34: ## %else32
7276*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
7277*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7278*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_36
7279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#35: ## %cond.store33
7280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm2, 17(%rdi)
7282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_36: ## %else34
7283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
7284*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7285*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_38
7286*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#37: ## %cond.store35
7287*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7288*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm2, 18(%rdi)
7289*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_38: ## %else36
7290*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
7291*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7292*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_40
7293*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#39: ## %cond.store37
7294*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7295*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm2, 19(%rdi)
7296*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_40: ## %else38
7297*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
7298*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7299*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_42
7300*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#41: ## %cond.store39
7301*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7302*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm2, 20(%rdi)
7303*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_42: ## %else40
7304*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
7305*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7306*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_44
7307*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#43: ## %cond.store41
7308*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7309*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm2, 21(%rdi)
7310*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_44: ## %else42
7311*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
7312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_46
7314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#45: ## %cond.store43
7315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm2, 22(%rdi)
7317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_46: ## %else44
7318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
7319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_48
7321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#47: ## %cond.store45
7322*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7323*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm2, 23(%rdi)
7324*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_48: ## %else46
7325*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
7326*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7327*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_50
7328*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#49: ## %cond.store47
7329*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7330*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm2, 24(%rdi)
7331*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_50: ## %else48
7332*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
7333*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7334*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_52
7335*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#51: ## %cond.store49
7336*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7337*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm2, 25(%rdi)
7338*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_52: ## %else50
7339*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
7340*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7341*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_54
7342*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#53: ## %cond.store51
7343*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7344*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm2, 26(%rdi)
7345*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_54: ## %else52
7346*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
7347*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7348*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_56
7349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#55: ## %cond.store53
7350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm2, 27(%rdi)
7352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_56: ## %else54
7353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
7354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_58
7356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#57: ## %cond.store55
7357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7358*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm2, 28(%rdi)
7359*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_58: ## %else56
7360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
7361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_60
7363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#59: ## %cond.store57
7364*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm2, 29(%rdi)
7366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_60: ## %else58
7367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
7368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_62
7370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#61: ## %cond.store59
7371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
7372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm2, 30(%rdi)
7373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_62: ## %else60
7374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
7375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
7376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB57_64
7377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#63: ## %cond.store61
7378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
7379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, 31(%rdi)
7380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB57_64: ## %else62
7381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
7382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
7383*9880d681SAndroid Build Coastguard Worker;
7384*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_32xi8:
7385*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
7386*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
7387*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7388*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_2
7389*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.store
7390*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm1, (%rdi)
7391*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_2: ## %else
7392*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
7393*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7394*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_4
7395*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.store1
7396*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm1, 1(%rdi)
7397*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_4: ## %else2
7398*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
7399*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7400*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_6
7401*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.store3
7402*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm1, 2(%rdi)
7403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_6: ## %else4
7404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
7405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_8
7407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.store5
7408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm1, 3(%rdi)
7409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_8: ## %else6
7410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
7411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_10
7413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.store7
7414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm1, 4(%rdi)
7415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_10: ## %else8
7416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
7417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_12
7419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.store9
7420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm1, 5(%rdi)
7421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_12: ## %else10
7422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
7423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_14
7425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.store11
7426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm1, 6(%rdi)
7427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_14: ## %else12
7428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
7429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_16
7431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.store13
7432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm1, 7(%rdi)
7433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_16: ## %else14
7434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
7435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_18
7437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.store15
7438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm1, 8(%rdi)
7439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_18: ## %else16
7440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
7441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_20
7443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.store17
7444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm1, 9(%rdi)
7445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_20: ## %else18
7446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
7447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_22
7449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.store19
7450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm1, 10(%rdi)
7451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_22: ## %else20
7452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
7453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_24
7455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.store21
7456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm1, 11(%rdi)
7457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_24: ## %else22
7458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
7459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_26
7461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.store23
7462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm1, 12(%rdi)
7463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_26: ## %else24
7464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
7465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_28
7467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.store25
7468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm1, 13(%rdi)
7469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_28: ## %else26
7470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
7471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_30
7473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.store27
7474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm1, 14(%rdi)
7475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_30: ## %else28
7476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
7477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_32
7479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.store29
7480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm1, 15(%rdi)
7481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_32: ## %else30
7482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm0
7483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
7484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_34
7486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#33: ## %cond.store31
7487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm2, 16(%rdi)
7489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_34: ## %else32
7490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
7491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_36
7493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#35: ## %cond.store33
7494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm2, 17(%rdi)
7496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_36: ## %else34
7497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
7498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_38
7500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#37: ## %cond.store35
7501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm2, 18(%rdi)
7503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_38: ## %else36
7504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
7505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_40
7507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#39: ## %cond.store37
7508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm2, 19(%rdi)
7510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_40: ## %else38
7511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
7512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_42
7514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#41: ## %cond.store39
7515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm2, 20(%rdi)
7517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_42: ## %else40
7518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
7519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_44
7521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#43: ## %cond.store41
7522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm2, 21(%rdi)
7524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_44: ## %else42
7525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
7526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_46
7528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#45: ## %cond.store43
7529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm2, 22(%rdi)
7531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_46: ## %else44
7532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
7533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_48
7535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#47: ## %cond.store45
7536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm2, 23(%rdi)
7538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_48: ## %else46
7539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
7540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_50
7542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#49: ## %cond.store47
7543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm2, 24(%rdi)
7545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_50: ## %else48
7546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
7547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_52
7549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#51: ## %cond.store49
7550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm2, 25(%rdi)
7552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_52: ## %else50
7553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
7554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_54
7556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#53: ## %cond.store51
7557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm2, 26(%rdi)
7559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_54: ## %else52
7560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
7561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_56
7563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#55: ## %cond.store53
7564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm2, 27(%rdi)
7566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_56: ## %else54
7567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
7568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_58
7570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#57: ## %cond.store55
7571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm2, 28(%rdi)
7573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_58: ## %else56
7574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
7575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_60
7577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#59: ## %cond.store57
7578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm2, 29(%rdi)
7580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_60: ## %else58
7581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
7582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_62
7584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#61: ## %cond.store59
7585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
7586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm2, 30(%rdi)
7587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_62: ## %else60
7588*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
7589*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
7590*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB57_64
7591*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#63: ## %cond.store61
7592*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
7593*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, 31(%rdi)
7594*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB57_64: ## %else62
7595*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
7596*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
7597*9880d681SAndroid Build Coastguard Worker;
7598*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_32xi8:
7599*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
7600*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, %eax
7601*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7602*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_2
7603*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.store
7604*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm1, (%rdi)
7605*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_2: ## %else
7606*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, %eax
7607*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7608*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_4
7609*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.store1
7610*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm1, 1(%rdi)
7611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_4: ## %else2
7612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, %eax
7613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_6
7615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.store3
7616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm1, 2(%rdi)
7617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_6: ## %else4
7618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, %eax
7619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_8
7621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.store5
7622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm1, 3(%rdi)
7623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_8: ## %else6
7624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, %eax
7625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_10
7627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.store7
7628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm1, 4(%rdi)
7629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_10: ## %else8
7630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, %eax
7631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_12
7633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.store9
7634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm1, 5(%rdi)
7635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_12: ## %else10
7636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, %eax
7637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_14
7639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.store11
7640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm1, 6(%rdi)
7641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_14: ## %else12
7642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, %eax
7643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_16
7645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.store13
7646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm1, 7(%rdi)
7647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_16: ## %else14
7648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, %eax
7649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_18
7651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.store15
7652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm1, 8(%rdi)
7653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_18: ## %else16
7654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, %eax
7655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_20
7657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.store17
7658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm1, 9(%rdi)
7659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_20: ## %else18
7660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, %eax
7661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_22
7663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.store19
7664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm1, 10(%rdi)
7665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_22: ## %else20
7666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, %eax
7667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_24
7669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.store21
7670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm1, 11(%rdi)
7671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_24: ## %else22
7672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, %eax
7673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_26
7675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.store23
7676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm1, 12(%rdi)
7677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_26: ## %else24
7678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm0, %eax
7679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_28
7681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.store25
7682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm1, 13(%rdi)
7683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_28: ## %else26
7684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm0, %eax
7685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_30
7687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.store27
7688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm1, 14(%rdi)
7689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_30: ## %else28
7690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, %eax
7691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_32
7693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.store29
7694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm1, 15(%rdi)
7695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_32: ## %else30
7696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm0
7697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, %eax
7698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_34
7700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#33: ## %cond.store31
7701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm2, 16(%rdi)
7703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_34: ## %else32
7704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, %eax
7705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_36
7707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#35: ## %cond.store33
7708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm2, 17(%rdi)
7710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_36: ## %else34
7711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, %eax
7712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_38
7714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#37: ## %cond.store35
7715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm2, 18(%rdi)
7717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_38: ## %else36
7718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, %eax
7719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_40
7721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#39: ## %cond.store37
7722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm2, 19(%rdi)
7724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_40: ## %else38
7725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, %eax
7726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_42
7728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#41: ## %cond.store39
7729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm2, 20(%rdi)
7731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_42: ## %else40
7732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, %eax
7733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_44
7735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#43: ## %cond.store41
7736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm2, 21(%rdi)
7738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_44: ## %else42
7739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, %eax
7740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_46
7742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#45: ## %cond.store43
7743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm2, 22(%rdi)
7745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_46: ## %else44
7746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, %eax
7747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_48
7749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#47: ## %cond.store45
7750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm2, 23(%rdi)
7752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_48: ## %else46
7753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, %eax
7754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_50
7756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#49: ## %cond.store47
7757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm2, 24(%rdi)
7759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_50: ## %else48
7760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, %eax
7761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_52
7763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#51: ## %cond.store49
7764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm2, 25(%rdi)
7766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_52: ## %else50
7767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, %eax
7768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_54
7770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#53: ## %cond.store51
7771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm2, 26(%rdi)
7773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_54: ## %else52
7774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, %eax
7775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_56
7777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#55: ## %cond.store53
7778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm2, 27(%rdi)
7780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_56: ## %else54
7781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, %eax
7782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_58
7784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#57: ## %cond.store55
7785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm2, 28(%rdi)
7787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_58: ## %else56
7788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm0, %eax
7789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_60
7791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#59: ## %cond.store57
7792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm2, 29(%rdi)
7794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_60: ## %else58
7795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm0, %eax
7796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_62
7798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#61: ## %cond.store59
7799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm2
7800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm2, 30(%rdi)
7801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_62: ## %else60
7802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, %eax
7803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
7804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB57_64
7805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#63: ## %cond.store61
7806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
7807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, 31(%rdi)
7808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB57_64: ## %else62
7809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
7810*9880d681SAndroid Build Coastguard Worker;
7811*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_32xi8:
7812*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
7813*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %ymm0, %ymm0
7814*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %ymm0, %k1
7815*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu8 %ymm1, (%rdi) {%k1}
7816*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
7817*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v32i8.p0v32i8(<32 x i8> %val, <32 x i8>* %addr, i32 4, <32 x i1>%mask)
7818*9880d681SAndroid Build Coastguard Worker  ret void
7819*9880d681SAndroid Build Coastguard Worker}
7820*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v32i8.p0v32i8(<32 x i8>, <32 x i8>*, i32, <32 x i1>)
7821*9880d681SAndroid Build Coastguard Worker
7822*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_64xi8(<64 x i1> %mask, <64 x i8>* %addr, <64 x i8> %val) {
7823*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_64xi8:
7824*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
7825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq {{[0-9]+}}(%rsp), %rax
7826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dil
7827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_2
7828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.store
7829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, (%rax)
7830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_2: ## %else
7831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %sil
7832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_4
7833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.store1
7834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, 1(%rax)
7835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_4: ## %else2
7836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_6
7838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.store3
7839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, 2(%rax)
7840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_6: ## %else4
7841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_8
7843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.store5
7844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, 3(%rax)
7845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_8: ## %else6
7846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r8b
7847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_10
7848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.store7
7849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, 4(%rax)
7850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_10: ## %else8
7851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %r9b
7853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_12
7854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.store9
7855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, 5(%rax)
7856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_12: ## %else10
7857*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_14
7860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.store11
7861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, 6(%rax)
7862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_14: ## %else12
7863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_16
7866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.store13
7867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, 7(%rax)
7868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_16: ## %else14
7869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_18
7872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.store15
7873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, 8(%rax)
7874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_18: ## %else16
7875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7876*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7877*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_20
7878*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.store17
7879*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, 9(%rax)
7880*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_20: ## %else18
7881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_22
7884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.store19
7885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, 10(%rax)
7886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_22: ## %else20
7887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7888*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7889*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_24
7890*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.store21
7891*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, 11(%rax)
7892*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_24: ## %else22
7893*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7894*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7895*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_26
7896*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.store23
7897*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, 12(%rax)
7898*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_26: ## %else24
7899*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7900*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7901*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_28
7902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.store25
7903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, 13(%rax)
7904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_28: ## %else26
7905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_30
7908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.store27
7909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, 14(%rax)
7910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_30: ## %else28
7911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_32
7914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.store29
7915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, 15(%rax)
7916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_32: ## %else30
7917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_34
7920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#33: ## %cond.store31
7921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm2, 16(%rax)
7923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_34: ## %else32
7924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_36
7927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#35: ## %cond.store33
7928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm2, 17(%rax)
7930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_36: ## %else34
7931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_38
7934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#37: ## %cond.store35
7935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm2, 18(%rax)
7937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_38: ## %else36
7938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7940*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_40
7941*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#39: ## %cond.store37
7942*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7943*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm2, 19(%rax)
7944*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_40: ## %else38
7945*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7946*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7947*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_42
7948*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#41: ## %cond.store39
7949*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7950*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm2, 20(%rax)
7951*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_42: ## %else40
7952*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7953*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7954*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_44
7955*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#43: ## %cond.store41
7956*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7957*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm2, 21(%rax)
7958*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_44: ## %else42
7959*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7960*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7961*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_46
7962*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#45: ## %cond.store43
7963*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7964*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm2, 22(%rax)
7965*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_46: ## %else44
7966*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7967*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7968*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_48
7969*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#47: ## %cond.store45
7970*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7971*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm2, 23(%rax)
7972*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_48: ## %else46
7973*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7974*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7975*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_50
7976*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#49: ## %cond.store47
7977*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7978*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm2, 24(%rax)
7979*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_50: ## %else48
7980*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7981*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7982*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_52
7983*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#51: ## %cond.store49
7984*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7985*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm2, 25(%rax)
7986*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_52: ## %else50
7987*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
7988*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
7989*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_54
7990*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#53: ## %cond.store51
7991*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7992*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm2, 26(%rax)
7993*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_54: ## %else52
7994*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
7995*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
7996*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_56
7997*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#55: ## %cond.store53
7998*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
7999*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm2, 27(%rax)
8000*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_56: ## %else54
8001*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8002*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8003*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_58
8004*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#57: ## %cond.store55
8005*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
8006*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm2, 28(%rax)
8007*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_58: ## %else56
8008*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8009*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8010*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_60
8011*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#59: ## %cond.store57
8012*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
8013*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm2, 29(%rax)
8014*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_60: ## %else58
8015*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8016*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8017*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_62
8018*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#61: ## %cond.store59
8019*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
8020*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm2, 30(%rax)
8021*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_62: ## %else60
8022*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8023*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8024*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_64
8025*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#63: ## %cond.store61
8026*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm0
8027*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, 31(%rax)
8028*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_64: ## %else62
8029*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8030*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8031*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_66
8032*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#65: ## %cond.store63
8033*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm1, 32(%rax)
8034*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_66: ## %else64
8035*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8036*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8037*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_68
8038*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#67: ## %cond.store65
8039*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm1, 33(%rax)
8040*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_68: ## %else66
8041*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8042*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8043*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_70
8044*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#69: ## %cond.store67
8045*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm1, 34(%rax)
8046*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_70: ## %else68
8047*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8048*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8049*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_72
8050*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#71: ## %cond.store69
8051*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm1, 35(%rax)
8052*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_72: ## %else70
8053*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8054*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8055*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_74
8056*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#73: ## %cond.store71
8057*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm1, 36(%rax)
8058*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_74: ## %else72
8059*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8060*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8061*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_76
8062*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#75: ## %cond.store73
8063*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm1, 37(%rax)
8064*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_76: ## %else74
8065*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8066*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8067*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_78
8068*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#77: ## %cond.store75
8069*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm1, 38(%rax)
8070*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_78: ## %else76
8071*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8072*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8073*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_80
8074*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#79: ## %cond.store77
8075*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm1, 39(%rax)
8076*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_80: ## %else78
8077*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8078*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8079*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_82
8080*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#81: ## %cond.store79
8081*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm1, 40(%rax)
8082*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_82: ## %else80
8083*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8084*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8085*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_84
8086*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#83: ## %cond.store81
8087*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm1, 41(%rax)
8088*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_84: ## %else82
8089*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8090*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8091*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_86
8092*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#85: ## %cond.store83
8093*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm1, 42(%rax)
8094*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_86: ## %else84
8095*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8096*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8097*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_88
8098*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#87: ## %cond.store85
8099*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm1, 43(%rax)
8100*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_88: ## %else86
8101*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8102*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8103*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_90
8104*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#89: ## %cond.store87
8105*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm1, 44(%rax)
8106*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_90: ## %else88
8107*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8108*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8109*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_92
8110*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#91: ## %cond.store89
8111*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm1, 45(%rax)
8112*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_92: ## %else90
8113*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8114*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8115*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_94
8116*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#93: ## %cond.store91
8117*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm1, 46(%rax)
8118*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_94: ## %else92
8119*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8120*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8121*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_96
8122*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#95: ## %cond.store93
8123*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm1, 47(%rax)
8124*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_96: ## %else94
8125*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8126*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8127*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_98
8128*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#97: ## %cond.store95
8129*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8130*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, 48(%rax)
8131*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_98: ## %else96
8132*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8133*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8134*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_100
8135*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#99: ## %cond.store97
8136*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8137*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, 49(%rax)
8138*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_100: ## %else98
8139*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8140*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8141*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_102
8142*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#101: ## %cond.store99
8143*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8144*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, 50(%rax)
8145*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_102: ## %else100
8146*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8147*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8148*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_104
8149*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#103: ## %cond.store101
8150*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8151*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, 51(%rax)
8152*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_104: ## %else102
8153*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8154*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8155*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_106
8156*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#105: ## %cond.store103
8157*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8158*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, 52(%rax)
8159*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_106: ## %else104
8160*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8161*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8162*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_108
8163*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#107: ## %cond.store105
8164*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8165*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, 53(%rax)
8166*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_108: ## %else106
8167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_110
8170*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#109: ## %cond.store107
8171*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, 54(%rax)
8173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_110: ## %else108
8174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_112
8177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#111: ## %cond.store109
8178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, 55(%rax)
8180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_112: ## %else110
8181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8182*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8183*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_114
8184*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#113: ## %cond.store111
8185*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8186*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, 56(%rax)
8187*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_114: ## %else112
8188*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8189*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8190*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_116
8191*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#115: ## %cond.store113
8192*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8193*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, 57(%rax)
8194*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_116: ## %else114
8195*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_118
8198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#117: ## %cond.store115
8199*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8200*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, 58(%rax)
8201*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_118: ## %else116
8202*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8203*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8204*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_120
8205*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#119: ## %cond.store117
8206*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8207*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, 59(%rax)
8208*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_120: ## %else118
8209*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8210*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8211*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_122
8212*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#121: ## %cond.store119
8213*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8214*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, 60(%rax)
8215*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_122: ## %else120
8216*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8217*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8218*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_124
8219*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#123: ## %cond.store121
8220*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8221*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, 61(%rax)
8222*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_124: ## %else122
8223*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8224*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %cl
8225*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_126
8226*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#125: ## %cond.store123
8227*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8228*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, 62(%rax)
8229*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_126: ## %else124
8230*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %dl
8231*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB58_128
8232*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#127: ## %cond.store125
8233*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
8234*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, 63(%rax)
8235*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB58_128: ## %else126
8236*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
8237*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
8238*9880d681SAndroid Build Coastguard Worker;
8239*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_64xi8:
8240*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
8241*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax
8242*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dil
8243*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_2
8244*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.store
8245*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, (%rax)
8246*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_2: ## %else
8247*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %sil
8248*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_4
8249*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.store1
8250*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, 1(%rax)
8251*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_4: ## %else2
8252*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8253*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_6
8254*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.store3
8255*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, 2(%rax)
8256*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_6: ## %else4
8257*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8258*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_8
8259*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.store5
8260*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, 3(%rax)
8261*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_8: ## %else6
8262*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r8b
8263*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_10
8264*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.store7
8265*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, 4(%rax)
8266*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_10: ## %else8
8267*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8268*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %r9b
8269*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_12
8270*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.store9
8271*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, 5(%rax)
8272*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_12: ## %else10
8273*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8274*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8275*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_14
8276*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.store11
8277*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, 6(%rax)
8278*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_14: ## %else12
8279*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8280*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8281*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_16
8282*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.store13
8283*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, 7(%rax)
8284*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_16: ## %else14
8285*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8286*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8287*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_18
8288*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.store15
8289*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, 8(%rax)
8290*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_18: ## %else16
8291*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8292*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8293*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_20
8294*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.store17
8295*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, 9(%rax)
8296*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_20: ## %else18
8297*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8298*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8299*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_22
8300*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.store19
8301*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, 10(%rax)
8302*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_22: ## %else20
8303*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8304*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8305*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_24
8306*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.store21
8307*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, 11(%rax)
8308*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_24: ## %else22
8309*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8310*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8311*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_26
8312*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.store23
8313*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, 12(%rax)
8314*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_26: ## %else24
8315*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8316*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8317*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_28
8318*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.store25
8319*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, 13(%rax)
8320*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_28: ## %else26
8321*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8322*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8323*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_30
8324*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.store27
8325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, 14(%rax)
8326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_30: ## %else28
8327*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8328*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8329*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_32
8330*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.store29
8331*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, 15(%rax)
8332*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_32: ## %else30
8333*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8334*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8335*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_34
8336*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#33: ## %cond.store31
8337*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8338*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm2, 16(%rax)
8339*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_34: ## %else32
8340*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8341*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8342*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_36
8343*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#35: ## %cond.store33
8344*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8345*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm2, 17(%rax)
8346*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_36: ## %else34
8347*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8348*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8349*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_38
8350*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#37: ## %cond.store35
8351*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8352*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm2, 18(%rax)
8353*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_38: ## %else36
8354*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8355*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8356*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_40
8357*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#39: ## %cond.store37
8358*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8359*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm2, 19(%rax)
8360*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_40: ## %else38
8361*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8362*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8363*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_42
8364*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#41: ## %cond.store39
8365*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8366*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm2, 20(%rax)
8367*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_42: ## %else40
8368*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8369*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8370*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_44
8371*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#43: ## %cond.store41
8372*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8373*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm2, 21(%rax)
8374*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_44: ## %else42
8375*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8376*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8377*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_46
8378*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#45: ## %cond.store43
8379*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8380*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm2, 22(%rax)
8381*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_46: ## %else44
8382*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8383*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8384*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_48
8385*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#47: ## %cond.store45
8386*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8387*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm2, 23(%rax)
8388*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_48: ## %else46
8389*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8390*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8391*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_50
8392*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#49: ## %cond.store47
8393*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8394*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm2, 24(%rax)
8395*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_50: ## %else48
8396*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8397*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8398*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_52
8399*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#51: ## %cond.store49
8400*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8401*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm2, 25(%rax)
8402*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_52: ## %else50
8403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_54
8406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#53: ## %cond.store51
8407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm2, 26(%rax)
8409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_54: ## %else52
8410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_56
8413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#55: ## %cond.store53
8414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm2, 27(%rax)
8416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_56: ## %else54
8417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_58
8420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#57: ## %cond.store55
8421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm2, 28(%rax)
8423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_58: ## %else56
8424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_60
8427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#59: ## %cond.store57
8428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm2, 29(%rax)
8430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_60: ## %else58
8431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_62
8434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#61: ## %cond.store59
8435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
8436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm2, 30(%rax)
8437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_62: ## %else60
8438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_64
8441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#63: ## %cond.store61
8442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm0
8443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, 31(%rax)
8444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_64: ## %else62
8445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_66
8448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#65: ## %cond.store63
8449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm1, 32(%rax)
8450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_66: ## %else64
8451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_68
8454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#67: ## %cond.store65
8455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm1, 33(%rax)
8456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_68: ## %else66
8457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_70
8460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#69: ## %cond.store67
8461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm1, 34(%rax)
8462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_70: ## %else68
8463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_72
8466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#71: ## %cond.store69
8467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm1, 35(%rax)
8468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_72: ## %else70
8469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_74
8472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#73: ## %cond.store71
8473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm1, 36(%rax)
8474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_74: ## %else72
8475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_76
8478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#75: ## %cond.store73
8479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm1, 37(%rax)
8480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_76: ## %else74
8481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_78
8484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#77: ## %cond.store75
8485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm1, 38(%rax)
8486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_78: ## %else76
8487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_80
8490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#79: ## %cond.store77
8491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm1, 39(%rax)
8492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_80: ## %else78
8493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_82
8496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#81: ## %cond.store79
8497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm1, 40(%rax)
8498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_82: ## %else80
8499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_84
8502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#83: ## %cond.store81
8503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm1, 41(%rax)
8504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_84: ## %else82
8505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_86
8508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#85: ## %cond.store83
8509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm1, 42(%rax)
8510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_86: ## %else84
8511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_88
8514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#87: ## %cond.store85
8515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm1, 43(%rax)
8516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_88: ## %else86
8517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_90
8520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#89: ## %cond.store87
8521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm1, 44(%rax)
8522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_90: ## %else88
8523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_92
8526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#91: ## %cond.store89
8527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm1, 45(%rax)
8528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_92: ## %else90
8529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_94
8532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#93: ## %cond.store91
8533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm1, 46(%rax)
8534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_94: ## %else92
8535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_96
8538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#95: ## %cond.store93
8539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm1, 47(%rax)
8540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_96: ## %else94
8541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_98
8544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#97: ## %cond.store95
8545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, 48(%rax)
8547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_98: ## %else96
8548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_100
8551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#99: ## %cond.store97
8552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, 49(%rax)
8554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_100: ## %else98
8555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_102
8558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#101: ## %cond.store99
8559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, 50(%rax)
8561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_102: ## %else100
8562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_104
8565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#103: ## %cond.store101
8566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, 51(%rax)
8568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_104: ## %else102
8569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_106
8572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#105: ## %cond.store103
8573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, 52(%rax)
8575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_106: ## %else104
8576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_108
8579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#107: ## %cond.store105
8580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, 53(%rax)
8582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_108: ## %else106
8583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_110
8586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#109: ## %cond.store107
8587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8588*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, 54(%rax)
8589*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_110: ## %else108
8590*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8591*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8592*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_112
8593*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#111: ## %cond.store109
8594*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8595*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, 55(%rax)
8596*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_112: ## %else110
8597*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8598*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8599*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_114
8600*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#113: ## %cond.store111
8601*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8602*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, 56(%rax)
8603*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_114: ## %else112
8604*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8605*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8606*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_116
8607*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#115: ## %cond.store113
8608*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8609*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, 57(%rax)
8610*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_116: ## %else114
8611*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8612*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8613*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_118
8614*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#117: ## %cond.store115
8615*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8616*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, 58(%rax)
8617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_118: ## %else116
8618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8619*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8620*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_120
8621*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#119: ## %cond.store117
8622*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8623*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, 59(%rax)
8624*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_120: ## %else118
8625*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8626*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8627*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_122
8628*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#121: ## %cond.store119
8629*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8630*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, 60(%rax)
8631*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_122: ## %else120
8632*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %cl
8633*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8634*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_124
8635*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#123: ## %cond.store121
8636*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8637*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, 61(%rax)
8638*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_124: ## %else122
8639*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb {{[0-9]+}}(%rsp), %dl
8640*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %cl
8641*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_126
8642*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#125: ## %cond.store123
8643*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8644*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, 62(%rax)
8645*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_126: ## %else124
8646*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %dl
8647*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB58_128
8648*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#127: ## %cond.store125
8649*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
8650*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, 63(%rax)
8651*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB58_128: ## %else126
8652*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
8653*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
8654*9880d681SAndroid Build Coastguard Worker;
8655*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_64xi8:
8656*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
8657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
8658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
8659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k0
8660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k0, %k1
8661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_2
8665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.store
8666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm4, (%rdi)
8667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_2: ## %else
8668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k0, %k1
8669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_4
8673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.store1
8674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm4, 1(%rdi)
8675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_4: ## %else2
8676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k0, %k1
8677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_6
8681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.store3
8682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm4, 2(%rdi)
8683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_6: ## %else4
8684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k0, %k1
8685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_8
8689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.store5
8690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm4, 3(%rdi)
8691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_8: ## %else6
8692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k0, %k1
8693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_10
8697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.store7
8698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm4, 4(%rdi)
8699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_10: ## %else8
8700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k0, %k1
8701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_12
8705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.store9
8706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm4, 5(%rdi)
8707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_12: ## %else10
8708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k0, %k1
8709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_14
8713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.store11
8714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm4, 6(%rdi)
8715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_14: ## %else12
8716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k1
8717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_16
8721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.store13
8722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm4, 7(%rdi)
8723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_16: ## %else14
8724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k0, %k1
8725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_18
8729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.store15
8730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm4, 8(%rdi)
8731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_18: ## %else16
8732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k0, %k1
8733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_20
8737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.store17
8738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm4, 9(%rdi)
8739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_20: ## %else18
8740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k0, %k1
8741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_22
8745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.store19
8746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm4, 10(%rdi)
8747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_22: ## %else20
8748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k0, %k1
8749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_24
8753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.store21
8754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm4, 11(%rdi)
8755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_24: ## %else22
8756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k0, %k1
8757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_26
8761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.store23
8762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm4, 12(%rdi)
8763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_26: ## %else24
8764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm1, %zmm0
8765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k0, %k1
8766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_28
8770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.store25
8771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm4, 13(%rdi)
8772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_28: ## %else26
8773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
8774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k0, %k1
8775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_30
8779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.store27
8780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm4, 14(%rdi)
8781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_30: ## %else28
8782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
8783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k0, %k0
8784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_32
8788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.store29
8789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm4, 15(%rdi)
8790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_32: ## %else30
8791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k1, %k0
8792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_34
8796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#33: ## %cond.store31
8797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, 16(%rdi)
8799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_34: ## %else32
8800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k1, %k0
8801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_36
8805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#35: ## %cond.store33
8806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, 17(%rdi)
8808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_36: ## %else34
8809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k1, %k0
8810*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8811*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8812*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8813*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_38
8814*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#37: ## %cond.store35
8815*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8816*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, 18(%rdi)
8817*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_38: ## %else36
8818*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k1, %k0
8819*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8820*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8821*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8822*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_40
8823*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#39: ## %cond.store37
8824*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8825*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, 19(%rdi)
8826*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_40: ## %else38
8827*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k1, %k0
8828*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8829*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8830*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8831*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_42
8832*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#41: ## %cond.store39
8833*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8834*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, 20(%rdi)
8835*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_42: ## %else40
8836*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k1, %k0
8837*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8838*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8839*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8840*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_44
8841*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#43: ## %cond.store41
8842*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8843*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, 21(%rdi)
8844*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_44: ## %else42
8845*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k1, %k0
8846*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8847*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8848*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8849*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_46
8850*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#45: ## %cond.store43
8851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, 22(%rdi)
8853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_46: ## %else44
8854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k1, %k0
8855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_48
8859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#47: ## %cond.store45
8860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8861*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, 23(%rdi)
8862*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_48: ## %else46
8863*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k1, %k0
8864*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8865*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8866*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8867*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_50
8868*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#49: ## %cond.store47
8869*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8870*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, 24(%rdi)
8871*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_50: ## %else48
8872*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k1, %k0
8873*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_52
8877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#51: ## %cond.store49
8878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, 25(%rdi)
8880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_52: ## %else50
8881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k1, %k0
8882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8883*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8884*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8885*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_54
8886*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#53: ## %cond.store51
8887*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8888*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, 26(%rdi)
8889*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_54: ## %else52
8890*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k1, %k0
8891*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8892*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8893*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8894*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_56
8895*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#55: ## %cond.store53
8896*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8897*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, 27(%rdi)
8898*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_56: ## %else54
8899*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k1, %k0
8900*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_58
8904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#57: ## %cond.store55
8905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, 28(%rdi)
8907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_58: ## %else56
8908*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm2, %zmm0
8909*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k1, %k0
8910*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8911*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8912*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8913*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_60
8914*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#59: ## %cond.store57
8915*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm1
8916*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm1, 29(%rdi)
8917*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_60: ## %else58
8918*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
8919*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k1, %k0
8920*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
8921*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
8922*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8923*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_62
8924*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#61: ## %cond.store59
8925*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm1
8926*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm1, 30(%rdi)
8927*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_62: ## %else60
8928*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k0
8929*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k1, %k1
8930*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8931*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8932*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8933*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_64
8934*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#63: ## %cond.store61
8935*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm4, %xmm0
8936*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, 31(%rdi)
8937*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_64: ## %else62
8938*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k0, %k1
8939*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8940*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8941*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8942*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_66
8943*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#65: ## %cond.store63
8944*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm5, 32(%rdi)
8945*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_66: ## %else64
8946*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k0, %k1
8947*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8948*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8949*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8950*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_68
8951*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#67: ## %cond.store65
8952*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm5, 33(%rdi)
8953*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_68: ## %else66
8954*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k0, %k1
8955*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8956*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8957*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8958*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_70
8959*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#69: ## %cond.store67
8960*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm5, 34(%rdi)
8961*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_70: ## %else68
8962*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k0, %k1
8963*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8964*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8965*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8966*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_72
8967*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#71: ## %cond.store69
8968*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm5, 35(%rdi)
8969*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_72: ## %else70
8970*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k0, %k1
8971*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8972*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8973*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8974*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_74
8975*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#73: ## %cond.store71
8976*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm5, 36(%rdi)
8977*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_74: ## %else72
8978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k0, %k1
8979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_76
8983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#75: ## %cond.store73
8984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm5, 37(%rdi)
8985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_76: ## %else74
8986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k0, %k1
8987*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8988*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8989*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8990*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_78
8991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#77: ## %cond.store75
8992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm5, 38(%rdi)
8993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_78: ## %else76
8994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k1
8995*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
8996*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
8997*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
8998*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_80
8999*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#79: ## %cond.store77
9000*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm5, 39(%rdi)
9001*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_80: ## %else78
9002*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k0, %k1
9003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_82
9007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#81: ## %cond.store79
9008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm5, 40(%rdi)
9009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_82: ## %else80
9010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k0, %k1
9011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_84
9015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#83: ## %cond.store81
9016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm5, 41(%rdi)
9017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_84: ## %else82
9018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k0, %k1
9019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_86
9023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#85: ## %cond.store83
9024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm5, 42(%rdi)
9025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_86: ## %else84
9026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k0, %k1
9027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_88
9031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#87: ## %cond.store85
9032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm5, 43(%rdi)
9033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_88: ## %else86
9034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k0, %k1
9035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_90
9039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#89: ## %cond.store87
9040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm5, 44(%rdi)
9041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_90: ## %else88
9042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm3, %zmm0
9043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k0, %k1
9044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_92
9048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#91: ## %cond.store89
9049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm5, 45(%rdi)
9050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_92: ## %else90
9051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
9052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k0, %k1
9053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_94
9057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#93: ## %cond.store91
9058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm5, 46(%rdi)
9059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_94: ## %else92
9060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k1
9061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k0, %k0
9062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_96
9066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#95: ## %cond.store93
9067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm5, 47(%rdi)
9068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_96: ## %else94
9069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k1, %k0
9070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_98
9074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#97: ## %cond.store95
9075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, 48(%rdi)
9077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_98: ## %else96
9078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k1, %k0
9079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_100
9083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#99: ## %cond.store97
9084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, 49(%rdi)
9086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_100: ## %else98
9087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k1, %k0
9088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_102
9092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#101: ## %cond.store99
9093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, 50(%rdi)
9095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_102: ## %else100
9096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k1, %k0
9097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_104
9101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#103: ## %cond.store101
9102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, 51(%rdi)
9104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_104: ## %else102
9105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k1, %k0
9106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_106
9110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#105: ## %cond.store103
9111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, 52(%rdi)
9113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_106: ## %else104
9114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k1, %k0
9115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_108
9119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#107: ## %cond.store105
9120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, 53(%rdi)
9122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_108: ## %else106
9123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k1, %k0
9124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_110
9128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#109: ## %cond.store107
9129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, 54(%rdi)
9131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_110: ## %else108
9132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k1, %k0
9133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_112
9137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#111: ## %cond.store109
9138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, 55(%rdi)
9140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_112: ## %else110
9141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k1, %k0
9142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_114
9146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#113: ## %cond.store111
9147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, 56(%rdi)
9149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_114: ## %else112
9150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k1, %k0
9151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_116
9155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#115: ## %cond.store113
9156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9157*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, 57(%rdi)
9158*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_116: ## %else114
9159*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k1, %k0
9160*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9161*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9162*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9163*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_118
9164*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#117: ## %cond.store115
9165*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9166*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, 58(%rdi)
9167*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_118: ## %else116
9168*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k1, %k0
9169*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9170*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9171*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9172*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_120
9173*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#119: ## %cond.store117
9174*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9175*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, 59(%rdi)
9176*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_120: ## %else118
9177*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k1, %k0
9178*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_122
9182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#121: ## %cond.store119
9183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, 60(%rdi)
9185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_122: ## %else120
9186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k1, %k0
9187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_124
9191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#123: ## %cond.store121
9192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm0, 61(%rdi)
9194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_124: ## %else122
9195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k1, %k0
9196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_126
9200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#125: ## %cond.store123
9201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm0, 62(%rdi)
9203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_126: ## %else124
9204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k1, %k0
9205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB58_128
9209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#127: ## %cond.store125
9210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm5, %xmm0
9211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, 63(%rdi)
9212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB58_128: ## %else126
9213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
9214*9880d681SAndroid Build Coastguard Worker;
9215*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_64xi8:
9216*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
9217*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %zmm0, %zmm0
9218*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %zmm0, %k1
9219*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu8 %zmm1, (%rdi) {%k1}
9220*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
9221*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v64i8.p0v64i8(<64 x i8> %val, <64 x i8>* %addr, i32 4, <64 x i1>%mask)
9222*9880d681SAndroid Build Coastguard Worker  ret void
9223*9880d681SAndroid Build Coastguard Worker}
9224*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v64i8.p0v64i8(<64 x i8>, <64 x i8>*, i32, <64 x i1>)
9225*9880d681SAndroid Build Coastguard Worker
9226*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_8xi16(<8 x i1> %mask, <8 x i16>* %addr, <8 x i16> %val) {
9227*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_store_8xi16:
9228*9880d681SAndroid Build Coastguard Worker; AVX:       ## BB#0:
9229*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $0, %xmm0, %eax
9230*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9231*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_2
9232*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#1: ## %cond.store
9233*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vmovd %xmm1, %eax
9234*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    movw %ax, (%rdi)
9235*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_2: ## %else
9236*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $2, %xmm0, %eax
9237*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9238*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_4
9239*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#3: ## %cond.store1
9240*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
9241*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_4: ## %else2
9242*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $4, %xmm0, %eax
9243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_6
9245*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#5: ## %cond.store3
9246*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
9247*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_6: ## %else4
9248*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $6, %xmm0, %eax
9249*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_8
9251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#7: ## %cond.store5
9252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
9253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_8: ## %else6
9254*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $8, %xmm0, %eax
9255*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9256*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_10
9257*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#9: ## %cond.store7
9258*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
9259*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_10: ## %else8
9260*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $10, %xmm0, %eax
9261*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9262*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_12
9263*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#11: ## %cond.store9
9264*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
9265*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_12: ## %else10
9266*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $12, %xmm0, %eax
9267*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9268*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_14
9269*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#13: ## %cond.store11
9270*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
9271*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_14: ## %else12
9272*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrb $14, %xmm0, %eax
9273*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    testb $1, %al
9274*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    je LBB59_16
9275*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  ## BB#15: ## %cond.store13
9276*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
9277*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:  LBB59_16: ## %else14
9278*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
9279*9880d681SAndroid Build Coastguard Worker;
9280*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_8xi16:
9281*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
9282*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxwq %xmm0, %zmm0
9283*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpsllq $63, %zmm0, %zmm0
9284*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmq %zmm0, %zmm0, %k0
9285*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k0, %k1
9286*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9287*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9288*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9289*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_2
9290*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.store
9291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %xmm1, %eax
9292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw %ax, (%rdi)
9293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_2: ## %else
9294*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k0, %k1
9295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_4
9299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.store1
9300*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
9301*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_4: ## %else2
9302*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k0, %k1
9303*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9304*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9305*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9306*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_6
9307*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.store3
9308*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
9309*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_6: ## %else4
9310*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k0, %k1
9311*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9312*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9313*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9314*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_8
9315*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.store5
9316*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
9317*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_8: ## %else6
9318*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k0, %k1
9319*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9320*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9321*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9322*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_10
9323*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.store7
9324*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
9325*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_10: ## %else8
9326*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k0, %k1
9327*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9328*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9329*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_12
9331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.store9
9332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
9333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_12: ## %else10
9334*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k0, %k1
9335*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9336*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9337*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9338*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_14
9339*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.store11
9340*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
9341*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_14: ## %else12
9342*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k0
9343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB59_16
9347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.store13
9348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
9349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB59_16: ## %else14
9350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
9351*9880d681SAndroid Build Coastguard Worker;
9352*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_8xi16:
9353*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
9354*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $15, %xmm0, %xmm0
9355*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovw2m %xmm0, %k1
9356*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu16 %xmm1, (%rdi) {%k1}
9357*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
9358*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v8i16.p0v8i16(<8 x i16> %val, <8 x i16>* %addr, i32 4, <8 x i1>%mask)
9359*9880d681SAndroid Build Coastguard Worker  ret void
9360*9880d681SAndroid Build Coastguard Worker}
9361*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v8i16.p0v8i16(<8 x i16>, <8 x i16>*, i32, <8 x i1>)
9362*9880d681SAndroid Build Coastguard Worker
9363*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_16xi16(<16 x i1> %mask, <16 x i16>* %addr, <16 x i16> %val) {
9364*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_16xi16:
9365*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
9366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
9367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_2
9369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.store
9370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %xmm1, %eax
9371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movw %ax, (%rdi)
9372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_2: ## %else
9373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
9374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_4
9376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.store1
9377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
9378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_4: ## %else2
9379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
9380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_6
9382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.store3
9383*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
9384*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_6: ## %else4
9385*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
9386*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9387*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_8
9388*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.store5
9389*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
9390*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_8: ## %else6
9391*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
9392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_10
9394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.store7
9395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
9396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_10: ## %else8
9397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
9398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_12
9400*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.store9
9401*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
9402*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_12: ## %else10
9403*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
9404*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9405*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_14
9406*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.store11
9407*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
9408*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_14: ## %else12
9409*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
9410*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9411*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_16
9412*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.store13
9413*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
9414*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_16: ## %else14
9415*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
9416*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9417*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_18
9418*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.store15
9419*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
9420*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %xmm2, %eax
9421*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movw %ax, 16(%rdi)
9422*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_18: ## %else16
9423*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
9424*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9425*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_20
9426*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.store17
9427*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
9428*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $1, %xmm2, 18(%rdi)
9429*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_20: ## %else18
9430*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
9431*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9432*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_22
9433*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.store19
9434*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
9435*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $2, %xmm2, 20(%rdi)
9436*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_22: ## %else20
9437*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
9438*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9439*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_24
9440*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.store21
9441*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
9442*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $3, %xmm2, 22(%rdi)
9443*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_24: ## %else22
9444*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
9445*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9446*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_26
9447*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.store23
9448*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
9449*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $4, %xmm2, 24(%rdi)
9450*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_26: ## %else24
9451*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
9452*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9453*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_28
9454*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.store25
9455*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
9456*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $5, %xmm2, 26(%rdi)
9457*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_28: ## %else26
9458*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
9459*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9460*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_30
9461*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.store27
9462*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
9463*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $6, %xmm2, 28(%rdi)
9464*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_30: ## %else28
9465*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
9466*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9467*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB60_32
9468*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.store29
9469*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
9470*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $7, %xmm0, 30(%rdi)
9471*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB60_32: ## %else30
9472*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
9473*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
9474*9880d681SAndroid Build Coastguard Worker;
9475*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_16xi16:
9476*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
9477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
9478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_2
9480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.store
9481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %xmm1, %eax
9482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movw %ax, (%rdi)
9483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_2: ## %else
9484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
9485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_4
9487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.store1
9488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
9489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_4: ## %else2
9490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
9491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_6
9493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.store3
9494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
9495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_6: ## %else4
9496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
9497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_8
9499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.store5
9500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
9501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_8: ## %else6
9502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
9503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_10
9505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.store7
9506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
9507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_10: ## %else8
9508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
9509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_12
9511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.store9
9512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
9513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_12: ## %else10
9514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
9515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_14
9517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.store11
9518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
9519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_14: ## %else12
9520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
9521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_16
9523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.store13
9524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
9525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_16: ## %else14
9526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
9527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_18
9529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.store15
9530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
9531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %xmm2, %eax
9532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movw %ax, 16(%rdi)
9533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_18: ## %else16
9534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
9535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_20
9537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.store17
9538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
9539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $1, %xmm2, 18(%rdi)
9540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_20: ## %else18
9541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
9542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_22
9544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.store19
9545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
9546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $2, %xmm2, 20(%rdi)
9547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_22: ## %else20
9548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
9549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_24
9551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.store21
9552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
9553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $3, %xmm2, 22(%rdi)
9554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_24: ## %else22
9555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
9556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_26
9558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.store23
9559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
9560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $4, %xmm2, 24(%rdi)
9561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_26: ## %else24
9562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
9563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_28
9565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.store25
9566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
9567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $5, %xmm2, 26(%rdi)
9568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_28: ## %else26
9569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
9570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_30
9572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.store27
9573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
9574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $6, %xmm2, 28(%rdi)
9575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_30: ## %else28
9576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
9577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB60_32
9579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.store29
9580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm0
9581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $7, %xmm0, 30(%rdi)
9582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB60_32: ## %else30
9583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
9584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
9585*9880d681SAndroid Build Coastguard Worker;
9586*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_16xi16:
9587*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
9588*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpmovsxbd %xmm0, %zmm0
9589*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpslld $31, %zmm0, %zmm0
9590*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vptestmd %zmm0, %zmm0, %k0
9591*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $15, %k0, %k1
9592*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9593*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9594*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9595*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_2
9596*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.store
9597*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %xmm1, %eax
9598*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw %ax, (%rdi)
9599*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_2: ## %else
9600*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $14, %k0, %k1
9601*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9602*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9603*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9604*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_4
9605*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.store1
9606*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
9607*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_4: ## %else2
9608*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $13, %k0, %k1
9609*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9610*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_6
9613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.store3
9614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
9615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_6: ## %else4
9616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $12, %k0, %k1
9617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_8
9621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.store5
9622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
9623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_8: ## %else6
9624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $11, %k0, %k1
9625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_10
9629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.store7
9630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
9631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_10: ## %else8
9632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $10, %k0, %k1
9633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_12
9637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.store9
9638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
9639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_12: ## %else10
9640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $9, %k0, %k1
9641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_14
9645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.store11
9646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
9647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_14: ## %else12
9648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $8, %k0, %k1
9649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_16
9653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.store13
9654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
9655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_16: ## %else14
9656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $7, %k0, %k1
9657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_18
9661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.store15
9662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %xmm0, %eax
9664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw %ax, 16(%rdi)
9665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_18: ## %else16
9666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $6, %k0, %k1
9667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_20
9671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.store17
9672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $1, %xmm0, 18(%rdi)
9674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_20: ## %else18
9675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $5, %k0, %k1
9676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_22
9680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.store19
9681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $2, %xmm0, 20(%rdi)
9683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_22: ## %else20
9684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $4, %k0, %k1
9685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_24
9689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.store21
9690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $3, %xmm0, 22(%rdi)
9692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_24: ## %else22
9693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $3, %k0, %k1
9694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_26
9698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.store23
9699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $4, %xmm0, 24(%rdi)
9701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_26: ## %else24
9702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $2, %k0, %k1
9703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_28
9707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.store25
9708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $5, %xmm0, 26(%rdi)
9710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_28: ## %else26
9711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $1, %k0, %k1
9712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k1, %k1
9713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k1, %eax
9714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_30
9716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.store27
9717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $6, %xmm0, 28(%rdi)
9719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_30: ## %else28
9720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftlw $0, %k0, %k0
9721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kshiftrw $15, %k0, %k0
9722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    kmovw %k0, %eax
9723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb %al, %al
9724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB60_32
9725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.store29
9726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm0
9727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $7, %xmm0, 30(%rdi)
9728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB60_32: ## %else30
9729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
9730*9880d681SAndroid Build Coastguard Worker;
9731*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_16xi16:
9732*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
9733*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %xmm0, %xmm0
9734*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %xmm0, %k1
9735*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu16 %ymm1, (%rdi) {%k1}
9736*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
9737*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v16i16.p0v16i16(<16 x i16> %val, <16 x i16>* %addr, i32 4, <16 x i1>%mask)
9738*9880d681SAndroid Build Coastguard Worker  ret void
9739*9880d681SAndroid Build Coastguard Worker}
9740*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i16.p0v16i16(<16 x i16>, <16 x i16>*, i32, <16 x i1>)
9741*9880d681SAndroid Build Coastguard Worker
9742*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_32xi16(<32 x i1> %mask, <32 x i16>* %addr, <32 x i16> %val) {
9743*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_32xi16:
9744*9880d681SAndroid Build Coastguard Worker; AVX1:       ## BB#0:
9745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
9746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_2
9748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#1: ## %cond.store
9749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %xmm1, %eax
9750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movw %ax, (%rdi)
9751*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_2: ## %else
9752*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
9753*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9754*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_4
9755*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#3: ## %cond.store1
9756*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
9757*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_4: ## %else2
9758*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
9759*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9760*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_6
9761*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#5: ## %cond.store3
9762*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
9763*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_6: ## %else4
9764*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
9765*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9766*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_8
9767*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#7: ## %cond.store5
9768*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
9769*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_8: ## %else6
9770*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
9771*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9772*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_10
9773*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#9: ## %cond.store7
9774*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
9775*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_10: ## %else8
9776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
9777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_12
9779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#11: ## %cond.store9
9780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
9781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_12: ## %else10
9782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
9783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_14
9785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#13: ## %cond.store11
9786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
9787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_14: ## %else12
9788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
9789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_16
9791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#15: ## %cond.store13
9792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
9793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_16: ## %else14
9794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
9795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_18
9797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#17: ## %cond.store15
9798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
9799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %xmm3, %eax
9800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movw %ax, 16(%rdi)
9801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_18: ## %else16
9802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
9803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_20
9805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#19: ## %cond.store17
9806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
9807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $1, %xmm3, 18(%rdi)
9808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_20: ## %else18
9809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
9810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_22
9812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#21: ## %cond.store19
9813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
9814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $2, %xmm3, 20(%rdi)
9815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_22: ## %else20
9816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
9817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_24
9819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#23: ## %cond.store21
9820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
9821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $3, %xmm3, 22(%rdi)
9822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_24: ## %else22
9823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
9824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_26
9826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#25: ## %cond.store23
9827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
9828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $4, %xmm3, 24(%rdi)
9829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_26: ## %else24
9830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
9831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_28
9833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#27: ## %cond.store25
9834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
9835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $5, %xmm3, 26(%rdi)
9836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_28: ## %else26
9837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
9838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_30
9840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#29: ## %cond.store27
9841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
9842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $6, %xmm3, 28(%rdi)
9843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_30: ## %else28
9844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
9845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_32
9847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#31: ## %cond.store29
9848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm1
9849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $7, %xmm1, 30(%rdi)
9850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_32: ## %else30
9851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm0
9852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
9853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_34
9855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#33: ## %cond.store31
9856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %xmm2, %eax
9857*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movw %ax, 32(%rdi)
9858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_34: ## %else32
9859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
9860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_36
9862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#35: ## %cond.store33
9863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $1, %xmm2, 34(%rdi)
9864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_36: ## %else34
9865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
9866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_38
9868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#37: ## %cond.store35
9869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $2, %xmm2, 36(%rdi)
9870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_38: ## %else36
9871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
9872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_40
9874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#39: ## %cond.store37
9875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $3, %xmm2, 38(%rdi)
9876*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_40: ## %else38
9877*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
9878*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9879*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_42
9880*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#41: ## %cond.store39
9881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $4, %xmm2, 40(%rdi)
9882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_42: ## %else40
9883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
9884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_44
9886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#43: ## %cond.store41
9887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $5, %xmm2, 42(%rdi)
9888*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_44: ## %else42
9889*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
9890*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9891*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_46
9892*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#45: ## %cond.store43
9893*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $6, %xmm2, 44(%rdi)
9894*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_46: ## %else44
9895*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
9896*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9897*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_48
9898*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#47: ## %cond.store45
9899*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $7, %xmm2, 46(%rdi)
9900*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_48: ## %else46
9901*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
9902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_50
9904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#49: ## %cond.store47
9905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm1
9906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovd %xmm1, %eax
9907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movw %ax, 48(%rdi)
9908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_50: ## %else48
9909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
9910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_52
9912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#51: ## %cond.store49
9913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm1
9914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $1, %xmm1, 50(%rdi)
9915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_52: ## %else50
9916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
9917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_54
9919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#53: ## %cond.store51
9920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm1
9921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $2, %xmm1, 52(%rdi)
9922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_54: ## %else52
9923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
9924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_56
9926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#55: ## %cond.store53
9927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm1
9928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $3, %xmm1, 54(%rdi)
9929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_56: ## %else54
9930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
9931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_58
9933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#57: ## %cond.store55
9934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm1
9935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $4, %xmm1, 56(%rdi)
9936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_58: ## %else56
9937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
9938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_60
9940*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#59: ## %cond.store57
9941*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm1
9942*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $5, %xmm1, 58(%rdi)
9943*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_60: ## %else58
9944*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
9945*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9946*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_62
9947*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#61: ## %cond.store59
9948*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm1
9949*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $6, %xmm1, 60(%rdi)
9950*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_62: ## %else60
9951*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
9952*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    testb $1, %al
9953*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    je LBB61_64
9954*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  ## BB#63: ## %cond.store61
9955*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm0
9956*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrw $7, %xmm0, 62(%rdi)
9957*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:  LBB61_64: ## %else62
9958*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
9959*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
9960*9880d681SAndroid Build Coastguard Worker;
9961*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_32xi16:
9962*9880d681SAndroid Build Coastguard Worker; AVX2:       ## BB#0:
9963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
9964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_2
9966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#1: ## %cond.store
9967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %xmm1, %eax
9968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movw %ax, (%rdi)
9969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_2: ## %else
9970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
9971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_4
9973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#3: ## %cond.store1
9974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
9975*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_4: ## %else2
9976*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
9977*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9978*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_6
9979*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#5: ## %cond.store3
9980*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
9981*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_6: ## %else4
9982*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
9983*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_8
9985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#7: ## %cond.store5
9986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
9987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_8: ## %else6
9988*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
9989*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9990*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_10
9991*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#9: ## %cond.store7
9992*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
9993*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_10: ## %else8
9994*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
9995*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
9996*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_12
9997*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#11: ## %cond.store9
9998*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
9999*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_12: ## %else10
10000*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
10001*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10002*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_14
10003*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#13: ## %cond.store11
10004*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
10005*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_14: ## %else12
10006*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
10007*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10008*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_16
10009*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#15: ## %cond.store13
10010*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
10011*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_16: ## %else14
10012*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
10013*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10014*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_18
10015*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#17: ## %cond.store15
10016*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
10017*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %xmm3, %eax
10018*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movw %ax, 16(%rdi)
10019*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_18: ## %else16
10020*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
10021*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10022*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_20
10023*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#19: ## %cond.store17
10024*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
10025*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $1, %xmm3, 18(%rdi)
10026*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_20: ## %else18
10027*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
10028*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10029*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_22
10030*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#21: ## %cond.store19
10031*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
10032*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $2, %xmm3, 20(%rdi)
10033*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_22: ## %else20
10034*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
10035*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10036*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_24
10037*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#23: ## %cond.store21
10038*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
10039*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $3, %xmm3, 22(%rdi)
10040*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_24: ## %else22
10041*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
10042*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10043*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_26
10044*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#25: ## %cond.store23
10045*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
10046*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $4, %xmm3, 24(%rdi)
10047*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_26: ## %else24
10048*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
10049*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10050*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_28
10051*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#27: ## %cond.store25
10052*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
10053*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $5, %xmm3, 26(%rdi)
10054*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_28: ## %else26
10055*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
10056*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10057*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_30
10058*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#29: ## %cond.store27
10059*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
10060*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $6, %xmm3, 28(%rdi)
10061*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_30: ## %else28
10062*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
10063*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10064*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_32
10065*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#31: ## %cond.store29
10066*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm1
10067*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $7, %xmm1, 30(%rdi)
10068*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_32: ## %else30
10069*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm0
10070*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
10071*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10072*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_34
10073*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#33: ## %cond.store31
10074*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %xmm2, %eax
10075*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movw %ax, 32(%rdi)
10076*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_34: ## %else32
10077*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
10078*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10079*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_36
10080*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#35: ## %cond.store33
10081*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $1, %xmm2, 34(%rdi)
10082*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_36: ## %else34
10083*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
10084*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10085*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_38
10086*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#37: ## %cond.store35
10087*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $2, %xmm2, 36(%rdi)
10088*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_38: ## %else36
10089*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
10090*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10091*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_40
10092*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#39: ## %cond.store37
10093*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $3, %xmm2, 38(%rdi)
10094*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_40: ## %else38
10095*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
10096*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10097*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_42
10098*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#41: ## %cond.store39
10099*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $4, %xmm2, 40(%rdi)
10100*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_42: ## %else40
10101*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
10102*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10103*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_44
10104*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#43: ## %cond.store41
10105*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $5, %xmm2, 42(%rdi)
10106*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_44: ## %else42
10107*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
10108*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10109*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_46
10110*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#45: ## %cond.store43
10111*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $6, %xmm2, 44(%rdi)
10112*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_46: ## %else44
10113*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
10114*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10115*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_48
10116*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#47: ## %cond.store45
10117*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $7, %xmm2, 46(%rdi)
10118*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_48: ## %else46
10119*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
10120*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10121*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_50
10122*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#49: ## %cond.store47
10123*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm1
10124*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovd %xmm1, %eax
10125*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movw %ax, 48(%rdi)
10126*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_50: ## %else48
10127*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
10128*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10129*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_52
10130*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#51: ## %cond.store49
10131*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm1
10132*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $1, %xmm1, 50(%rdi)
10133*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_52: ## %else50
10134*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
10135*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10136*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_54
10137*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#53: ## %cond.store51
10138*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm1
10139*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $2, %xmm1, 52(%rdi)
10140*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_54: ## %else52
10141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
10142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_56
10144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#55: ## %cond.store53
10145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm1
10146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $3, %xmm1, 54(%rdi)
10147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_56: ## %else54
10148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
10149*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10150*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_58
10151*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#57: ## %cond.store55
10152*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm1
10153*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $4, %xmm1, 56(%rdi)
10154*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_58: ## %else56
10155*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
10156*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10157*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_60
10158*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#59: ## %cond.store57
10159*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm1
10160*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $5, %xmm1, 58(%rdi)
10161*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_60: ## %else58
10162*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
10163*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10164*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_62
10165*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#61: ## %cond.store59
10166*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm1
10167*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $6, %xmm1, 60(%rdi)
10168*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_62: ## %else60
10169*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
10170*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    testb $1, %al
10171*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    je LBB61_64
10172*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  ## BB#63: ## %cond.store61
10173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm0
10174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrw $7, %xmm0, 62(%rdi)
10175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:  LBB61_64: ## %else62
10176*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
10177*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
10178*9880d681SAndroid Build Coastguard Worker;
10179*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_32xi16:
10180*9880d681SAndroid Build Coastguard Worker; AVX512F:       ## BB#0:
10181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, %eax
10182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_2
10184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#1: ## %cond.store
10185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %xmm1, %eax
10186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw %ax, (%rdi)
10187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_2: ## %else
10188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, %eax
10189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_4
10191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#3: ## %cond.store1
10192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $1, %xmm1, 2(%rdi)
10193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_4: ## %else2
10194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, %eax
10195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_6
10197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#5: ## %cond.store3
10198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $2, %xmm1, 4(%rdi)
10199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_6: ## %else4
10200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, %eax
10201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_8
10203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#7: ## %cond.store5
10204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $3, %xmm1, 6(%rdi)
10205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_8: ## %else6
10206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, %eax
10207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_10
10209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#9: ## %cond.store7
10210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $4, %xmm1, 8(%rdi)
10211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_10: ## %else8
10212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, %eax
10213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10214*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_12
10215*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#11: ## %cond.store9
10216*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $5, %xmm1, 10(%rdi)
10217*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_12: ## %else10
10218*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, %eax
10219*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10220*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_14
10221*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#13: ## %cond.store11
10222*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $6, %xmm1, 12(%rdi)
10223*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_14: ## %else12
10224*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, %eax
10225*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10226*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_16
10227*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#15: ## %cond.store13
10228*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $7, %xmm1, 14(%rdi)
10229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_16: ## %else14
10230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, %eax
10231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_18
10233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#17: ## %cond.store15
10234*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
10235*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %xmm3, %eax
10236*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw %ax, 16(%rdi)
10237*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_18: ## %else16
10238*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, %eax
10239*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10240*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_20
10241*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#19: ## %cond.store17
10242*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
10243*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $1, %xmm3, 18(%rdi)
10244*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_20: ## %else18
10245*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, %eax
10246*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10247*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_22
10248*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#21: ## %cond.store19
10249*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
10250*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $2, %xmm3, 20(%rdi)
10251*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_22: ## %else20
10252*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, %eax
10253*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10254*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_24
10255*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#23: ## %cond.store21
10256*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
10257*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $3, %xmm3, 22(%rdi)
10258*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_24: ## %else22
10259*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, %eax
10260*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10261*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_26
10262*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#25: ## %cond.store23
10263*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
10264*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $4, %xmm3, 24(%rdi)
10265*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_26: ## %else24
10266*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm0, %eax
10267*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10268*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_28
10269*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#27: ## %cond.store25
10270*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
10271*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $5, %xmm3, 26(%rdi)
10272*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_28: ## %else26
10273*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm0, %eax
10274*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10275*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_30
10276*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#29: ## %cond.store27
10277*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm3
10278*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $6, %xmm3, 28(%rdi)
10279*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_30: ## %else28
10280*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, %eax
10281*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10282*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_32
10283*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#31: ## %cond.store29
10284*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm1, %xmm1
10285*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $7, %xmm1, 30(%rdi)
10286*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_32: ## %else30
10287*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm0, %xmm0
10288*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $0, %xmm0, %eax
10289*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10290*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_34
10291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#33: ## %cond.store31
10292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %xmm2, %eax
10293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw %ax, 32(%rdi)
10294*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_34: ## %else32
10295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $1, %xmm0, %eax
10296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_36
10298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#35: ## %cond.store33
10299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $1, %xmm2, 34(%rdi)
10300*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_36: ## %else34
10301*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $2, %xmm0, %eax
10302*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10303*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_38
10304*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#37: ## %cond.store35
10305*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $2, %xmm2, 36(%rdi)
10306*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_38: ## %else36
10307*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $3, %xmm0, %eax
10308*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10309*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_40
10310*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#39: ## %cond.store37
10311*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $3, %xmm2, 38(%rdi)
10312*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_40: ## %else38
10313*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $4, %xmm0, %eax
10314*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10315*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_42
10316*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#41: ## %cond.store39
10317*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $4, %xmm2, 40(%rdi)
10318*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_42: ## %else40
10319*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $5, %xmm0, %eax
10320*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10321*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_44
10322*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#43: ## %cond.store41
10323*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $5, %xmm2, 42(%rdi)
10324*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_44: ## %else42
10325*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $6, %xmm0, %eax
10326*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10327*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_46
10328*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#45: ## %cond.store43
10329*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $6, %xmm2, 44(%rdi)
10330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_46: ## %else44
10331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $7, %xmm0, %eax
10332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_48
10334*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#47: ## %cond.store45
10335*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $7, %xmm2, 46(%rdi)
10336*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_48: ## %else46
10337*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $8, %xmm0, %eax
10338*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10339*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_50
10340*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#49: ## %cond.store47
10341*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm1
10342*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vmovd %xmm1, %eax
10343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    movw %ax, 48(%rdi)
10344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_50: ## %else48
10345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $9, %xmm0, %eax
10346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_52
10348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#51: ## %cond.store49
10349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm1
10350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $1, %xmm1, 50(%rdi)
10351*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_52: ## %else50
10352*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $10, %xmm0, %eax
10353*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10354*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_54
10355*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#53: ## %cond.store51
10356*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm1
10357*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $2, %xmm1, 52(%rdi)
10358*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_54: ## %else52
10359*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $11, %xmm0, %eax
10360*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10361*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_56
10362*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#55: ## %cond.store53
10363*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm1
10364*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $3, %xmm1, 54(%rdi)
10365*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_56: ## %else54
10366*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $12, %xmm0, %eax
10367*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10368*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_58
10369*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#57: ## %cond.store55
10370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm1
10371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $4, %xmm1, 56(%rdi)
10372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_58: ## %else56
10373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $13, %xmm0, %eax
10374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_60
10376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#59: ## %cond.store57
10377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm1
10378*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $5, %xmm1, 58(%rdi)
10379*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_60: ## %else58
10380*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $14, %xmm0, %eax
10381*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10382*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_62
10383*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#61: ## %cond.store59
10384*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm1
10385*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $6, %xmm1, 60(%rdi)
10386*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_62: ## %else60
10387*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrb $15, %xmm0, %eax
10388*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    testb $1, %al
10389*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    je LBB61_64
10390*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  ## BB#63: ## %cond.store61
10391*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vextracti128 $1, %ymm2, %xmm0
10392*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    vpextrw $7, %xmm0, 62(%rdi)
10393*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:  LBB61_64: ## %else62
10394*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT:    retq
10395*9880d681SAndroid Build Coastguard Worker;
10396*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_32xi16:
10397*9880d681SAndroid Build Coastguard Worker; SKX:       ## BB#0:
10398*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpsllw $7, %ymm0, %ymm0
10399*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vpmovb2m %ymm0, %k1
10400*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    vmovdqu16 %zmm1, (%rdi) {%k1}
10401*9880d681SAndroid Build Coastguard Worker; SKX-NEXT:    retq
10402*9880d681SAndroid Build Coastguard Worker  call void @llvm.masked.store.v32i16.p0v32i16(<32 x i16> %val, <32 x i16>* %addr, i32 4, <32 x i1>%mask)
10403*9880d681SAndroid Build Coastguard Worker  ret void
10404*9880d681SAndroid Build Coastguard Worker}
10405*9880d681SAndroid Build Coastguard Worker
10406*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v32i16.p0v32i16(<32 x i16>, <32 x i16>*, i32, <32 x i1>)
10407