xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/vector-compare-results.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 < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE2
3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE42
4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
5*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
6*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512F
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker;
9*9880d681SAndroid Build Coastguard Worker; 128-bit vector comparisons
10*9880d681SAndroid Build Coastguard Worker;
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine <2 x i1> @test_cmp_v2f64(<2 x double> %a0, <2 x double> %a1) nounwind {
13*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v2f64:
14*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
15*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm0, %xmm1
16*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd %xmm1, %xmm0
17*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
18*9880d681SAndroid Build Coastguard Worker;
19*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_cmp_v2f64:
20*9880d681SAndroid Build Coastguard Worker; AVX:       # BB#0:
21*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vcmpltpd %xmm0, %xmm1, %xmm0
22*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
23*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <2 x double> %a0, %a1
24*9880d681SAndroid Build Coastguard Worker  ret <2 x i1> %1
25*9880d681SAndroid Build Coastguard Worker}
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerdefine <4 x i1> @test_cmp_v4f32(<4 x float> %a0, <4 x float> %a1) nounwind {
28*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v4f32:
29*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
30*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltps %xmm0, %xmm1
31*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movaps %xmm1, %xmm0
32*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
33*9880d681SAndroid Build Coastguard Worker;
34*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_cmp_v4f32:
35*9880d681SAndroid Build Coastguard Worker; AVX:       # BB#0:
36*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vcmpltps %xmm0, %xmm1, %xmm0
37*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
38*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <4 x float> %a0, %a1
39*9880d681SAndroid Build Coastguard Worker  ret <4 x i1> %1
40*9880d681SAndroid Build Coastguard Worker}
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Workerdefine <2 x i1> @test_cmp_v2i64(<2 x i64> %a0, <2 x i64> %a1) nounwind {
43*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v2i64:
44*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
45*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm2 = [2147483648,0,2147483648,0]
46*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm2, %xmm1
47*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm2, %xmm0
48*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, %xmm2
49*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm1, %xmm2
50*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
51*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm1, %xmm0
52*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm0[1,1,3,3]
53*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm1
54*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,3,3]
55*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm1, %xmm0
56*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
57*9880d681SAndroid Build Coastguard Worker;
58*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v2i64:
59*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
60*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq %xmm1, %xmm0
61*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
62*9880d681SAndroid Build Coastguard Worker;
63*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_cmp_v2i64:
64*9880d681SAndroid Build Coastguard Worker; AVX:       # BB#0:
65*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpcmpgtq %xmm1, %xmm0, %xmm0
66*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
67*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <2 x i64> %a0, %a1
68*9880d681SAndroid Build Coastguard Worker  ret <2 x i1> %1
69*9880d681SAndroid Build Coastguard Worker}
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Workerdefine <4 x i1> @test_cmp_v4i32(<4 x i32> %a0, <4 x i32> %a1) nounwind {
72*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v4i32:
73*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
74*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pcmpgtd %xmm1, %xmm0
75*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
76*9880d681SAndroid Build Coastguard Worker;
77*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_cmp_v4i32:
78*9880d681SAndroid Build Coastguard Worker; AVX:       # BB#0:
79*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpcmpgtd %xmm1, %xmm0, %xmm0
80*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
81*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <4 x i32> %a0, %a1
82*9880d681SAndroid Build Coastguard Worker  ret <4 x i1> %1
83*9880d681SAndroid Build Coastguard Worker}
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard Workerdefine <8 x i1> @test_cmp_v8i16(<8 x i16> %a0, <8 x i16> %a1) nounwind {
86*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v8i16:
87*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
88*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pcmpgtw %xmm1, %xmm0
89*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
90*9880d681SAndroid Build Coastguard Worker;
91*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_cmp_v8i16:
92*9880d681SAndroid Build Coastguard Worker; AVX:       # BB#0:
93*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpcmpgtw %xmm1, %xmm0, %xmm0
94*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
95*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <8 x i16> %a0, %a1
96*9880d681SAndroid Build Coastguard Worker  ret <8 x i1> %1
97*9880d681SAndroid Build Coastguard Worker}
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Workerdefine <16 x i1> @test_cmp_v16i8(<16 x i8> %a0, <16 x i8> %a1) nounwind {
100*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v16i8:
101*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
102*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pcmpgtb %xmm1, %xmm0
103*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
104*9880d681SAndroid Build Coastguard Worker;
105*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_cmp_v16i8:
106*9880d681SAndroid Build Coastguard Worker; AVX:       # BB#0:
107*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    vpcmpgtb %xmm1, %xmm0, %xmm0
108*9880d681SAndroid Build Coastguard Worker; AVX-NEXT:    retq
109*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <16 x i8> %a0, %a1
110*9880d681SAndroid Build Coastguard Worker  ret <16 x i1> %1
111*9880d681SAndroid Build Coastguard Worker}
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker;
114*9880d681SAndroid Build Coastguard Worker; 256-bit vector comparisons
115*9880d681SAndroid Build Coastguard Worker;
116*9880d681SAndroid Build Coastguard Worker
117*9880d681SAndroid Build Coastguard Workerdefine <4 x i1> @test_cmp_v4f64(<4 x double> %a0, <4 x double> %a1) nounwind {
118*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v4f64:
119*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
120*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltpd %xmm1, %xmm3
121*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,2,3]
122*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltpd %xmm0, %xmm2
123*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
124*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
125*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
126*9880d681SAndroid Build Coastguard Worker;
127*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v4f64:
128*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
129*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltpd %xmm1, %xmm3
130*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,1,0,2]
131*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltpd %xmm0, %xmm2
132*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
133*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
134*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
135*9880d681SAndroid Build Coastguard Worker;
136*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v4f64:
137*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
138*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltpd %ymm0, %ymm1, %ymm0
139*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
140*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,2]
141*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
142*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
143*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
144*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
145*9880d681SAndroid Build Coastguard Worker;
146*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v4f64:
147*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltpd %ymm0, %ymm1, %ymm0
149*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermilps {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
150*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
151*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
152*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
153*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
154*9880d681SAndroid Build Coastguard Worker;
155*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v4f64:
156*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
157*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vcmpltpd %ymm0, %ymm1, %ymm0
158*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqd %zmm0, %ymm0
159*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
160*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
161*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <4 x double> %a0, %a1
162*9880d681SAndroid Build Coastguard Worker  ret <4 x i1> %1
163*9880d681SAndroid Build Coastguard Worker}
164*9880d681SAndroid Build Coastguard Worker
165*9880d681SAndroid Build Coastguard Workerdefine <8 x i1> @test_cmp_v8f32(<8 x float> %a0, <8 x float> %a1) nounwind {
166*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v8f32:
167*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
168*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm1, %xmm3
169*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pslld $16, %xmm3
170*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psrad $16, %xmm3
171*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm0, %xmm2
172*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pslld $16, %xmm2
173*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psrad $16, %xmm2
174*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packssdw %xmm3, %xmm2
175*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm2, %xmm0
176*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
177*9880d681SAndroid Build Coastguard Worker;
178*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v8f32:
179*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
180*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm1, %xmm3
181*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm1 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
182*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm1, %xmm3
183*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm0, %xmm2
184*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm1, %xmm2
185*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
186*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa %xmm2, %xmm0
187*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
188*9880d681SAndroid Build Coastguard Worker;
189*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v8f32:
190*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
191*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltps %ymm0, %ymm1, %ymm0
192*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm1
193*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
194*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm2, %xmm1, %xmm1
195*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm2, %xmm0, %xmm0
196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
199*9880d681SAndroid Build Coastguard Worker;
200*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v8f32:
201*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
202*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltps %ymm0, %ymm1, %ymm0
203*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,zero,ymm0[16,17,20,21,24,25,28,29],zero,zero,zero,zero,zero,zero,zero,zero
204*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
205*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
206*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
207*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
208*9880d681SAndroid Build Coastguard Worker;
209*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v8f32:
210*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
211*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vcmpltps %ymm0, %ymm1, %ymm0
212*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdw %zmm0, %ymm0
213*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
214*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
215*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <8 x float> %a0, %a1
216*9880d681SAndroid Build Coastguard Worker  ret <8 x i1> %1
217*9880d681SAndroid Build Coastguard Worker}
218*9880d681SAndroid Build Coastguard Worker
219*9880d681SAndroid Build Coastguard Workerdefine <4 x i1> @test_cmp_v4i64(<4 x i64> %a0, <4 x i64> %a1) nounwind {
220*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v4i64:
221*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
222*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm4 = [2147483648,0,2147483648,0]
223*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm4, %xmm3
224*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm4, %xmm1
225*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm1, %xmm5
226*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm3, %xmm5
227*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm6 = xmm5[0,0,2,2]
228*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm3, %xmm1
229*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
230*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm6, %xmm1
231*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm5[1,1,3,3]
232*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm1, %xmm3
233*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,2,3]
234*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm4, %xmm2
235*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm4, %xmm0
236*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, %xmm3
237*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm2, %xmm3
238*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm4 = xmm3[0,0,2,2]
239*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm2, %xmm0
240*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
241*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm4, %xmm0
242*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[1,1,3,3]
243*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm0, %xmm2
244*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
245*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
246*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
247*9880d681SAndroid Build Coastguard Worker;
248*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v4i64:
249*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
250*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq %xmm3, %xmm1
251*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,2]
252*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq %xmm2, %xmm0
253*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
254*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
255*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
256*9880d681SAndroid Build Coastguard Worker;
257*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v4i64:
258*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
259*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
260*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm3
261*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm2, %xmm3, %xmm2
262*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[0,1,0,2]
263*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm1, %xmm0, %xmm0
264*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
265*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm2[4,5,6,7]
266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
268*9880d681SAndroid Build Coastguard Worker;
269*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v4i64:
270*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
271*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtq %ymm1, %ymm0, %ymm0
272*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
273*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
274*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
275*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
276*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
277*9880d681SAndroid Build Coastguard Worker;
278*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v4i64:
279*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
280*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtq %ymm1, %ymm0, %ymm0
281*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqd %zmm0, %ymm0
282*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
283*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
284*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <4 x i64> %a0, %a1
285*9880d681SAndroid Build Coastguard Worker  ret <4 x i1> %1
286*9880d681SAndroid Build Coastguard Worker}
287*9880d681SAndroid Build Coastguard Worker
288*9880d681SAndroid Build Coastguard Workerdefine <8 x i1> @test_cmp_v8i32(<8 x i32> %a0, <8 x i32> %a1) nounwind {
289*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v8i32:
290*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
291*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm3, %xmm1
292*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pslld $16, %xmm1
293*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psrad $16, %xmm1
294*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm2, %xmm0
295*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pslld $16, %xmm0
296*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psrad $16, %xmm0
297*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packssdw %xmm1, %xmm0
298*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
299*9880d681SAndroid Build Coastguard Worker;
300*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v8i32:
301*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
302*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd %xmm3, %xmm1
303*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm3 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
304*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm1
305*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd %xmm2, %xmm0
306*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm0
307*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
308*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
309*9880d681SAndroid Build Coastguard Worker;
310*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v8i32:
311*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm3
314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm2, %xmm3, %xmm2
315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm3, %xmm2, %xmm2
317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm1, %xmm0, %xmm0
318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm3, %xmm0, %xmm0
319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
322*9880d681SAndroid Build Coastguard Worker;
323*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v8i32:
324*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtd %ymm1, %ymm0, %ymm0
326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,zero,ymm0[16,17,20,21,24,25,28,29],zero,zero,zero,zero,zero,zero,zero,zero
327*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
328*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
329*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
330*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
331*9880d681SAndroid Build Coastguard Worker;
332*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v8i32:
333*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
334*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtd %ymm1, %ymm0, %ymm0
335*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdw %zmm0, %ymm0
336*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
337*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
338*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <8 x i32> %a0, %a1
339*9880d681SAndroid Build Coastguard Worker  ret <8 x i1> %1
340*9880d681SAndroid Build Coastguard Worker}
341*9880d681SAndroid Build Coastguard Worker
342*9880d681SAndroid Build Coastguard Workerdefine <16 x i1> @test_cmp_v16i16(<16 x i16> %a0, <16 x i16> %a1) nounwind {
343*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v16i16:
344*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
345*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw %xmm3, %xmm1
346*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255]
347*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm1
348*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw %xmm2, %xmm0
349*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm0
350*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm1, %xmm0
351*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
352*9880d681SAndroid Build Coastguard Worker;
353*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v16i16:
354*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
355*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw %xmm3, %xmm1
356*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm3 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
357*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm1
358*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw %xmm2, %xmm0
359*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm0
360*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
361*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
362*9880d681SAndroid Build Coastguard Worker;
363*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v16i16:
364*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm3
367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm2, %xmm3, %xmm2
368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm3 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm3, %xmm2, %xmm2
370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm1, %xmm0, %xmm0
371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm3, %xmm0, %xmm0
372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
375*9880d681SAndroid Build Coastguard Worker;
376*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v16i16:
377*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
378*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtw %ymm1, %ymm0, %ymm0
379*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
380*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
381*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm2, %xmm1, %xmm1
382*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm0
383*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
384*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
385*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
386*9880d681SAndroid Build Coastguard Worker;
387*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v16i16:
388*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
389*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtw %ymm1, %ymm0, %ymm0
390*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxwd %ymm0, %zmm0
391*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
392*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
393*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <16 x i16> %a0, %a1
394*9880d681SAndroid Build Coastguard Worker  ret <16 x i1> %1
395*9880d681SAndroid Build Coastguard Worker}
396*9880d681SAndroid Build Coastguard Worker
397*9880d681SAndroid Build Coastguard Workerdefine <32 x i1> @test_cmp_v32i8(<32 x i8> %a0, <32 x i8> %a1) nounwind {
398*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v32i8:
399*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
400*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb %xmm2, %xmm0
401*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb %xmm3, %xmm1
402*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm1, -{{[0-9]+}}(%rsp)
403*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
404*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
405*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
406*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, -{{[0-9]+}}(%rsp)
407*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
408*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
409*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
410*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
411*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
412*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
413*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
414*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
415*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
416*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
417*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
418*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
419*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
420*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
421*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
422*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
423*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
424*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
425*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
426*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
427*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
428*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
429*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
430*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
431*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
432*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
433*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
434*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
435*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
436*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
437*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
438*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
439*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
440*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
441*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
442*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
443*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
444*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
445*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
446*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
447*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
448*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
449*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
450*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
451*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
452*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
453*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
454*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
455*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
456*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
457*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
458*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
459*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
460*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
461*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
462*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
463*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
464*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
465*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
466*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
467*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
468*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
469*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
470*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
471*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
472*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
473*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
474*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
475*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
476*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
477*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
478*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
479*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
480*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
481*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
482*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
483*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
484*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
485*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
486*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
487*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
488*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
489*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
490*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
491*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
492*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
493*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
494*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
495*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
496*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
497*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
498*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
499*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
500*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movq %rdi, %rax
501*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
502*9880d681SAndroid Build Coastguard Worker;
503*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v32i8:
504*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
505*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb %xmm2, %xmm0
506*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb %xmm3, %xmm1
507*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm1, %eax
508*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
509*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
510*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm1, %eax
511*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
512*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
513*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm1, %eax
514*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
515*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
516*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm1, %eax
517*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
518*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
519*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm1, %eax
520*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
521*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
522*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm1, %eax
523*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
524*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
525*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm1, %eax
526*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
527*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
528*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm1, %eax
529*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
530*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
531*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm1, %eax
532*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
533*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
534*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm1, %eax
535*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
536*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
537*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm1, %eax
538*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
539*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
540*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm1, %eax
541*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
542*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
543*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm1, %eax
544*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
545*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
546*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm1, %eax
547*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
548*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
549*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm1, %eax
550*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
551*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
552*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm1, %eax
553*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
554*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
555*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm0, %eax
556*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
557*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
558*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm0, %eax
559*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
560*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
561*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm0, %eax
562*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
563*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
564*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm0, %eax
565*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
566*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
567*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm0, %eax
568*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
569*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
570*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm0, %eax
571*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
572*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
573*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm0, %eax
574*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
575*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
576*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm0, %eax
577*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
578*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
579*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm0, %eax
580*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
581*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
582*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm0, %eax
583*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
584*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
585*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm0, %eax
586*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
587*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
588*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm0, %eax
589*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
590*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
591*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm0, %eax
592*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
593*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
594*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm0, %eax
595*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
596*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
597*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm0, %eax
598*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
599*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
600*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm0, %eax
601*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
602*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
603*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movq %rdi, %rax
604*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
605*9880d681SAndroid Build Coastguard Worker;
606*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v32i8:
607*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
608*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm2
609*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm3
610*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm2, %xmm3, %xmm2
611*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm1, %xmm0, %xmm0
612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
613*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
614*9880d681SAndroid Build Coastguard Worker;
615*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v32i8:
616*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm1, %ymm0, %ymm0
618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
619*9880d681SAndroid Build Coastguard Worker;
620*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v32i8:
621*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
622*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm1, %ymm0, %ymm0
623*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
624*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <32 x i8> %a0, %a1
625*9880d681SAndroid Build Coastguard Worker  ret <32 x i1> %1
626*9880d681SAndroid Build Coastguard Worker}
627*9880d681SAndroid Build Coastguard Worker
628*9880d681SAndroid Build Coastguard Worker;
629*9880d681SAndroid Build Coastguard Worker; 512-bit vector comparisons
630*9880d681SAndroid Build Coastguard Worker;
631*9880d681SAndroid Build Coastguard Worker
632*9880d681SAndroid Build Coastguard Workerdefine <8 x i1> @test_cmp_v8f64(<8 x double> %a0, <8 x double> %a1) nounwind {
633*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v8f64:
634*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
635*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltpd %xmm3, %xmm7
636*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltpd %xmm1, %xmm5
637*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm5, %eax
638*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm7[0],xmm5[1],xmm7[1],xmm5[2],xmm7[2],xmm5[3],xmm7[3]
639*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltpd %xmm2, %xmm6
640*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltpd %xmm0, %xmm4
641*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm4, %ecx
642*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3]
643*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]
644*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm7, %edx
645*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %edx, %xmm0
646*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %eax, %xmm1
647*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
648*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm6, %eax
649*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %eax, %xmm0
650*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %ecx, %xmm2
651*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
652*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]
653*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]
654*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm4, %xmm0
655*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
656*9880d681SAndroid Build Coastguard Worker;
657*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v8f64:
658*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
659*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltpd %xmm3, %xmm7
660*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    xorpd %xmm3, %xmm3
661*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm7 = xmm7[0],xmm3[1,2,3],xmm7[4],xmm3[5,6,7]
662*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltpd %xmm2, %xmm6
663*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm6 = xmm6[0],xmm3[1,2,3],xmm6[4],xmm3[5,6,7]
664*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packusdw %xmm7, %xmm6
665*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltpd %xmm1, %xmm5
666*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm5 = xmm5[0],xmm3[1,2,3],xmm5[4],xmm3[5,6,7]
667*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltpd %xmm0, %xmm4
668*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm3 = xmm4[0],xmm3[1,2,3],xmm4[4],xmm3[5,6,7]
669*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packusdw %xmm5, %xmm3
670*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packusdw %xmm6, %xmm3
671*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa %xmm3, %xmm0
672*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
673*9880d681SAndroid Build Coastguard Worker;
674*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v8f64:
675*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
676*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltpd %ymm1, %ymm3, %ymm1
677*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
678*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm4, %xmm4, %xmm4
679*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6,7]
680*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0],xmm4[1,2,3],xmm1[4],xmm4[5,6,7]
681*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackusdw %xmm3, %xmm1, %xmm1
682*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltpd %ymm0, %ymm2, %ymm0
683*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
684*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0],xmm4[1,2,3],xmm2[4],xmm4[5,6,7]
685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm4[1,2,3],xmm0[4],xmm4[5,6,7]
686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackusdw %xmm2, %xmm0, %xmm0
687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackusdw %xmm1, %xmm0, %xmm0
688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
690*9880d681SAndroid Build Coastguard Worker;
691*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v8f64:
692*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
693*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltpd %ymm0, %ymm2, %ymm0
694*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermilps {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
695*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
696*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltpd %ymm1, %ymm3, %ymm1
697*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermilps {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
698*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
699*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
700*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,zero,ymm0[16,17,20,21,24,25,28,29],zero,zero,zero,zero,zero,zero,zero,zero
701*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
702*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
703*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
704*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
705*9880d681SAndroid Build Coastguard Worker;
706*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v8f64:
707*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
708*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vcmpltpd %zmm0, %zmm1, %k1
709*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0
710*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqa64 %zmm0, %zmm0 {%k1} {z}
711*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqw %zmm0, %xmm0
712*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
713*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <8 x double> %a0, %a1
714*9880d681SAndroid Build Coastguard Worker  ret <8 x i1> %1
715*9880d681SAndroid Build Coastguard Worker}
716*9880d681SAndroid Build Coastguard Worker
717*9880d681SAndroid Build Coastguard Workerdefine <16 x i1> @test_cmp_v16f32(<16 x float> %a0, <16 x float> %a1) nounwind {
718*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v16f32:
719*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
720*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltps %xmm3, %xmm7
721*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movaps {{.*#+}} xmm3 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
722*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andps %xmm3, %xmm7
723*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltps %xmm2, %xmm6
724*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andps %xmm3, %xmm6
725*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm7, %xmm6
726*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltps %xmm1, %xmm5
727*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andps %xmm3, %xmm5
728*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltps %xmm0, %xmm4
729*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andps %xmm4, %xmm3
730*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm5, %xmm3
731*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm6, %xmm3
732*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movdqa %xmm3, %xmm0
733*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
734*9880d681SAndroid Build Coastguard Worker;
735*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v16f32:
736*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltps %ymm1, %ymm3, %ymm1
738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovaps {{.*#+}} xmm4 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm4, %xmm3, %xmm3
741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm4, %xmm1, %xmm1
742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm1, %xmm1
743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltps %ymm0, %ymm2, %ymm0
744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm2
745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm4, %xmm2, %xmm2
746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm4, %xmm0, %xmm0
747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm2, %xmm0, %xmm0
748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm1, %xmm0, %xmm0
749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
751*9880d681SAndroid Build Coastguard Worker;
752*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v16f32:
753*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
754*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltps %ymm1, %ymm3, %ymm1
755*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128]
756*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm1, %ymm1
757*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
758*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
759*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm1, %xmm1
760*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltps %ymm0, %ymm2, %ymm0
761*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm0, %ymm0
762*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
763*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm0
764*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
765*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
766*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
767*9880d681SAndroid Build Coastguard Worker;
768*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v16f32:
769*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
770*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vcmpltps %zmm0, %zmm1, %k1
771*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0
772*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqa32 %zmm0, %zmm0 {%k1} {z}
773*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
774*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
775*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <16 x float> %a0, %a1
776*9880d681SAndroid Build Coastguard Worker  ret <16 x i1> %1
777*9880d681SAndroid Build Coastguard Worker}
778*9880d681SAndroid Build Coastguard Worker
779*9880d681SAndroid Build Coastguard Workerdefine <8 x i1> @test_cmp_v8i64(<8 x i64> %a0, <8 x i64> %a1) nounwind {
780*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v8i64:
781*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
782*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm8 = [2147483648,0,2147483648,0]
783*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm7
784*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm3
785*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm3, %xmm9
786*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm7, %xmm9
787*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm10 = xmm9[0,0,2,2]
788*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm7, %xmm3
789*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm7 = xmm3[1,1,3,3]
790*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm7
791*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[1,1,3,3]
792*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm7, %xmm9
793*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm5
794*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm1
795*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm1, %xmm7
796*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm5, %xmm7
797*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm7[0,0,2,2]
798*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm5, %xmm1
799*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[1,1,3,3]
800*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm5
801*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[1,1,3,3]
802*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm5, %xmm1
803*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm1, %eax
804*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm9[0],xmm1[1],xmm9[1],xmm1[2],xmm9[2],xmm1[3],xmm9[3]
805*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm6
806*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm2
807*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm2, %xmm3
808*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm6, %xmm3
809*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm3[0,0,2,2]
810*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm6, %xmm2
811*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,3,3]
812*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm5, %xmm2
813*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,1,3,3]
814*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm2, %xmm3
815*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm4
816*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm0
817*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, %xmm2
818*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm4, %xmm2
819*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm2[0,0,2,2]
820*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm4, %xmm0
821*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm4 = xmm0[1,1,3,3]
822*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm5, %xmm4
823*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,3,3]
824*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm4, %xmm0
825*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm9, %ecx
826*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %ecx, %xmm2
827*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm0, %ecx
828*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
829*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
830*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %eax, %xmm1
831*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
832*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pextrw $4, %xmm3, %eax
833*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %eax, %xmm2
834*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movd %ecx, %xmm3
835*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]
836*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]
837*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
838*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
839*9880d681SAndroid Build Coastguard Worker;
840*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v8i64:
841*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
842*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq %xmm7, %xmm3
843*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pxor %xmm7, %xmm7
844*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm3 = xmm3[0],xmm7[1,2,3],xmm3[4],xmm7[5,6,7]
845*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq %xmm6, %xmm2
846*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm2 = xmm2[0],xmm7[1,2,3],xmm2[4],xmm7[5,6,7]
847*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packusdw %xmm3, %xmm2
848*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq %xmm5, %xmm1
849*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm1 = xmm1[0],xmm7[1,2,3],xmm1[4],xmm7[5,6,7]
850*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq %xmm4, %xmm0
851*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pblendw {{.*#+}} xmm0 = xmm0[0],xmm7[1,2,3],xmm0[4],xmm7[5,6,7]
852*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packusdw %xmm1, %xmm0
853*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packusdw %xmm2, %xmm0
854*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
855*9880d681SAndroid Build Coastguard Worker;
856*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v8i64:
857*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm5
860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm4, %xmm5, %xmm4
861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpxor %xmm5, %xmm5, %xmm5
862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0],xmm5[1,2,3],xmm4[4],xmm5[5,6,7]
863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm3, %xmm1, %xmm1
864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0],xmm5[1,2,3],xmm1[4],xmm5[5,6,7]
865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackusdw %xmm4, %xmm1, %xmm1
866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm3
867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm3, %xmm4, %xmm3
869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0],xmm5[1,2,3],xmm3[4],xmm5[5,6,7]
870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm2, %xmm0, %xmm0
871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm5[1,2,3],xmm0[4],xmm5[5,6,7]
872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackusdw %xmm3, %xmm0, %xmm0
873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackusdw %xmm1, %xmm0, %xmm0
874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
876*9880d681SAndroid Build Coastguard Worker;
877*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v8i64:
878*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
879*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtq %ymm2, %ymm0, %ymm0
880*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
881*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
882*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtq %ymm3, %ymm1, %ymm1
883*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
884*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
885*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
886*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,zero,ymm0[16,17,20,21,24,25,28,29],zero,zero,zero,zero,zero,zero,zero,zero
887*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
888*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
889*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
890*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
891*9880d681SAndroid Build Coastguard Worker;
892*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v8i64:
893*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
894*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtq %zmm1, %zmm0, %k1
895*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0
896*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqa64 %zmm0, %zmm0 {%k1} {z}
897*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqw %zmm0, %xmm0
898*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
899*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <8 x i64> %a0, %a1
900*9880d681SAndroid Build Coastguard Worker  ret <8 x i1> %1
901*9880d681SAndroid Build Coastguard Worker}
902*9880d681SAndroid Build Coastguard Worker
903*9880d681SAndroid Build Coastguard Workerdefine <16 x i1> @test_cmp_v16i32(<16 x i32> %a0, <16 x i32> %a1) nounwind {
904*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v16i32:
905*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
906*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pcmpgtd %xmm7, %xmm3
907*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
908*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pand %xmm7, %xmm3
909*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pcmpgtd %xmm6, %xmm2
910*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pand %xmm7, %xmm2
911*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm3, %xmm2
912*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pcmpgtd %xmm5, %xmm1
913*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pand %xmm7, %xmm1
914*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pcmpgtd %xmm4, %xmm0
915*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    pand %xmm7, %xmm0
916*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm1, %xmm0
917*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm2, %xmm0
918*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
919*9880d681SAndroid Build Coastguard Worker;
920*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v16i32:
921*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm5
924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm4, %xmm5, %xmm4
925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm5 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm4, %xmm4
927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm3, %xmm1, %xmm1
928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm1, %xmm1
929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm4, %xmm1, %xmm1
930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm3
931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm3, %xmm4, %xmm3
933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm3, %xmm3
934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm2, %xmm0, %xmm0
935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm5, %xmm0, %xmm0
936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm0, %xmm0
937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm1, %xmm0, %xmm0
938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
940*9880d681SAndroid Build Coastguard Worker;
941*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v16i32:
942*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtd %ymm3, %ymm1, %ymm1
944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128]
945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm1, %ymm1
946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm1, %xmm1
949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtd %ymm2, %ymm0, %ymm0
950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm0, %ymm0
951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm0
953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
956*9880d681SAndroid Build Coastguard Worker;
957*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v16i32:
958*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
959*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtd %zmm1, %zmm0, %k1
960*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpternlogd $255, %zmm0, %zmm0, %zmm0
961*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqa32 %zmm0, %zmm0 {%k1} {z}
962*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
963*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
964*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <16 x i32> %a0, %a1
965*9880d681SAndroid Build Coastguard Worker  ret <16 x i1> %1
966*9880d681SAndroid Build Coastguard Worker}
967*9880d681SAndroid Build Coastguard Worker
968*9880d681SAndroid Build Coastguard Workerdefine <32 x i1> @test_cmp_v32i16(<32 x i16> %a0, <32 x i16> %a1) nounwind {
969*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v32i16:
970*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
971*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw %xmm5, %xmm1
972*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm5 = [255,255,255,255,255,255,255,255]
973*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm5, %xmm1
974*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw %xmm4, %xmm0
975*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm5, %xmm0
976*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm1, %xmm0
977*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw %xmm7, %xmm3
978*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm5, %xmm3
979*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw %xmm6, %xmm2
980*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm5, %xmm2
981*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm3, %xmm2
982*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm2, -{{[0-9]+}}(%rsp)
983*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
984*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
985*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
986*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, -{{[0-9]+}}(%rsp)
987*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
988*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
989*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
990*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
991*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
992*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
993*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
994*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
995*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
996*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
997*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
998*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
999*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1000*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1001*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1002*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1003*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1004*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1005*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1006*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1007*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1008*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1009*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1010*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1011*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1012*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1013*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1014*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1015*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1016*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1017*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1018*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1019*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1020*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1021*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1022*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1023*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1024*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1025*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1026*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1027*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1028*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1029*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1030*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1031*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1032*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1033*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1034*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1035*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1036*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1037*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1038*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1039*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1040*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1041*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1042*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1043*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1044*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1045*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1046*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1047*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1048*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1049*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1050*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1051*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1052*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1053*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1054*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1055*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1056*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1057*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1058*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1059*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1060*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1061*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1062*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1063*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1064*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1065*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1066*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1067*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1068*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1069*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1070*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1071*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1072*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1073*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1074*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1075*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1076*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1077*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1078*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1079*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1080*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movq %rdi, %rax
1081*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
1082*9880d681SAndroid Build Coastguard Worker;
1083*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v32i16:
1084*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
1085*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw %xmm5, %xmm1
1086*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm5 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
1087*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm5, %xmm1
1088*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw %xmm4, %xmm0
1089*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm5, %xmm0
1090*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
1091*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw %xmm7, %xmm3
1092*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm5, %xmm3
1093*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw %xmm6, %xmm2
1094*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm5, %xmm2
1095*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
1096*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm2, %eax
1097*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1098*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1099*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm2, %eax
1100*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1101*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1102*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm2, %eax
1103*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1104*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1105*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm2, %eax
1106*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1107*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1108*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm2, %eax
1109*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1110*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1111*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm2, %eax
1112*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1113*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1114*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm2, %eax
1115*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1116*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1117*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm2, %eax
1118*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1119*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1120*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm2, %eax
1121*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1122*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1123*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm2, %eax
1124*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1125*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1126*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm2, %eax
1127*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1128*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1129*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm2, %eax
1130*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1131*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1132*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm2, %eax
1133*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1134*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1135*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm2, %eax
1136*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1137*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1138*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm2, %eax
1139*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1140*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1141*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm2, %eax
1142*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1143*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1144*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm0, %eax
1145*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1146*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1147*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm0, %eax
1148*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1149*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1150*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm0, %eax
1151*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1152*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1153*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm0, %eax
1154*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1155*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1156*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm0, %eax
1157*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1158*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1159*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm0, %eax
1160*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1161*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1162*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm0, %eax
1163*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1164*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1165*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm0, %eax
1166*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1167*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1168*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm0, %eax
1169*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1170*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1171*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm0, %eax
1172*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1173*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1174*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm0, %eax
1175*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1176*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1177*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm0, %eax
1178*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1179*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1180*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm0, %eax
1181*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1182*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1183*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm0, %eax
1184*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1185*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1186*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm0, %eax
1187*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1188*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1189*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm0, %eax
1190*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1191*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1192*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movq %rdi, %rax
1193*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
1194*9880d681SAndroid Build Coastguard Worker;
1195*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v32i16:
1196*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
1197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
1198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm5
1199*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm4, %xmm5, %xmm4
1200*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm5 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
1201*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm5, %xmm4, %xmm4
1202*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm3, %xmm1, %xmm1
1203*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm5, %xmm1, %xmm1
1204*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm4[0]
1205*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm3
1206*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm4
1207*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm3, %xmm4, %xmm3
1208*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm5, %xmm3, %xmm3
1209*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm2, %xmm0, %xmm0
1210*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm5, %xmm0, %xmm0
1211*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm3[0]
1212*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
1213*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1214*9880d681SAndroid Build Coastguard Worker;
1215*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v32i16:
1216*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
1217*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtw %ymm3, %ymm1, %ymm1
1218*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm3
1219*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
1220*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm3
1221*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm1, %xmm1
1222*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
1223*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtw %ymm2, %ymm0, %ymm0
1224*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm2
1225*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm2
1226*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm0
1227*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
1228*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
1229*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
1230*9880d681SAndroid Build Coastguard Worker;
1231*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v32i16:
1232*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
1233*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtw %ymm2, %ymm0, %ymm0
1234*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxwd %ymm0, %zmm0
1235*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
1236*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtw %ymm3, %ymm1, %ymm1
1237*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxwd %ymm1, %zmm1
1238*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm1, %xmm1
1239*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
1240*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
1241*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <32 x i16> %a0, %a1
1242*9880d681SAndroid Build Coastguard Worker  ret <32 x i1> %1
1243*9880d681SAndroid Build Coastguard Worker}
1244*9880d681SAndroid Build Coastguard Worker
1245*9880d681SAndroid Build Coastguard Workerdefine <64 x i1> @test_cmp_v64i8(<64 x i8> %a0, <64 x i8> %a1) nounwind {
1246*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v64i8:
1247*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
1248*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb %xmm4, %xmm0
1249*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb %xmm5, %xmm1
1250*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb %xmm6, %xmm2
1251*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb %xmm7, %xmm3
1252*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm3, -{{[0-9]+}}(%rsp)
1253*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1254*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1255*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1256*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm2, -{{[0-9]+}}(%rsp)
1257*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1258*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1259*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1260*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm1, -{{[0-9]+}}(%rsp)
1261*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1262*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1263*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1264*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, -{{[0-9]+}}(%rsp)
1265*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1266*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1267*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1268*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1269*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1270*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1271*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1272*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1273*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1274*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1275*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1276*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1277*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1278*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1279*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1280*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1281*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1282*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1283*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1284*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1285*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1286*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1287*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1288*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1289*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1290*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1291*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1292*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1293*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1294*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1295*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1296*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1297*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1298*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1299*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1300*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1301*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1302*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1303*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1304*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1305*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1306*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1307*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1308*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1309*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1310*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1311*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1312*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1313*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1314*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1315*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1316*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1317*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1318*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1319*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1320*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1321*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1322*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1323*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1324*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1325*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1326*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1327*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1328*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1329*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1330*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1331*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1332*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1333*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1334*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1335*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1336*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1337*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1338*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1339*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1340*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1341*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1342*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1343*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1344*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1345*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1346*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1347*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1348*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1349*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1350*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1351*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1352*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1353*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1354*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1355*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1356*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1357*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1358*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1359*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1360*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1361*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1362*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1363*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1364*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1365*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1366*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1367*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1368*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1369*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1370*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1371*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1372*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1373*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1374*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1375*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1376*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1377*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1378*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1379*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1380*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1381*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1382*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1383*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1384*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1385*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1386*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1387*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1388*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1389*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1390*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1391*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1392*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1393*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1394*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1395*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1396*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1397*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1398*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1399*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1400*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1401*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1402*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1403*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1404*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1405*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1406*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1407*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1408*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1409*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1410*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1411*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1412*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1413*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1414*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1415*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1416*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1417*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1418*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1419*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1420*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1421*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1422*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1423*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1424*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1425*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1426*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1427*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1428*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1429*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1430*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1431*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1432*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1433*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1434*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1435*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1436*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1437*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1438*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
1439*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1440*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1441*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
1442*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1443*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1444*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
1445*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
1446*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
1447*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
1448*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movq %rdi, %rax
1449*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
1450*9880d681SAndroid Build Coastguard Worker;
1451*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v64i8:
1452*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
1453*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb %xmm4, %xmm0
1454*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb %xmm5, %xmm1
1455*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb %xmm6, %xmm2
1456*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb %xmm7, %xmm3
1457*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm3, %eax
1458*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1459*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1460*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm3, %eax
1461*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1462*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1463*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm3, %eax
1464*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1465*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1466*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm3, %eax
1467*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1468*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1469*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm3, %eax
1470*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1471*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1472*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm3, %eax
1473*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1474*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1475*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm3, %eax
1476*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1477*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1478*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm3, %eax
1479*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1480*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1481*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm3, %eax
1482*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1483*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1484*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm3, %eax
1485*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1486*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1487*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm3, %eax
1488*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1489*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1490*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm3, %eax
1491*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1492*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1493*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm3, %eax
1494*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1495*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1496*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm3, %eax
1497*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1498*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1499*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm3, %eax
1500*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1501*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1502*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm3, %eax
1503*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1504*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
1505*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm2, %eax
1506*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1507*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1508*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm2, %eax
1509*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1510*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1511*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm2, %eax
1512*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1513*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1514*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm2, %eax
1515*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1516*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1517*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm2, %eax
1518*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1519*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1520*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm2, %eax
1521*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1522*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1523*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm2, %eax
1524*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1525*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1526*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm2, %eax
1527*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1528*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1529*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm2, %eax
1530*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1531*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1532*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm2, %eax
1533*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1534*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1535*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm2, %eax
1536*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1537*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1538*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm2, %eax
1539*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1540*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1541*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm2, %eax
1542*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1543*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1544*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm2, %eax
1545*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1546*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1547*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm2, %eax
1548*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1549*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1550*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm2, %eax
1551*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1552*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
1553*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm1, %eax
1554*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1555*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1556*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm1, %eax
1557*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1558*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1559*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm1, %eax
1560*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1561*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1562*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm1, %eax
1563*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1564*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1565*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm1, %eax
1566*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1567*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1568*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm1, %eax
1569*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1570*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1571*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm1, %eax
1572*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1573*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1574*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm1, %eax
1575*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1576*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1577*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm1, %eax
1578*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1579*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1580*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm1, %eax
1581*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1582*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1583*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm1, %eax
1584*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1585*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1586*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm1, %eax
1587*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1588*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1589*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm1, %eax
1590*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1591*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1592*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm1, %eax
1593*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1594*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1595*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm1, %eax
1596*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1597*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1598*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm1, %eax
1599*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1600*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
1601*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm0, %eax
1602*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1603*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1604*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm0, %eax
1605*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1606*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1607*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm0, %eax
1608*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1609*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1610*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm0, %eax
1611*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1612*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1613*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm0, %eax
1614*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1615*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1616*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm0, %eax
1617*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1618*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1619*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm0, %eax
1620*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1621*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1622*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm0, %eax
1623*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1624*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1625*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm0, %eax
1626*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1627*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1628*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm0, %eax
1629*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1630*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1631*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm0, %eax
1632*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1633*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1634*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm0, %eax
1635*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1636*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1637*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm0, %eax
1638*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1639*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1640*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm0, %eax
1641*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1642*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1643*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm0, %eax
1644*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1645*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1646*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm0, %eax
1647*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
1648*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
1649*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movq %rdi, %rax
1650*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
1651*9880d681SAndroid Build Coastguard Worker;
1652*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v64i8:
1653*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
1654*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm2, %xmm0, %xmm4
1655*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm2
1656*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm0
1657*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm2, %xmm0, %xmm0
1658*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm3, %xmm1, %xmm2
1659*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm3
1660*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm1
1661*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm3, %xmm1, %xmm1
1662*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm1, %eax
1663*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1664*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1665*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm1, %eax
1666*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1667*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1668*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm1, %eax
1669*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1670*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1671*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm1, %eax
1672*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1673*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1674*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm1, %eax
1675*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1676*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1677*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm1, %eax
1678*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1679*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1680*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm1, %eax
1681*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1682*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1683*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm1, %eax
1684*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm1, %eax
1687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm1, %eax
1690*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1691*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1692*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm1, %eax
1693*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1694*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1695*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm1, %eax
1696*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1697*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1698*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm1, %eax
1699*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1700*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1701*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm1, %eax
1702*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1703*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1704*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm1, %eax
1705*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm1, %eax
1708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm2, %eax
1711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm2, %eax
1714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm2, %eax
1717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm2, %eax
1720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm2, %eax
1723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm2, %eax
1726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm2, %eax
1729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm2, %eax
1732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm2, %eax
1735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm2, %eax
1738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm2, %eax
1741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm2, %eax
1744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm2, %eax
1747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm2, %eax
1750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1751*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1752*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm2, %eax
1753*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1754*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1755*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm2, %eax
1756*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1757*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
1758*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
1759*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1760*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1761*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
1762*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1763*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1764*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
1765*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1766*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1767*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
1768*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1769*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1770*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
1771*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1772*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1773*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
1774*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1775*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
1777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
1780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
1783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
1786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
1789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
1792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
1795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
1798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
1801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
1804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm4, %eax
1807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm4, %eax
1810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm4, %eax
1813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm4, %eax
1816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm4, %eax
1819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm4, %eax
1822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm4, %eax
1825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm4, %eax
1828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm4, %eax
1831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm4, %eax
1834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm4, %eax
1837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm4, %eax
1840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm4, %eax
1843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm4, %eax
1846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm4, %eax
1849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm4, %eax
1852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
1853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
1854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq %rdi, %rax
1855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
1856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
1857*9880d681SAndroid Build Coastguard Worker;
1858*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v64i8:
1859*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
1860*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm2, %ymm0, %ymm0
1861*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm3, %ymm1, %ymm1
1862*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
1863*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm2, %eax
1864*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1865*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1866*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm2, %eax
1867*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1868*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1869*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm2, %eax
1870*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1871*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1872*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm2, %eax
1873*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1874*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1875*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm2, %eax
1876*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1877*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1878*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm2, %eax
1879*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1880*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1881*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm2, %eax
1882*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1883*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1884*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm2, %eax
1885*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1886*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1887*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm2, %eax
1888*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1889*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1890*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm2, %eax
1891*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1892*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1893*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm2, %eax
1894*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1895*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1896*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm2, %eax
1897*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1898*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1899*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm2, %eax
1900*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1901*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1902*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm2, %eax
1903*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1904*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1905*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm2, %eax
1906*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1907*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1908*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm2, %eax
1909*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1910*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1911*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm1, %eax
1912*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1913*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1914*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm1, %eax
1915*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1916*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1917*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm1, %eax
1918*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1919*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1920*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm1, %eax
1921*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1922*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1923*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm1, %eax
1924*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1925*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1926*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm1, %eax
1927*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1928*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1929*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm1, %eax
1930*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1931*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1932*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm1, %eax
1933*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1934*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1935*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm1, %eax
1936*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1937*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1938*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm1, %eax
1939*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1940*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1941*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm1, %eax
1942*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm1, %eax
1945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm1, %eax
1948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm1, %eax
1951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm1, %eax
1954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm1, %eax
1957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
1959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
1960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm1, %eax
1961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1962*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm1, %eax
1964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm1, %eax
1967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm1, %eax
1970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm1, %eax
1973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1975*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm1, %eax
1976*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1977*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1978*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm1, %eax
1979*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1980*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1981*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm1, %eax
1982*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1983*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm1, %eax
1985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm1, %eax
1988*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1989*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1990*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm1, %eax
1991*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1992*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1993*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm1, %eax
1994*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1995*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1996*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm1, %eax
1997*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
1998*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
1999*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm1, %eax
2000*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2001*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2002*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm1, %eax
2003*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2004*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2005*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm1, %eax
2006*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2007*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2008*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
2009*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2010*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2011*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
2012*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2013*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2014*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
2015*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2016*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2017*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
2018*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2019*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2020*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
2021*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2022*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2023*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
2024*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2025*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2026*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
2027*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2028*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2029*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
2030*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2031*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2032*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
2033*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2034*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2035*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
2036*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2037*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2038*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
2039*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2040*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2041*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
2042*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2043*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2044*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
2045*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2046*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2047*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
2048*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2049*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2050*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
2051*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2052*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2053*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
2054*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
2055*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
2056*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rdi, %rax
2057*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
2058*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
2059*9880d681SAndroid Build Coastguard Worker;
2060*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v64i8:
2061*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
2062*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm3, %ymm1, %ymm3
2063*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm2, %ymm0, %ymm1
2064*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm1, %xmm0
2065*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqa {{.*#+}} xmm4 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128]
2066*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm0, %xmm0
2067*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxor %xmm5, %xmm5, %xmm5
2068*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm0, %xmm5, %xmm0
2069*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm1, %xmm1
2070*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm1, %xmm1
2071*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm1, %xmm1
2072*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm1, %xmm5, %xmm1
2073*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm3, %xmm2
2074*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm2, %xmm2
2075*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm2, %xmm5, %xmm2
2076*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm3, %xmm3
2077*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm3, %xmm3
2078*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm3, %xmm3
2079*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm3, %xmm5, %xmm3
2080*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
2081*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <64 x i8> %a0, %a1
2082*9880d681SAndroid Build Coastguard Worker  ret <64 x i1> %1
2083*9880d681SAndroid Build Coastguard Worker}
2084*9880d681SAndroid Build Coastguard Worker
2085*9880d681SAndroid Build Coastguard Worker;
2086*9880d681SAndroid Build Coastguard Worker; 1024-bit vector comparisons
2087*9880d681SAndroid Build Coastguard Worker;
2088*9880d681SAndroid Build Coastguard Worker
2089*9880d681SAndroid Build Coastguard Workerdefine <16 x i1> @test_cmp_v16f64(<16 x double> %a0, <16 x double> %a1) nounwind {
2090*9880d681SAndroid Build Coastguard Worker; SSE-LABEL: test_cmp_v16f64:
2091*9880d681SAndroid Build Coastguard Worker; SSE:       # BB#0:
2092*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd %xmm0, %xmm8
2093*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm0
2094*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm11
2095*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm10
2096*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm12
2097*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm9
2098*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm13
2099*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm14
2100*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{[0-9]+}}(%rsp), %xmm15
2101*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm7, %xmm15
2102*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    movapd {{.*#+}} xmm7 = [255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0]
2103*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm15
2104*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm6, %xmm14
2105*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm14
2106*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm15, %xmm14
2107*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm5, %xmm13
2108*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm13
2109*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm4, %xmm9
2110*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm9
2111*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm13, %xmm9
2112*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm14, %xmm9
2113*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm3, %xmm12
2114*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm12
2115*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm2, %xmm10
2116*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm10
2117*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm12, %xmm10
2118*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm1, %xmm11
2119*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm11
2120*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    cmpltpd %xmm8, %xmm0
2121*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    andpd %xmm7, %xmm0
2122*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm11, %xmm0
2123*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm10, %xmm0
2124*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    packuswb %xmm9, %xmm0
2125*9880d681SAndroid Build Coastguard Worker; SSE-NEXT:    retq
2126*9880d681SAndroid Build Coastguard Worker;
2127*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v16f64:
2128*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
2129*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltpd %ymm3, %ymm7, %ymm3
2130*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm8
2131*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovapd {{.*#+}} xmm7 = [255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0]
2132*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm8, %xmm8
2133*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm3, %xmm3
2134*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm8, %xmm3, %xmm3
2135*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltpd %ymm2, %ymm6, %ymm2
2136*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm6
2137*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm6, %xmm6
2138*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm2, %xmm2
2139*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm6, %xmm2, %xmm2
2140*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm2, %xmm2
2141*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltpd %ymm1, %ymm5, %ymm1
2142*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2143*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm3, %xmm3
2144*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm1, %xmm1
2145*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm1, %xmm1
2146*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltpd %ymm0, %ymm4, %ymm0
2147*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm3
2148*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm3, %xmm3
2149*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandpd %xmm7, %xmm0, %xmm0
2150*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm0, %xmm0
2151*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm1, %xmm0, %xmm0
2152*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm2, %xmm0, %xmm0
2153*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
2154*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
2155*9880d681SAndroid Build Coastguard Worker;
2156*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v16f64:
2157*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
2158*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltpd %ymm2, %ymm6, %ymm2
2159*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermilps {{.*#+}} ymm2 = ymm2[0,2,0,2,4,6,4,6]
2160*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,3,2,3]
2161*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltpd %ymm3, %ymm7, %ymm3
2162*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermilps {{.*#+}} ymm3 = ymm3[0,2,0,2,4,6,4,6]
2163*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,3,2,3]
2164*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
2165*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128]
2166*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm2, %ymm2
2167*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
2168*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
2169*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm6, %xmm2, %xmm2
2170*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltpd %ymm0, %ymm4, %ymm0
2171*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermilps {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
2172*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
2173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltpd %ymm1, %ymm5, %ymm1
2174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermilps {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
2175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
2176*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
2177*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm0, %ymm0
2178*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
2179*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm6, %xmm0, %xmm0
2180*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
2181*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
2182*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
2183*9880d681SAndroid Build Coastguard Worker;
2184*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v16f64:
2185*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
2186*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm2, %xmm4
2187*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm0, %xmm5
2188*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    xorl %eax, %eax
2189*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm4, %xmm5
2190*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movq $-1, %rcx
2191*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2192*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2193*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
2194*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm4 = xmm4[1,0]
2195*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm5 = xmm5[1,0]
2196*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm4, %xmm5
2197*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2198*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2199*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm4
2200*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm4 = xmm6[0],xmm4[0]
2201*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm2, %xmm5
2202*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm0, %xmm6
2203*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm5, %xmm6
2204*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2205*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2206*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm7
2207*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm5 = xmm5[1,0]
2208*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm6[1,0]
2209*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm5, %xmm6
2210*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2211*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2212*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
2213*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm5 = xmm7[0],xmm5[0]
2214*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm5, %ymm4
2215*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm2, %xmm5
2216*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm0, %xmm6
2217*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm5, %xmm6
2218*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2219*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2220*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm7
2221*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm5 = xmm5[1,0]
2222*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm6[1,0]
2223*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm5, %xmm6
2224*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2225*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2226*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
2227*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm5 = xmm7[0],xmm5[0]
2228*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm2, %xmm0
2229*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2230*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2231*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
2232*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm2 = xmm2[1,0]
2233*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm0 = xmm0[1,0]
2234*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm2, %xmm0
2235*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2236*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2237*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm0
2238*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm6[0],xmm0[0]
2239*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm0
2240*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm4, %zmm0, %zmm0
2241*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqd %zmm0, %ymm0
2242*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm3, %xmm2
2243*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm1, %xmm4
2244*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm2, %xmm4
2245*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2246*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2247*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
2248*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm2 = xmm2[1,0]
2249*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm4 = xmm4[1,0]
2250*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm2, %xmm4
2251*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2252*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2253*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm2
2254*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm2 = xmm5[0],xmm2[0]
2255*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm3, %xmm4
2256*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm1, %xmm5
2257*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm4, %xmm5
2258*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2259*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2260*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
2261*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm4 = xmm4[1,0]
2262*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm5 = xmm5[1,0]
2263*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm4, %xmm5
2264*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2265*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2266*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm4
2267*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm4 = xmm6[0],xmm4[0]
2268*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm4, %ymm2
2269*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm3, %xmm4
2270*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm1, %xmm5
2271*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm4, %xmm5
2272*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2273*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2274*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
2275*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm4 = xmm4[1,0]
2276*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm5 = xmm5[1,0]
2277*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm4, %xmm5
2278*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2279*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2280*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm4
2281*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm4 = xmm6[0],xmm4[0]
2282*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm3, %xmm1
2283*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2284*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rdx
2285*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
2286*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm3 = xmm3[1,0]
2287*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm1 = xmm1[1,0]
2288*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomisd %xmm3, %xmm1
2289*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovaq %rcx, %rax
2290*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rax, %xmm1
2291*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm1 = xmm5[0],xmm1[0]
2292*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm1, %ymm1
2293*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm1, %zmm1
2294*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqd %zmm1, %ymm1
2295*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0
2296*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
2297*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
2298*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <16 x double> %a0, %a1
2299*9880d681SAndroid Build Coastguard Worker  ret <16 x i1> %1
2300*9880d681SAndroid Build Coastguard Worker}
2301*9880d681SAndroid Build Coastguard Worker
2302*9880d681SAndroid Build Coastguard Workerdefine <32 x i1> @test_cmp_v32f32(<32 x float> %a0, <32 x float> %a1) nounwind {
2303*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v32f32:
2304*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
2305*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm8
2306*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm9
2307*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm10
2308*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm11
2309*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm12
2310*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm13
2311*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm14
2312*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm15
2313*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm3, %xmm15
2314*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm3 = xmm15[0,2,2,3,4,5,6,7]
2315*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,6,7]
2316*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,2,2,3]
2317*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm2, %xmm14
2318*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm2 = xmm14[0,2,2,3,4,5,6,7]
2319*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]
2320*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]
2321*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
2322*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm2
2323*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm2
2324*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255]
2325*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm2
2326*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm1, %xmm13
2327*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm1 = xmm13[0,2,2,3,4,5,6,7]
2328*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]
2329*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
2330*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm0, %xmm12
2331*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm0 = xmm12[0,2,2,3,4,5,6,7]
2332*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]
2333*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
2334*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2335*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm0
2336*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm0
2337*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm0
2338*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm2, %xmm0
2339*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm7, %xmm11
2340*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm1 = xmm11[0,2,2,3,4,5,6,7]
2341*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]
2342*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
2343*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm6, %xmm10
2344*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm2 = xmm10[0,2,2,3,4,5,6,7]
2345*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]
2346*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]
2347*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
2348*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm2
2349*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm2
2350*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm2
2351*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm5, %xmm9
2352*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm1 = xmm9[0,2,2,3,4,5,6,7]
2353*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]
2354*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
2355*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    cmpltps %xmm4, %xmm8
2356*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm4 = xmm8[0,2,2,3,4,5,6,7]
2357*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,6,6,7]
2358*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,2,2,3]
2359*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm1[0]
2360*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm4
2361*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm4
2362*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm4
2363*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm2, %xmm4
2364*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm4, -{{[0-9]+}}(%rsp)
2365*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2366*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2367*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2368*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, -{{[0-9]+}}(%rsp)
2369*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2370*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2371*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2372*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2373*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2374*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2375*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2376*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2377*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2378*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2379*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2380*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2381*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2382*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2383*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2384*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2385*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2386*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2387*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2388*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2389*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2390*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2391*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2392*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2393*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2394*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2395*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2396*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2397*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2398*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2399*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2400*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2401*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2402*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2403*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2404*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2405*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2406*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2407*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2408*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2409*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2410*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2411*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2412*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2413*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2414*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2415*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2416*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2417*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2418*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2419*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2420*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2421*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2422*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2423*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2424*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2425*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2426*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2427*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2428*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2429*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2430*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2431*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2432*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2433*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2434*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2435*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2436*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2437*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2438*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2439*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2440*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2441*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2442*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2443*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2444*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2445*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2446*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2447*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2448*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2449*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2450*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2451*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2452*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2453*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2454*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2455*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2456*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2457*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2458*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
2459*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
2460*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
2461*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
2462*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movq %rdi, %rax
2463*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
2464*9880d681SAndroid Build Coastguard Worker;
2465*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v32f32:
2466*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
2467*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm9
2468*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm11
2469*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm10
2470*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm12
2471*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm8
2472*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm14
2473*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm13
2474*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movaps {{[0-9]+}}(%rsp), %xmm15
2475*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm3, %xmm15
2476*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm3 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
2477*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm15
2478*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm2, %xmm13
2479*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm13
2480*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm13 = xmm13[0],xmm15[0]
2481*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm13
2482*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm13
2483*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
2484*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm2, %xmm13
2485*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm1, %xmm14
2486*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm14
2487*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm0, %xmm8
2488*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm8
2489*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm8 = xmm8[0],xmm14[0]
2490*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm8
2491*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm8
2492*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm2, %xmm8
2493*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm8 = xmm8[0],xmm13[0]
2494*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm7, %xmm12
2495*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm12
2496*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm6, %xmm10
2497*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm10
2498*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm10 = xmm10[0],xmm12[0]
2499*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm10
2500*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm10
2501*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm2, %xmm10
2502*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm5, %xmm11
2503*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm11
2504*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    cmpltps %xmm4, %xmm9
2505*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm9
2506*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm9 = xmm9[0],xmm11[0]
2507*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm9
2508*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm9
2509*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm2, %xmm9
2510*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm9 = xmm9[0],xmm10[0]
2511*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm9, %eax
2512*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2513*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2514*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm9, %eax
2515*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2516*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2517*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm9, %eax
2518*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2519*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2520*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm9, %eax
2521*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2522*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2523*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm9, %eax
2524*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2525*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2526*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm9, %eax
2527*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2528*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2529*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm9, %eax
2530*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2531*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2532*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm9, %eax
2533*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2534*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2535*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm9, %eax
2536*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2537*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2538*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm9, %eax
2539*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2540*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2541*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm9, %eax
2542*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2543*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2544*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm9, %eax
2545*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2546*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2547*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm9, %eax
2548*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2549*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2550*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm9, %eax
2551*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2552*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2553*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm9, %eax
2554*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2555*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2556*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm9, %eax
2557*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2558*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
2559*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm8, %eax
2560*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2561*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2562*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm8, %eax
2563*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2564*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2565*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm8, %eax
2566*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2567*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2568*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm8, %eax
2569*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2570*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2571*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm8, %eax
2572*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2573*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2574*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm8, %eax
2575*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2576*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2577*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm8, %eax
2578*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2579*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2580*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm8, %eax
2581*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2582*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2583*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm8, %eax
2584*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2585*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2586*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm8, %eax
2587*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2588*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2589*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm8, %eax
2590*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2591*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2592*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm8, %eax
2593*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2594*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2595*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm8, %eax
2596*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2597*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2598*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm8, %eax
2599*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2600*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2601*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm8, %eax
2602*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2603*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2604*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm8, %eax
2605*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
2606*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
2607*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movq %rdi, %rax
2608*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
2609*9880d681SAndroid Build Coastguard Worker;
2610*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v32f32:
2611*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
2612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltps %ymm3, %ymm7, %ymm3
2613*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm8
2614*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovaps {{.*#+}} xmm7 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
2615*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm8, %xmm8
2616*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm3, %xmm3
2617*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm8, %xmm3, %xmm3
2618*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltps %ymm2, %ymm6, %ymm2
2619*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm6
2620*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm6, %xmm6
2621*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm2, %xmm2
2622*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm6, %xmm2, %xmm2
2623*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm2, %xmm2
2624*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltps %ymm1, %ymm5, %ymm1
2625*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm3
2626*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm3, %xmm3
2627*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm1, %xmm1
2628*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm1, %xmm1
2629*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vcmpltps %ymm0, %ymm4, %ymm0
2630*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm3
2631*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm3, %xmm3
2632*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vandps %xmm7, %xmm0, %xmm0
2633*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm0, %xmm0
2634*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm1, %xmm0, %xmm0
2635*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
2636*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
2637*9880d681SAndroid Build Coastguard Worker;
2638*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v32f32:
2639*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
2640*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltps %ymm3, %ymm7, %ymm3
2641*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm8 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128]
2642*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm3, %ymm3
2643*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,2,2,3]
2644*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
2645*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm3, %xmm3
2646*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltps %ymm2, %ymm6, %ymm2
2647*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm2, %ymm2
2648*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
2649*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm2, %xmm2
2650*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
2651*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltps %ymm1, %ymm5, %ymm1
2652*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm1, %ymm1
2653*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
2654*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm1, %xmm1
2655*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vcmpltps %ymm0, %ymm4, %ymm0
2656*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm0, %ymm0
2657*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
2658*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm0, %xmm0
2659*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2660*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm0
2661*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
2662*9880d681SAndroid Build Coastguard Worker;
2663*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v32f32:
2664*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
2665*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm2, %xmm4
2666*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm5 = xmm4[1,1,3,3]
2667*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm0, %xmm6
2668*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm7 = xmm6[1,1,3,3]
2669*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    xorl %eax, %eax
2670*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm7
2671*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $-1, %ecx
2672*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2673*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2674*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm4, %xmm6
2675*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2676*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2677*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm5
2678*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm5, %xmm8
2679*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm7 = xmm4[1,0]
2680*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm5 = xmm6[1,0]
2681*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm7, %xmm5
2682*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2683*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2684*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm8, %xmm5
2685*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm4 = xmm4[3,1,2,3]
2686*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm6 = xmm6[3,1,2,3]
2687*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm4, %xmm6
2688*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2689*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2690*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm5, %xmm8
2691*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm2, %xmm5
2692*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm6 = xmm5[1,1,3,3]
2693*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm0, %xmm7
2694*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm4 = xmm7[1,1,3,3]
2695*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm6, %xmm4
2696*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2697*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2698*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm7
2699*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2700*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2701*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm4
2702*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm4, %xmm9
2703*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm5[1,0]
2704*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm4 = xmm7[1,0]
2705*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm6, %xmm4
2706*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2707*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2708*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm9, %xmm4
2709*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm5 = xmm5[3,1,2,3]
2710*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm6 = xmm7[3,1,2,3]
2711*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm6
2712*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2713*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2714*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm4, %xmm4
2715*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm4, %ymm8
2716*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm2, %xmm5
2717*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm6 = xmm5[1,1,3,3]
2718*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm0, %xmm7
2719*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm4 = xmm7[1,1,3,3]
2720*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm6, %xmm4
2721*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2722*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2723*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm7
2724*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2725*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2726*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm4
2727*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm4, %xmm9
2728*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm5[1,0]
2729*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm4 = xmm7[1,0]
2730*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm6, %xmm4
2731*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2732*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2733*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm9, %xmm4
2734*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm5 = xmm5[3,1,2,3]
2735*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm6 = xmm7[3,1,2,3]
2736*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm6
2737*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2738*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2739*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm4, %xmm4
2740*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm5 = xmm2[1,1,3,3]
2741*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm6 = xmm0[1,1,3,3]
2742*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm6
2743*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2744*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2745*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm2, %xmm0
2746*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2747*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2748*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm5
2749*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm5, %xmm5
2750*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm2[1,0]
2751*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm7 = xmm0[1,0]
2752*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm6, %xmm7
2753*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2754*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2755*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm5, %xmm5
2756*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm2 = xmm2[3,1,2,3]
2757*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm0 = xmm0[3,1,2,3]
2758*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm2, %xmm0
2759*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2760*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2761*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm5, %xmm0
2762*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm0
2763*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm8, %zmm0, %zmm0
2764*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm8
2765*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm3, %xmm2
2766*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm4 = xmm2[1,1,3,3]
2767*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $3, %zmm1, %xmm5
2768*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm6 = xmm5[1,1,3,3]
2769*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm4, %xmm6
2770*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2771*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2772*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm2, %xmm5
2773*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2774*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2775*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm4
2776*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm4, %xmm4
2777*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm2[1,0]
2778*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm7 = xmm5[1,0]
2779*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm6, %xmm7
2780*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2781*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2782*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm4, %xmm4
2783*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm2 = xmm2[3,1,2,3]
2784*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm5 = xmm5[3,1,2,3]
2785*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm2, %xmm5
2786*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2787*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2788*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm4, %xmm2
2789*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm3, %xmm4
2790*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm5 = xmm4[1,1,3,3]
2791*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $2, %zmm1, %xmm6
2792*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm7 = xmm6[1,1,3,3]
2793*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm7
2794*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2795*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2796*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm4, %xmm6
2797*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2798*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2799*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm5
2800*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm5, %xmm5
2801*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm7 = xmm4[1,0]
2802*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm0 = xmm6[1,0]
2803*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm7, %xmm0
2804*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2805*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2806*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm5, %xmm0
2807*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm4 = xmm4[3,1,2,3]
2808*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm5 = xmm6[3,1,2,3]
2809*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm4, %xmm5
2810*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2811*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2812*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm0, %xmm0
2813*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm2
2814*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm3, %xmm0
2815*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm4 = xmm0[1,1,3,3]
2816*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextractf32x4 $1, %zmm1, %xmm5
2817*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm6 = xmm5[1,1,3,3]
2818*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm4, %xmm6
2819*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2820*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2821*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm0, %xmm5
2822*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2823*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2824*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm4
2825*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm4, %xmm4
2826*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm0[1,0]
2827*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm7 = xmm5[1,0]
2828*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm6, %xmm7
2829*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2830*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2831*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm4, %xmm4
2832*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm0 = xmm0[3,1,2,3]
2833*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm5 = xmm5[3,1,2,3]
2834*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm0, %xmm5
2835*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2836*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2837*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm4, %xmm0
2838*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm4 = xmm3[1,1,3,3]
2839*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovshdup {{.*#+}} xmm5 = xmm1[1,1,3,3]
2840*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm4, %xmm5
2841*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2842*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2843*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm3, %xmm1
2844*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
2845*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %esi
2846*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm4
2847*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm4, %xmm4
2848*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm5 = xmm3[1,0]
2849*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilpd {{.*#+}} xmm6 = xmm1[1,0]
2850*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm5, %xmm6
2851*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
2852*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %edx
2853*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm4, %xmm4
2854*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm3 = xmm3[3,1,2,3]
2855*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpermilps {{.*#+}} xmm1 = xmm1[3,1,2,3]
2856*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vucomiss %xmm3, %xmm1
2857*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmoval %ecx, %eax
2858*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %eax, %xmm4, %xmm1
2859*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm1, %ymm0
2860*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm0
2861*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
2862*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinsertf128 $1, %xmm0, %ymm8, %ymm0
2863*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
2864*9880d681SAndroid Build Coastguard Worker  %1 = fcmp ogt <32 x float> %a0, %a1
2865*9880d681SAndroid Build Coastguard Worker  ret <32 x i1> %1
2866*9880d681SAndroid Build Coastguard Worker}
2867*9880d681SAndroid Build Coastguard Worker
2868*9880d681SAndroid Build Coastguard Workerdefine <16 x i1> @test_cmp_v16i64(<16 x i64> %a0, <16 x i64> %a1) nounwind {
2869*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v16i64:
2870*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
2871*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm8 = [2147483648,0,2147483648,0]
2872*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm7
2873*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{[0-9]+}}(%rsp), %xmm9
2874*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm9
2875*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm7, %xmm10
2876*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm9, %xmm10
2877*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm11 = xmm10[0,0,2,2]
2878*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm7, %xmm9
2879*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm7 = xmm9[1,1,3,3]
2880*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm11, %xmm7
2881*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm9 = xmm10[1,1,3,3]
2882*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm7, %xmm9
2883*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm10 = [255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0]
2884*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm9
2885*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm6
2886*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{[0-9]+}}(%rsp), %xmm7
2887*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm7
2888*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm6, %xmm11
2889*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm7, %xmm11
2890*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm12 = xmm11[0,0,2,2]
2891*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm6, %xmm7
2892*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[1,1,3,3]
2893*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm12, %xmm7
2894*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm11 = xmm11[1,1,3,3]
2895*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm7, %xmm11
2896*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm11
2897*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm9, %xmm11
2898*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm5
2899*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{[0-9]+}}(%rsp), %xmm7
2900*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm7
2901*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm5, %xmm6
2902*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm7, %xmm6
2903*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm9 = xmm6[0,0,2,2]
2904*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm5, %xmm7
2905*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm7[1,1,3,3]
2906*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm9, %xmm5
2907*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[1,1,3,3]
2908*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm5, %xmm6
2909*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm6
2910*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm4
2911*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{[0-9]+}}(%rsp), %xmm5
2912*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm5
2913*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm4, %xmm7
2914*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm5, %xmm7
2915*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm9 = xmm7[0,0,2,2]
2916*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm4, %xmm5
2917*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[1,1,3,3]
2918*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm9, %xmm5
2919*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm4 = xmm7[1,1,3,3]
2920*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm5, %xmm4
2921*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm4
2922*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm6, %xmm4
2923*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm11, %xmm4
2924*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm3
2925*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{[0-9]+}}(%rsp), %xmm5
2926*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm5
2927*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm3, %xmm6
2928*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm5, %xmm6
2929*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm7 = xmm6[0,0,2,2]
2930*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm3, %xmm5
2931*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm5[1,1,3,3]
2932*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm7, %xmm3
2933*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm6[1,1,3,3]
2934*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm3, %xmm5
2935*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm5
2936*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm2
2937*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{[0-9]+}}(%rsp), %xmm3
2938*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm3
2939*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm2, %xmm6
2940*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm3, %xmm6
2941*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm7 = xmm6[0,0,2,2]
2942*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm2, %xmm3
2943*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,1,3,3]
2944*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm7, %xmm3
2945*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm6[1,1,3,3]
2946*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm3, %xmm2
2947*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm2
2948*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm5, %xmm2
2949*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm1
2950*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{[0-9]+}}(%rsp), %xmm3
2951*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm3
2952*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm1, %xmm5
2953*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm3, %xmm5
2954*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm6 = xmm5[0,0,2,2]
2955*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm1, %xmm3
2956*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[1,1,3,3]
2957*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm6, %xmm1
2958*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm5[1,1,3,3]
2959*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm1, %xmm3
2960*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm3
2961*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor %xmm8, %xmm0
2962*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pxor {{[0-9]+}}(%rsp), %xmm8
2963*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, %xmm1
2964*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd %xmm8, %xmm1
2965*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,0,2,2]
2966*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpeqd %xmm0, %xmm8
2967*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm6 = xmm8[1,1,3,3]
2968*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm5, %xmm6
2969*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[1,1,3,3]
2970*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    por %xmm6, %xmm0
2971*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm10, %xmm0
2972*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm3, %xmm0
2973*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm2, %xmm0
2974*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm4, %xmm0
2975*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
2976*9880d681SAndroid Build Coastguard Worker;
2977*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v16i64:
2978*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
2979*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm7
2980*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm8 = [255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0]
2981*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm7
2982*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm6
2983*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm6
2984*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packuswb %xmm7, %xmm6
2985*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm5
2986*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm5
2987*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm4
2988*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm4
2989*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packuswb %xmm5, %xmm4
2990*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packuswb %xmm6, %xmm4
2991*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm3
2992*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm3
2993*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm2
2994*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm2
2995*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packuswb %xmm3, %xmm2
2996*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm1
2997*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm1
2998*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtq {{[0-9]+}}(%rsp), %xmm0
2999*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pand %xmm8, %xmm0
3000*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packuswb %xmm1, %xmm0
3001*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packuswb %xmm2, %xmm0
3002*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    packuswb %xmm4, %xmm0
3003*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
3004*9880d681SAndroid Build Coastguard Worker;
3005*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v16i64:
3006*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
3007*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm7, %xmm8
3008*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm9
3009*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm8, %xmm9, %xmm9
3010*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm8 = [255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0]
3011*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm9, %xmm9
3012*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm7, %xmm3, %xmm3
3013*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3014*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm9, %xmm3, %xmm9
3015*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm6, %xmm7
3016*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm3
3017*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm7, %xmm3, %xmm3
3018*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3019*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm6, %xmm2, %xmm2
3020*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm2, %xmm2
3021*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm2, %xmm2
3022*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm9, %xmm2, %xmm2
3023*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm3
3024*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm6
3025*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm3, %xmm6, %xmm3
3026*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3027*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm5, %xmm1, %xmm1
3028*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm1, %xmm1
3029*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm1, %xmm1
3030*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm4, %xmm3
3031*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm5
3032*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm3, %xmm5, %xmm3
3033*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3034*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtq %xmm4, %xmm0, %xmm0
3035*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm0, %xmm0
3036*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm0, %xmm0
3037*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm1, %xmm0, %xmm0
3038*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm2, %xmm0, %xmm0
3039*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
3040*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
3041*9880d681SAndroid Build Coastguard Worker;
3042*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v16i64:
3043*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
3044*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtq %ymm6, %ymm2, %ymm2
3045*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,0,2,4,6,4,6]
3046*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,3,2,3]
3047*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtq %ymm7, %ymm3, %ymm3
3048*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,0,2,4,6,4,6]
3049*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,3,2,3]
3050*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
3051*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128]
3052*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm2, %ymm2
3053*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
3054*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
3055*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm6, %xmm2, %xmm2
3056*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtq %ymm4, %ymm0, %ymm0
3057*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
3058*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
3059*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtq %ymm5, %ymm1, %ymm1
3060*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
3061*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
3062*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
3063*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm3, %ymm0, %ymm0
3064*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
3065*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm6, %xmm0, %xmm0
3066*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
3067*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
3068*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
3069*9880d681SAndroid Build Coastguard Worker;
3070*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v16i64:
3071*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
3072*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm2, %xmm4
3073*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm4, %rcx
3074*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm0, %xmm5
3075*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm5, %rdx
3076*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    xorl %eax, %eax
3077*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rcx, %rdx
3078*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movq $-1, %rcx
3079*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3080*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3081*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
3082*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm4, %rdx
3083*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm5, %rsi
3084*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3085*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3086*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3087*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm4
3088*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm6[0]
3089*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm2, %xmm5
3090*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm5, %rdx
3091*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm0, %xmm6
3092*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm6, %rsi
3093*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3094*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3095*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3096*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm7
3097*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm5, %rdx
3098*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm6, %rsi
3099*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3100*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3101*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3102*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
3103*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],xmm7[0]
3104*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm5, %ymm4
3105*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm2, %xmm5
3106*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm5, %rdx
3107*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm0, %xmm6
3108*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm6, %rsi
3109*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3110*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3111*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3112*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm7
3113*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm5, %rdx
3114*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm6, %rsi
3115*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3116*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3117*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3118*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
3119*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm5 = xmm5[0],xmm7[0]
3120*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm2, %rdx
3121*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm0, %rsi
3122*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3123*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3124*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3125*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
3126*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm2, %rdx
3127*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm0, %rsi
3128*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3129*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3130*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3131*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm0
3132*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm6[0]
3133*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm0
3134*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm4, %zmm0, %zmm0
3135*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqd %zmm0, %ymm0
3136*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm3, %xmm2
3137*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm2, %rdx
3138*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm1, %xmm4
3139*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm4, %rsi
3140*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3141*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3142*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3143*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
3144*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm2, %rdx
3145*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm4, %rsi
3146*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3147*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3148*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3149*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm2
3150*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm5[0]
3151*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm3, %xmm4
3152*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm4, %rdx
3153*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm1, %xmm5
3154*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm5, %rsi
3155*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3156*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3157*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3158*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
3159*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm4, %rdx
3160*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm5, %rsi
3161*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3162*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3163*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3164*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm4
3165*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm6[0]
3166*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm4, %ymm2
3167*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm3, %xmm4
3168*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm4, %rdx
3169*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm1, %xmm5
3170*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm5, %rsi
3171*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3172*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3173*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3174*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm6
3175*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm4, %rdx
3176*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm5, %rsi
3177*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3178*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3179*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3180*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm4
3181*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm6[0]
3182*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm3, %rdx
3183*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrq $1, %xmm1, %rsi
3184*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3185*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3186*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rdx
3187*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rdx, %xmm5
3188*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm3, %rdx
3189*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %xmm1, %rsi
3190*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpq %rdx, %rsi
3191*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgq %rcx, %rax
3192*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovq %rax, %xmm1
3193*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm5[0]
3194*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm1, %ymm1
3195*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm1, %zmm1
3196*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovqd %zmm1, %ymm1
3197*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0
3198*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
3199*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
3200*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <16 x i64> %a0, %a1
3201*9880d681SAndroid Build Coastguard Worker  ret <16 x i1> %1
3202*9880d681SAndroid Build Coastguard Worker}
3203*9880d681SAndroid Build Coastguard Worker
3204*9880d681SAndroid Build Coastguard Workerdefine <32 x i1> @test_cmp_v32i32(<32 x i32> %a0, <32 x i32> %a1) nounwind {
3205*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v32i32:
3206*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
3207*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm3
3208*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,2,2,3,4,5,6,7]
3209*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,6,7]
3210*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,2,2,3]
3211*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm2
3212*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,2,2,3,4,5,6,7]
3213*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]
3214*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]
3215*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
3216*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm2
3217*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm2
3218*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255]
3219*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm2
3220*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm1
3221*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,2,2,3,4,5,6,7]
3222*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]
3223*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
3224*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm0
3225*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
3226*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]
3227*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
3228*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
3229*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm0
3230*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm0
3231*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm0
3232*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm2, %xmm0
3233*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm7
3234*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm1 = xmm7[0,2,2,3,4,5,6,7]
3235*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]
3236*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
3237*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm6
3238*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm2 = xmm6[0,2,2,3,4,5,6,7]
3239*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]
3240*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]
3241*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
3242*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm2
3243*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm2
3244*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm2
3245*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm5
3246*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm1 = xmm5[0,2,2,3,4,5,6,7]
3247*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]
3248*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
3249*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm4
3250*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,2,2,3,4,5,6,7]
3251*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,6,6,7]
3252*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,2,2,3]
3253*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm1[0]
3254*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psllw $15, %xmm4
3255*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    psraw $15, %xmm4
3256*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm3, %xmm4
3257*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm2, %xmm4
3258*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm4, -{{[0-9]+}}(%rsp)
3259*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3260*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3261*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3262*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, -{{[0-9]+}}(%rsp)
3263*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3264*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3265*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3266*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3267*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3268*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3269*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3270*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3271*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3272*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3273*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3274*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3275*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3276*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3277*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3278*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3279*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3280*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3281*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3282*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3283*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3284*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3285*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3286*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3287*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3288*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3289*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3290*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3291*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3292*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3293*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3294*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3295*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3296*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3297*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3298*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3299*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3300*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3301*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3302*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3303*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3304*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3305*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3306*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3307*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3308*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3309*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3310*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3311*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3312*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3313*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3314*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3315*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3316*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3317*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3318*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3319*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3320*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3321*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3322*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3323*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3324*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3325*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3326*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3327*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3328*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3329*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3330*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3331*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3332*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3333*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3334*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3335*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3336*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3337*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3338*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3339*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3340*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3341*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3342*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3343*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3344*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3345*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3346*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3347*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3348*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3349*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3350*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3351*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3352*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3353*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3354*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3355*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3356*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movq %rdi, %rax
3357*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
3358*9880d681SAndroid Build Coastguard Worker;
3359*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v32i32:
3360*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
3361*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm3
3362*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm8 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
3363*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm3
3364*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm2
3365*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm2
3366*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
3367*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm2
3368*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm2
3369*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm3 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
3370*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm2
3371*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm1
3372*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm1
3373*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm0
3374*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm0
3375*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
3376*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm0
3377*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm0
3378*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm0
3379*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
3380*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm7
3381*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm7
3382*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm6
3383*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm6
3384*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm6 = xmm6[0],xmm7[0]
3385*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm6
3386*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm6
3387*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm6
3388*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm5
3389*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm5
3390*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtd {{[0-9]+}}(%rsp), %xmm4
3391*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm4
3392*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm5[0]
3393*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psllw $15, %xmm4
3394*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    psraw $15, %xmm4
3395*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm3, %xmm4
3396*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm6[0]
3397*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm4, %eax
3398*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3399*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3400*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm4, %eax
3401*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3402*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3403*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm4, %eax
3404*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3405*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3406*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm4, %eax
3407*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3408*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3409*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm4, %eax
3410*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3411*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3412*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm4, %eax
3413*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3414*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3415*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm4, %eax
3416*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3417*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3418*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm4, %eax
3419*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3420*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3421*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm4, %eax
3422*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3423*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3424*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm4, %eax
3425*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3426*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3427*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm4, %eax
3428*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3429*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3430*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm4, %eax
3431*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3432*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3433*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm4, %eax
3434*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3435*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3436*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm4, %eax
3437*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3438*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3439*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm4, %eax
3440*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3441*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3442*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm4, %eax
3443*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3444*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
3445*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm0, %eax
3446*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3447*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3448*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm0, %eax
3449*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3450*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3451*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm0, %eax
3452*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3453*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3454*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm0, %eax
3455*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3456*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3457*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm0, %eax
3458*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3459*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3460*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm0, %eax
3461*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3462*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3463*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm0, %eax
3464*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3465*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3466*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm0, %eax
3467*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3468*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3469*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm0, %eax
3470*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3471*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3472*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm0, %eax
3473*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3474*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3475*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm0, %eax
3476*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3477*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3478*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm0, %eax
3479*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3480*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3481*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm0, %eax
3482*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3483*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3484*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm0, %eax
3485*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3486*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3487*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm0, %eax
3488*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3489*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3490*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm0, %eax
3491*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
3492*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
3493*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movq %rdi, %rax
3494*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
3495*9880d681SAndroid Build Coastguard Worker;
3496*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v32i32:
3497*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
3498*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm7, %xmm8
3499*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm9
3500*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm8, %xmm9, %xmm9
3501*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm8 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
3502*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm9, %xmm9
3503*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm7, %xmm3, %xmm3
3504*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3505*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm9, %xmm3, %xmm9
3506*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm6, %xmm7
3507*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm3
3508*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm7, %xmm3, %xmm3
3509*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3510*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm6, %xmm2, %xmm2
3511*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm2, %xmm2
3512*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm2, %xmm2
3513*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm9, %xmm2, %xmm2
3514*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm3
3515*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm6
3516*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm3, %xmm6, %xmm3
3517*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3518*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm5, %xmm1, %xmm1
3519*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm1, %xmm1
3520*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm1, %xmm1
3521*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm4, %xmm3
3522*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm5
3523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm3, %xmm5, %xmm3
3524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm3, %xmm3
3525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtd %xmm4, %xmm0, %xmm0
3526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpand %xmm8, %xmm0, %xmm0
3527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm3, %xmm0, %xmm0
3528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpackuswb %xmm1, %xmm0, %xmm0
3529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
3530*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
3531*9880d681SAndroid Build Coastguard Worker;
3532*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v32i32:
3533*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
3534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtd %ymm7, %ymm3, %ymm3
3535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} ymm8 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128]
3536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm3, %ymm3
3537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,2,2,3]
3538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
3539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm3, %xmm3
3540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtd %ymm6, %ymm2, %ymm2
3541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm2, %ymm2
3542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
3543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm2, %xmm2
3544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
3545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtd %ymm5, %ymm1, %ymm1
3546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm1, %ymm1
3547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
3548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm1, %xmm1
3549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtd %ymm4, %ymm0, %ymm0
3550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %ymm8, %ymm0, %ymm0
3551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
3552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm7, %xmm0, %xmm0
3553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
3554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm0
3555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
3556*9880d681SAndroid Build Coastguard Worker;
3557*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v32i32:
3558*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
3559*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm2, %xmm4
3560*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm4, %ecx
3561*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm0, %xmm5
3562*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm5, %edx
3563*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    xorl %eax, %eax
3564*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %ecx, %edx
3565*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $-1, %ecx
3566*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3567*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3568*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm4, %esi
3569*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm5, %edi
3570*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3571*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3572*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3573*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm6
3574*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm6, %xmm6
3575*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm4, %edx
3576*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm5, %esi
3577*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3578*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3579*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3580*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm6, %xmm6
3581*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm4, %edx
3582*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm5, %esi
3583*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3584*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3585*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3586*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm6, %xmm4
3587*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm2, %xmm5
3588*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm5, %edx
3589*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm0, %xmm6
3590*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm6, %esi
3591*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3592*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3593*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3594*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm5, %esi
3595*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm6, %edi
3596*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3597*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3598*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3599*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm7
3600*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm7, %xmm7
3601*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm5, %edx
3602*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm6, %esi
3603*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3604*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3605*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3606*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm7, %xmm7
3607*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm5, %edx
3608*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm6, %esi
3609*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3610*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3611*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3612*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm7, %xmm5
3613*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm5, %ymm4
3614*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm2, %xmm5
3615*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm5, %edx
3616*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm0, %xmm6
3617*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm6, %esi
3618*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3619*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3620*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3621*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm5, %esi
3622*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm6, %edi
3623*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3624*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3625*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3626*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm7
3627*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm7, %xmm7
3628*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm5, %edx
3629*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm6, %esi
3630*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3631*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3632*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3633*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm7, %xmm7
3634*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm5, %edx
3635*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm6, %esi
3636*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3637*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3638*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3639*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm7, %xmm5
3640*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm2, %edx
3641*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm0, %esi
3642*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3643*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3644*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3645*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm2, %esi
3646*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm0, %edi
3647*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3648*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3649*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3650*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm6
3651*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm6, %xmm6
3652*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm2, %edx
3653*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm0, %esi
3654*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3655*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3656*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3657*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm6, %xmm6
3658*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm2, %edx
3659*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm0, %esi
3660*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3661*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3662*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3663*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm6, %xmm0
3664*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm0
3665*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm4, %zmm0, %zmm0
3666*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm0, %xmm0
3667*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm3, %xmm2
3668*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm2, %edx
3669*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $3, %zmm1, %xmm4
3670*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm4, %esi
3671*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3672*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3673*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3674*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm2, %esi
3675*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm4, %edi
3676*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3677*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3678*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3679*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm5
3680*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm5, %xmm5
3681*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm2, %edx
3682*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm4, %esi
3683*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3684*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3685*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3686*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm5, %xmm5
3687*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm2, %edx
3688*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm4, %esi
3689*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3690*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3691*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3692*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm5, %xmm2
3693*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm3, %xmm4
3694*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm4, %edx
3695*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $2, %zmm1, %xmm5
3696*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm5, %esi
3697*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3698*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3699*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3700*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm4, %esi
3701*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm5, %edi
3702*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3703*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3704*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3705*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm6
3706*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm6, %xmm6
3707*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm4, %edx
3708*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm5, %esi
3709*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3710*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3711*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3712*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm6, %xmm6
3713*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm4, %edx
3714*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm5, %esi
3715*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3716*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3717*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3718*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm6, %xmm4
3719*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm4, %ymm2
3720*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm3, %xmm4
3721*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm4, %edx
3722*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti32x4 $1, %zmm1, %xmm5
3723*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm5, %esi
3724*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3725*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3726*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3727*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm4, %esi
3728*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm5, %edi
3729*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3730*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3731*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3732*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm6
3733*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm6, %xmm6
3734*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm4, %edx
3735*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm5, %esi
3736*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3737*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3738*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3739*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm6, %xmm6
3740*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm4, %edx
3741*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm5, %esi
3742*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3743*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3744*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3745*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %edx, %xmm6, %xmm4
3746*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm3, %edx
3747*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $1, %xmm1, %esi
3748*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3749*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3750*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3751*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm3, %esi
3752*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %xmm1, %edi
3753*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %esi, %edi
3754*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %esi
3755*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %esi
3756*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %esi, %xmm5
3757*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $1, %edx, %xmm5, %xmm5
3758*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm3, %edx
3759*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $2, %xmm1, %esi
3760*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3761*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movl $0, %edx
3762*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %edx
3763*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $2, %edx, %xmm5, %xmm5
3764*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm3, %edx
3765*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpextrd $3, %xmm1, %esi
3766*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmpl %edx, %esi
3767*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    cmovgl %ecx, %eax
3768*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrd $3, %eax, %xmm5, %xmm1
3769*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm1, %ymm1
3770*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm1, %zmm1
3771*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovdb %zmm1, %xmm1
3772*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm0
3773*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
3774*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <32 x i32> %a0, %a1
3775*9880d681SAndroid Build Coastguard Worker  ret <32 x i1> %1
3776*9880d681SAndroid Build Coastguard Worker}
3777*9880d681SAndroid Build Coastguard Worker
3778*9880d681SAndroid Build Coastguard Workerdefine <64 x i1> @test_cmp_v64i16(<64 x i16> %a0, <64 x i16> %a1) nounwind {
3779*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v64i16:
3780*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
3781*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm1
3782*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa {{.*#+}} xmm8 = [255,255,255,255,255,255,255,255]
3783*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm1
3784*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm0
3785*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm0
3786*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm1, %xmm0
3787*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm3
3788*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm3
3789*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm2
3790*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm2
3791*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm3, %xmm2
3792*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm5
3793*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm5
3794*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm4
3795*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm4
3796*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm5, %xmm4
3797*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm7
3798*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm7
3799*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm6
3800*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pand %xmm8, %xmm6
3801*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    packuswb %xmm7, %xmm6
3802*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm6, -{{[0-9]+}}(%rsp)
3803*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3804*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3805*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3806*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm4, -{{[0-9]+}}(%rsp)
3807*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3808*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3809*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3810*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm2, -{{[0-9]+}}(%rsp)
3811*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3812*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3813*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3814*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, -{{[0-9]+}}(%rsp)
3815*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3816*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3817*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3818*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3819*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3820*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3821*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3822*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3823*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3824*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3825*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3826*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3827*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3828*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3829*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3830*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3831*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3832*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3833*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3834*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3835*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3836*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3837*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3838*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3839*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3840*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3841*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3842*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3843*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3844*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3845*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3846*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3847*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3848*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3849*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3850*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3851*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3852*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3853*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3854*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3855*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3856*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3857*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3858*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3859*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3860*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3861*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3862*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3863*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3864*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3865*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3866*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3867*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3868*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3869*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3870*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3871*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3872*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3873*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3874*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3875*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3876*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3877*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3878*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3879*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3880*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3881*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3882*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3883*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3884*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3885*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3886*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3887*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3888*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3889*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3890*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3891*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3892*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3893*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3894*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3895*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3896*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3897*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3898*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3899*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3900*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3901*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3902*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3903*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3904*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3905*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3906*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3907*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3908*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3909*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3910*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3911*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3912*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3913*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3914*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3915*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3916*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3917*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3918*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3919*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3920*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3921*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3922*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3923*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3924*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3925*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3926*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3927*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3928*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3929*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3930*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3931*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3932*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3933*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3934*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3935*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3936*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3937*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3938*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3939*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3940*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3941*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3942*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3943*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3944*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3945*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3946*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3947*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3948*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3949*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3950*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3951*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3952*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3953*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3954*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3955*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3956*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3957*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3958*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3959*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3960*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3961*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3962*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3963*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3964*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3965*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3966*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3967*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3968*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3969*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3970*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3971*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3972*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3973*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3974*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3975*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3976*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3977*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3978*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3979*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3980*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3981*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3982*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3983*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3984*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3985*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3986*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3987*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3988*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
3989*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3990*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3991*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
3992*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3993*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3994*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
3995*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
3996*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
3997*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
3998*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movq %rdi, %rax
3999*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
4000*9880d681SAndroid Build Coastguard Worker;
4001*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v64i16:
4002*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
4003*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm1
4004*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movdqa {{.*#+}} xmm8 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
4005*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm1
4006*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm0
4007*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm0
4008*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
4009*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm3
4010*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm3
4011*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm2
4012*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm2
4013*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
4014*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm5
4015*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm5
4016*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm4
4017*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm4
4018*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm4 = xmm4[0],xmm5[0]
4019*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm7
4020*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm7
4021*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtw {{[0-9]+}}(%rsp), %xmm6
4022*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pshufb %xmm8, %xmm6
4023*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    punpcklqdq {{.*#+}} xmm6 = xmm6[0],xmm7[0]
4024*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm6, %eax
4025*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4026*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4027*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm6, %eax
4028*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4029*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4030*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm6, %eax
4031*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4032*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4033*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm6, %eax
4034*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4035*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4036*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm6, %eax
4037*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4038*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4039*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm6, %eax
4040*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4041*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4042*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm6, %eax
4043*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4044*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4045*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm6, %eax
4046*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4047*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4048*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm6, %eax
4049*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4050*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4051*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm6, %eax
4052*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4053*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4054*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm6, %eax
4055*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4056*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4057*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm6, %eax
4058*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4059*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4060*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm6, %eax
4061*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4062*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4063*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm6, %eax
4064*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4065*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4066*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm6, %eax
4067*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4068*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4069*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm6, %eax
4070*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4071*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
4072*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm4, %eax
4073*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4074*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4075*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm4, %eax
4076*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4077*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4078*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm4, %eax
4079*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4080*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4081*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm4, %eax
4082*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4083*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4084*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm4, %eax
4085*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4086*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4087*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm4, %eax
4088*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4089*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4090*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm4, %eax
4091*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4092*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4093*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm4, %eax
4094*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4095*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4096*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm4, %eax
4097*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4098*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4099*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm4, %eax
4100*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4101*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4102*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm4, %eax
4103*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4104*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4105*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm4, %eax
4106*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4107*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4108*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm4, %eax
4109*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4110*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4111*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm4, %eax
4112*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4113*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4114*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm4, %eax
4115*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4116*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4117*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm4, %eax
4118*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4119*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
4120*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm2, %eax
4121*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4122*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4123*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm2, %eax
4124*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4125*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4126*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm2, %eax
4127*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4128*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4129*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm2, %eax
4130*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4131*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4132*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm2, %eax
4133*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4134*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4135*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm2, %eax
4136*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4137*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4138*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm2, %eax
4139*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4140*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4141*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm2, %eax
4142*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4143*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4144*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm2, %eax
4145*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4146*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4147*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm2, %eax
4148*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4149*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4150*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm2, %eax
4151*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4152*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4153*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm2, %eax
4154*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4155*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4156*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm2, %eax
4157*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4158*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4159*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm2, %eax
4160*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4161*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4162*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm2, %eax
4163*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4164*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4165*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm2, %eax
4166*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4167*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
4168*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm0, %eax
4169*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4170*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4171*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm0, %eax
4172*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4173*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4174*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm0, %eax
4175*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4176*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4177*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm0, %eax
4178*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4179*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4180*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm0, %eax
4181*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4182*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4183*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm0, %eax
4184*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4185*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4186*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm0, %eax
4187*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4188*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4189*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm0, %eax
4190*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4191*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4192*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm0, %eax
4193*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4194*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4195*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm0, %eax
4196*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4197*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4198*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm0, %eax
4199*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4200*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4201*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm0, %eax
4202*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4203*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4204*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm0, %eax
4205*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4206*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4207*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm0, %eax
4208*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4209*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4210*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm0, %eax
4211*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4212*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4213*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm0, %eax
4214*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
4215*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
4216*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movq %rdi, %rax
4217*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
4218*9880d681SAndroid Build Coastguard Worker;
4219*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v64i16:
4220*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
4221*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm4, %xmm8
4222*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm9
4223*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm8, %xmm9, %xmm8
4224*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vmovdqa {{.*#+}} xmm9 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
4225*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm8, %xmm8
4226*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm4, %xmm0, %xmm0
4227*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm0, %xmm0
4228*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm8 = xmm0[0],xmm8[0]
4229*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm4
4230*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm0
4231*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm4, %xmm0, %xmm0
4232*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm0, %xmm0
4233*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm5, %xmm1, %xmm1
4234*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm1, %xmm1
4235*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
4236*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm6, %xmm0
4237*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm4
4238*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm0, %xmm4, %xmm0
4239*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm0, %xmm0
4240*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm6, %xmm2, %xmm2
4241*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm2, %xmm2
4242*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
4243*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm7, %xmm0
4244*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm4
4245*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm0, %xmm4, %xmm0
4246*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm0, %xmm0
4247*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtw %xmm7, %xmm3, %xmm3
4248*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpshufb %xmm9, %xmm3, %xmm3
4249*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm0[0]
4250*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm3, %eax
4251*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4252*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4253*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm3, %eax
4254*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4255*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4256*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm3, %eax
4257*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4258*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4259*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm3, %eax
4260*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4261*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4262*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm3, %eax
4263*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4264*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4265*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm3, %eax
4266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4268*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm3, %eax
4269*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4270*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4271*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm3, %eax
4272*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4273*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4274*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm3, %eax
4275*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4276*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4277*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm3, %eax
4278*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm3, %eax
4281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm3, %eax
4284*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4285*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4286*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm3, %eax
4287*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4288*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4289*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm3, %eax
4290*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4291*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4292*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm3, %eax
4293*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4294*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4295*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm3, %eax
4296*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4297*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4298*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm2, %eax
4299*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4300*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4301*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm2, %eax
4302*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4303*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4304*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm2, %eax
4305*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4306*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4307*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm2, %eax
4308*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4309*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4310*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm2, %eax
4311*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm2, %eax
4314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm2, %eax
4317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm2, %eax
4320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4322*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm2, %eax
4323*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4324*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4325*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm2, %eax
4326*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4327*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4328*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm2, %eax
4329*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4330*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4331*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm2, %eax
4332*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4333*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4334*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm2, %eax
4335*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4336*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4337*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm2, %eax
4338*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4339*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4340*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm2, %eax
4341*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4342*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4343*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm2, %eax
4344*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4345*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
4346*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm1, %eax
4347*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4348*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm1, %eax
4350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm1, %eax
4353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm1, %eax
4356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4358*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm1, %eax
4359*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm1, %eax
4362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4364*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm1, %eax
4365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm1, %eax
4368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm1, %eax
4371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm1, %eax
4374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm1, %eax
4377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm1, %eax
4380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm1, %eax
4383*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4384*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4385*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm1, %eax
4386*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4387*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4388*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm1, %eax
4389*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4390*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4391*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm1, %eax
4392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm8, %eax
4395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm8, %eax
4398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4400*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm8, %eax
4401*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4402*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4403*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm8, %eax
4404*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4405*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4406*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm8, %eax
4407*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4408*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4409*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm8, %eax
4410*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4411*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4412*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm8, %eax
4413*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4414*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4415*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm8, %eax
4416*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4417*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4418*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm8, %eax
4419*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4420*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4421*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm8, %eax
4422*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4423*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4424*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm8, %eax
4425*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4426*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4427*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm8, %eax
4428*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4429*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4430*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm8, %eax
4431*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4432*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4433*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm8, %eax
4434*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4435*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4436*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm8, %eax
4437*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4438*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4439*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm8, %eax
4440*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
4441*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
4442*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq %rdi, %rax
4443*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
4444*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
4445*9880d681SAndroid Build Coastguard Worker;
4446*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v64i16:
4447*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
4448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtw %ymm4, %ymm0, %ymm0
4449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm8
4450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
4451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm8, %xmm8
4452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm0
4453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm8[0]
4454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtw %ymm5, %ymm1, %ymm1
4455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm5
4456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm5
4457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm1, %xmm1
4458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm5[0]
4459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtw %ymm6, %ymm2, %ymm2
4460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm5
4461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm5
4462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm2
4463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm5[0]
4464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtw %ymm7, %ymm3, %ymm3
4465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm5
4466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm5
4467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm3
4468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm5[0]
4469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm3, %eax
4470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm3, %eax
4473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm3, %eax
4476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm3, %eax
4479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm3, %eax
4482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm3, %eax
4485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm3, %eax
4488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm3, %eax
4491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm3, %eax
4494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm3, %eax
4497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm3, %eax
4500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm3, %eax
4503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm3, %eax
4506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm3, %eax
4509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm3, %eax
4512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm3, %eax
4515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm2, %eax
4518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm2, %eax
4521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm2, %eax
4524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm2, %eax
4527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm2, %eax
4530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm2, %eax
4533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm2, %eax
4536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm2, %eax
4539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm2, %eax
4542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm2, %eax
4545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm2, %eax
4548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm2, %eax
4551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm2, %eax
4554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm2, %eax
4557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm2, %eax
4560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm2, %eax
4563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
4565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm1, %eax
4566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm1, %eax
4569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm1, %eax
4572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm1, %eax
4575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm1, %eax
4578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm1, %eax
4581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm1, %eax
4584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm1, %eax
4587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4588*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4589*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm1, %eax
4590*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4591*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4592*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm1, %eax
4593*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4594*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4595*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm1, %eax
4596*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4597*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4598*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm1, %eax
4599*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4600*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4601*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm1, %eax
4602*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4603*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4604*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm1, %eax
4605*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4606*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4607*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm1, %eax
4608*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4609*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4610*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm1, %eax
4611*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4612*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4613*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
4614*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4615*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4616*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
4617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4619*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
4620*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4621*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4622*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
4623*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4624*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4625*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
4626*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4627*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4628*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
4629*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4630*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4631*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
4632*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4633*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4634*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
4635*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4636*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4637*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
4638*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4639*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4640*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
4641*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4642*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4643*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
4644*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4645*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4646*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
4647*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4648*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4649*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
4650*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4651*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4652*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
4653*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4654*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4655*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
4656*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4657*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4658*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
4659*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
4660*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
4661*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rdi, %rax
4662*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
4663*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
4664*9880d681SAndroid Build Coastguard Worker;
4665*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v64i16:
4666*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
4667*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtw %ymm7, %ymm3, %ymm3
4668*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxwd %ymm3, %zmm3
4669*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm3, %zmm3
4670*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm3, %zmm3, %k0
4671*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $14, %k0, %k1
4672*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4673*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4674*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $15, %k0, %k1
4675*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4676*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %ecx
4677*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %ecx, %xmm3
4678*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $1, %eax, %xmm3, %xmm3
4679*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $13, %k0, %k1
4680*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4681*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4682*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $2, %eax, %xmm3, %xmm3
4683*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $12, %k0, %k1
4684*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4685*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4686*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $3, %eax, %xmm3, %xmm3
4687*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $11, %k0, %k1
4688*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4689*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4690*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $4, %eax, %xmm3, %xmm3
4691*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $10, %k0, %k1
4692*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4693*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4694*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $5, %eax, %xmm3, %xmm3
4695*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $9, %k0, %k1
4696*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4697*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4698*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $6, %eax, %xmm3, %xmm3
4699*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $8, %k0, %k1
4700*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4701*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4702*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $7, %eax, %xmm3, %xmm3
4703*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $7, %k0, %k1
4704*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4705*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4706*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $8, %eax, %xmm3, %xmm3
4707*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $6, %k0, %k1
4708*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4709*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4710*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $9, %eax, %xmm3, %xmm3
4711*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $5, %k0, %k1
4712*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4713*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4714*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $10, %eax, %xmm3, %xmm3
4715*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $4, %k0, %k1
4716*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4717*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4718*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $11, %eax, %xmm3, %xmm3
4719*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $3, %k0, %k1
4720*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4721*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4722*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $12, %eax, %xmm3, %xmm3
4723*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $2, %k0, %k1
4724*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4725*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4726*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $13, %eax, %xmm3, %xmm3
4727*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $1, %k0, %k1
4728*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4729*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4730*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $14, %eax, %xmm3, %xmm3
4731*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $0, %k0, %k0
4732*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k0, %k0
4733*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, %eax
4734*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $15, %eax, %xmm3, %xmm3
4735*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtw %ymm6, %ymm2, %ymm2
4736*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxwd %ymm2, %zmm2
4737*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm2, %zmm2
4738*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm2, %zmm2, %k0
4739*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $14, %k0, %k1
4740*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4741*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4742*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $15, %k0, %k1
4743*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4744*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %ecx
4745*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %ecx, %xmm2
4746*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $1, %eax, %xmm2, %xmm2
4747*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $13, %k0, %k1
4748*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4749*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4750*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $2, %eax, %xmm2, %xmm2
4751*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $12, %k0, %k1
4752*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4753*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4754*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $3, %eax, %xmm2, %xmm2
4755*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $11, %k0, %k1
4756*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4757*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4758*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $4, %eax, %xmm2, %xmm2
4759*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $10, %k0, %k1
4760*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4761*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4762*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $5, %eax, %xmm2, %xmm2
4763*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $9, %k0, %k1
4764*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4765*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4766*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $6, %eax, %xmm2, %xmm2
4767*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $8, %k0, %k1
4768*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4769*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4770*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $7, %eax, %xmm2, %xmm2
4771*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $7, %k0, %k1
4772*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4773*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4774*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $8, %eax, %xmm2, %xmm2
4775*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $6, %k0, %k1
4776*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4777*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4778*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $9, %eax, %xmm2, %xmm2
4779*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $5, %k0, %k1
4780*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4781*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4782*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $10, %eax, %xmm2, %xmm2
4783*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $4, %k0, %k1
4784*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4785*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4786*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $11, %eax, %xmm2, %xmm2
4787*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $3, %k0, %k1
4788*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4789*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4790*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $12, %eax, %xmm2, %xmm2
4791*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $2, %k0, %k1
4792*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4793*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4794*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $13, %eax, %xmm2, %xmm2
4795*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $1, %k0, %k1
4796*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4797*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4798*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $14, %eax, %xmm2, %xmm2
4799*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $0, %k0, %k0
4800*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k0, %k0
4801*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, %eax
4802*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $15, %eax, %xmm2, %xmm2
4803*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm2, %ymm2
4804*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %ymm2, %ymm3
4805*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqa {{.*#+}} ymm2 = [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]
4806*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %ymm2, %ymm3, %ymm3
4807*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxor %ymm6, %ymm6, %ymm6
4808*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm3, %ymm6, %ymm3
4809*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtw %ymm5, %ymm1, %ymm1
4810*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxwd %ymm1, %zmm1
4811*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm1, %zmm1
4812*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm1, %zmm1, %k0
4813*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $14, %k0, %k1
4814*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4815*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4816*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $15, %k0, %k1
4817*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4818*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %ecx
4819*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %ecx, %xmm1
4820*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $1, %eax, %xmm1, %xmm1
4821*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $13, %k0, %k1
4822*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4823*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4824*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $2, %eax, %xmm1, %xmm1
4825*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $12, %k0, %k1
4826*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4827*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4828*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $3, %eax, %xmm1, %xmm1
4829*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $11, %k0, %k1
4830*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4831*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4832*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $4, %eax, %xmm1, %xmm1
4833*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $10, %k0, %k1
4834*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4835*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4836*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $5, %eax, %xmm1, %xmm1
4837*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $9, %k0, %k1
4838*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4839*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4840*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $6, %eax, %xmm1, %xmm1
4841*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $8, %k0, %k1
4842*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4843*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4844*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $7, %eax, %xmm1, %xmm1
4845*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $7, %k0, %k1
4846*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4847*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4848*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $8, %eax, %xmm1, %xmm1
4849*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $6, %k0, %k1
4850*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4851*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4852*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $9, %eax, %xmm1, %xmm1
4853*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $5, %k0, %k1
4854*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4855*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4856*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $10, %eax, %xmm1, %xmm1
4857*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $4, %k0, %k1
4858*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4859*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4860*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $11, %eax, %xmm1, %xmm1
4861*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $3, %k0, %k1
4862*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4863*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4864*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $12, %eax, %xmm1, %xmm1
4865*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $2, %k0, %k1
4866*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4867*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4868*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $13, %eax, %xmm1, %xmm1
4869*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $1, %k0, %k1
4870*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4871*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4872*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $14, %eax, %xmm1, %xmm1
4873*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $0, %k0, %k0
4874*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k0, %k0
4875*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, %eax
4876*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $15, %eax, %xmm1, %xmm1
4877*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtw %ymm4, %ymm0, %ymm0
4878*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxwd %ymm0, %zmm0
4879*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm0, %zmm0
4880*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm0, %zmm0, %k0
4881*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $14, %k0, %k1
4882*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4883*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4884*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $15, %k0, %k1
4885*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4886*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %ecx
4887*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovd %ecx, %xmm0
4888*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $1, %eax, %xmm0, %xmm0
4889*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $13, %k0, %k1
4890*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4891*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4892*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $2, %eax, %xmm0, %xmm0
4893*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $12, %k0, %k1
4894*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4895*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4896*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $3, %eax, %xmm0, %xmm0
4897*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $11, %k0, %k1
4898*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4899*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4900*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $4, %eax, %xmm0, %xmm0
4901*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $10, %k0, %k1
4902*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4903*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4904*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $5, %eax, %xmm0, %xmm0
4905*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $9, %k0, %k1
4906*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4907*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4908*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $6, %eax, %xmm0, %xmm0
4909*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $8, %k0, %k1
4910*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4911*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4912*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $7, %eax, %xmm0, %xmm0
4913*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $7, %k0, %k1
4914*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4915*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4916*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $8, %eax, %xmm0, %xmm0
4917*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $6, %k0, %k1
4918*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4919*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4920*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $9, %eax, %xmm0, %xmm0
4921*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $5, %k0, %k1
4922*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4923*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4924*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $10, %eax, %xmm0, %xmm0
4925*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $4, %k0, %k1
4926*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4927*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4928*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $11, %eax, %xmm0, %xmm0
4929*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $3, %k0, %k1
4930*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4931*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4932*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $12, %eax, %xmm0, %xmm0
4933*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $2, %k0, %k1
4934*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4935*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4936*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $13, %eax, %xmm0, %xmm0
4937*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $1, %k0, %k1
4938*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k1, %k1
4939*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k1, %eax
4940*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $14, %eax, %xmm0, %xmm0
4941*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftlw $0, %k0, %k0
4942*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kshiftrw $15, %k0, %k0
4943*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, %eax
4944*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpinsrb $15, %eax, %xmm0, %xmm0
4945*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm0
4946*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %ymm0, %ymm0
4947*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %ymm2, %ymm0, %ymm0
4948*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm0, %ymm6, %ymm1
4949*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm1, %xmm0
4950*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vmovdqa {{.*#+}} xmm4 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128]
4951*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm0, %xmm0
4952*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpxor %xmm5, %xmm5, %xmm5
4953*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm0, %xmm5, %xmm0
4954*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm1, %xmm1
4955*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm1, %xmm1
4956*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm1, %xmm1
4957*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm1, %xmm5, %xmm1
4958*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm3, %xmm2
4959*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm2, %xmm2
4960*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm2, %xmm5, %xmm2
4961*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm3, %xmm3
4962*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpsllw $7, %xmm3, %xmm3
4963*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpand %xmm4, %xmm3, %xmm3
4964*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %xmm3, %xmm5, %xmm3
4965*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
4966*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <64 x i16> %a0, %a1
4967*9880d681SAndroid Build Coastguard Worker  ret <64 x i1> %1
4968*9880d681SAndroid Build Coastguard Worker}
4969*9880d681SAndroid Build Coastguard Worker
4970*9880d681SAndroid Build Coastguard Workerdefine <128 x i1> @test_cmp_v128i8(<128 x i8> %a0, <128 x i8> %a1) nounwind {
4971*9880d681SAndroid Build Coastguard Worker; SSE2-LABEL: test_cmp_v128i8:
4972*9880d681SAndroid Build Coastguard Worker; SSE2:       # BB#0:
4973*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pushq %rax
4974*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm0
4975*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm1
4976*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm2
4977*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm3
4978*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm4
4979*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm5
4980*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm6
4981*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm7
4982*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm7, -{{[0-9]+}}(%rsp)
4983*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
4984*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
4985*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
4986*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm6, -{{[0-9]+}}(%rsp)
4987*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
4988*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
4989*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
4990*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm5, -{{[0-9]+}}(%rsp)
4991*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
4992*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
4993*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
4994*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm4, -{{[0-9]+}}(%rsp)
4995*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
4996*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
4997*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
4998*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm3, -{{[0-9]+}}(%rsp)
4999*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5000*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5001*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5002*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm2, -{{[0-9]+}}(%rsp)
5003*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5004*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5005*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5006*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm1, -{{[0-9]+}}(%rsp)
5007*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5008*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5009*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5010*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movdqa %xmm0, -{{[0-9]+}}(%rsp)
5011*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5012*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5013*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5014*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5015*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5016*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5017*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5018*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5019*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5020*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5021*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5022*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5023*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5024*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5025*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5026*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5027*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5028*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5029*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5030*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5031*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5032*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5033*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5034*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5035*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5036*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5037*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5038*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5039*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5040*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5041*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5042*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5043*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5044*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5045*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5046*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5047*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5048*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5049*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5050*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5051*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5052*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5053*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5054*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5055*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5056*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5057*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5058*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5059*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5060*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5061*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5062*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5063*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5064*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5065*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5066*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5067*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5068*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5069*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5070*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5071*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5072*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5073*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5074*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5075*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5076*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5077*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5078*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5079*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5080*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5081*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5082*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5083*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5084*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5085*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5086*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5087*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5088*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5089*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5090*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5091*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5092*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5093*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5094*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5095*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5096*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5097*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5098*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5099*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5100*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5101*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5102*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5103*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5104*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5105*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5106*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5107*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5108*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5109*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5110*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5111*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5112*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5113*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5114*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5115*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5116*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5117*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5118*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5119*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5120*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5121*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5122*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5123*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5124*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5125*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5126*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5127*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5128*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5129*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5130*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5131*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5132*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5133*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5134*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5135*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5136*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5137*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5138*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5139*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5140*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5141*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5142*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5143*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5144*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5145*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5146*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5147*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5148*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5149*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5150*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5151*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5152*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5153*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5154*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5155*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5156*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5157*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5158*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5159*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5160*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5161*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5162*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5163*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5164*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5165*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5166*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5167*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5168*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5169*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5170*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5171*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5172*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5173*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5174*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5175*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5176*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5177*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5178*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5179*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5180*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5181*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5182*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5183*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5184*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5185*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5186*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5187*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5188*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5189*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5190*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5191*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5192*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5193*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5194*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5195*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5196*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5197*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5198*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5199*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5200*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5201*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5202*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5203*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5204*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5205*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5206*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5207*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5208*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5209*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5210*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5211*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5212*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5213*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5214*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5215*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5216*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5217*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5218*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5219*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5220*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5221*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5222*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5223*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5224*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5225*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5226*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5227*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5228*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5229*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5230*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5231*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5232*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5233*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5234*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5235*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5236*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5237*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5238*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5239*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5240*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5241*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5242*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5243*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5244*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5245*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5246*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5247*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5248*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5249*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5250*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5251*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5252*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5253*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5254*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5255*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5256*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5257*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5258*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5259*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5260*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5261*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5262*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5263*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5264*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5265*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5266*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5267*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5268*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5269*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5270*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5271*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5272*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5273*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5274*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5275*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5276*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5277*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5278*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5279*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5280*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5281*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5282*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5283*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5284*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5285*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5286*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5287*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5288*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5289*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5290*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5291*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5292*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5293*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5294*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5295*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5296*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5297*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5298*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5299*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5300*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5301*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5302*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5303*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5304*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5305*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5306*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5307*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5308*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5309*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5310*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5311*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5312*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5313*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5314*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5315*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5316*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5317*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5318*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5319*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5320*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5321*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5322*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5323*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5324*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5325*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5326*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5327*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5328*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5329*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5330*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5331*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5332*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5333*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5334*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5335*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5336*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5337*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5338*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5339*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5340*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5341*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5342*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5343*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5344*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5345*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5346*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5347*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5348*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5349*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5350*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5351*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5352*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 14(%rdi)
5353*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5354*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5355*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 12(%rdi)
5356*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5357*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5358*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 10(%rdi)
5359*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5360*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5361*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 8(%rdi)
5362*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5363*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5364*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 6(%rdi)
5365*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5366*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5367*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 4(%rdi)
5368*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5369*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5370*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, 2(%rdi)
5371*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb -{{[0-9]+}}(%rsp), %al
5372*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    andb $1, %al
5373*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movb %al, (%rdi)
5374*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    movq %rdi, %rax
5375*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    popq %rcx
5376*9880d681SAndroid Build Coastguard Worker; SSE2-NEXT:    retq
5377*9880d681SAndroid Build Coastguard Worker;
5378*9880d681SAndroid Build Coastguard Worker; SSE42-LABEL: test_cmp_v128i8:
5379*9880d681SAndroid Build Coastguard Worker; SSE42:       # BB#0:
5380*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm0
5381*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm1
5382*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm2
5383*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm3
5384*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm4
5385*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm5
5386*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm6
5387*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pcmpgtb {{[0-9]+}}(%rsp), %xmm7
5388*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm7, %eax
5389*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5390*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5391*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm7, %eax
5392*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5393*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5394*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm7, %eax
5395*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5396*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5397*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm7, %eax
5398*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5399*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5400*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm7, %eax
5401*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5402*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5403*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm7, %eax
5404*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5405*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5406*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm7, %eax
5407*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5408*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5409*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm7, %eax
5410*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5411*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5412*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm7, %eax
5413*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5414*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5415*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm7, %eax
5416*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5417*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5418*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm7, %eax
5419*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5420*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5421*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm7, %eax
5422*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5423*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5424*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm7, %eax
5425*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5426*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5427*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm7, %eax
5428*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5429*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5430*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm7, %eax
5431*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5432*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5433*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm7, %eax
5434*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5435*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 14(%rdi)
5436*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm6, %eax
5437*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5438*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5439*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm6, %eax
5440*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5441*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5442*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm6, %eax
5443*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5444*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5445*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm6, %eax
5446*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5447*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5448*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm6, %eax
5449*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5450*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5451*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm6, %eax
5452*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5453*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5454*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm6, %eax
5455*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5456*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5457*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm6, %eax
5458*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5459*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5460*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm6, %eax
5461*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5462*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5463*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm6, %eax
5464*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5465*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5466*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm6, %eax
5467*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5468*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5469*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm6, %eax
5470*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5471*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5472*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm6, %eax
5473*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5474*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5475*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm6, %eax
5476*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5477*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5478*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm6, %eax
5479*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5480*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5481*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm6, %eax
5482*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5483*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 12(%rdi)
5484*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm5, %eax
5485*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5486*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5487*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm5, %eax
5488*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5489*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5490*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm5, %eax
5491*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5492*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5493*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm5, %eax
5494*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5495*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5496*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm5, %eax
5497*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5498*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5499*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm5, %eax
5500*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5501*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5502*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm5, %eax
5503*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5504*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5505*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm5, %eax
5506*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5507*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5508*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm5, %eax
5509*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5510*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5511*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm5, %eax
5512*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5513*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5514*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm5, %eax
5515*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5516*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5517*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm5, %eax
5518*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5519*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5520*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm5, %eax
5521*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5522*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5523*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm5, %eax
5524*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5525*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5526*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm5, %eax
5527*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5528*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5529*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm5, %eax
5530*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5531*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 10(%rdi)
5532*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm4, %eax
5533*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5534*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5535*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm4, %eax
5536*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5537*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5538*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm4, %eax
5539*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5540*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5541*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm4, %eax
5542*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5543*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5544*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm4, %eax
5545*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5546*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5547*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm4, %eax
5548*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5549*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5550*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm4, %eax
5551*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5552*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5553*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm4, %eax
5554*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5555*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5556*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm4, %eax
5557*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5558*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5559*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm4, %eax
5560*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5561*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5562*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm4, %eax
5563*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5564*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5565*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm4, %eax
5566*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5567*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5568*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm4, %eax
5569*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5570*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5571*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm4, %eax
5572*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5573*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5574*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm4, %eax
5575*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5576*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5577*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm4, %eax
5578*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5579*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 8(%rdi)
5580*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm3, %eax
5581*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5582*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5583*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm3, %eax
5584*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5585*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5586*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm3, %eax
5587*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5588*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5589*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm3, %eax
5590*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5591*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5592*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm3, %eax
5593*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5594*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5595*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm3, %eax
5596*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5597*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5598*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm3, %eax
5599*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5600*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5601*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm3, %eax
5602*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5603*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5604*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm3, %eax
5605*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5606*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5607*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm3, %eax
5608*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5609*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5610*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm3, %eax
5611*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5612*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5613*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm3, %eax
5614*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5615*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5616*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm3, %eax
5617*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5618*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5619*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm3, %eax
5620*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5621*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5622*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm3, %eax
5623*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5624*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5625*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm3, %eax
5626*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5627*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 6(%rdi)
5628*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm2, %eax
5629*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5630*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5631*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm2, %eax
5632*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5633*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5634*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm2, %eax
5635*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5636*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5637*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm2, %eax
5638*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5639*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5640*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm2, %eax
5641*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5642*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5643*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm2, %eax
5644*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5645*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5646*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm2, %eax
5647*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5648*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5649*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm2, %eax
5650*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5651*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5652*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm2, %eax
5653*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5654*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5655*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm2, %eax
5656*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5657*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5658*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm2, %eax
5659*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5660*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5661*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm2, %eax
5662*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5663*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5664*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm2, %eax
5665*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5666*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5667*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm2, %eax
5668*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5669*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5670*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm2, %eax
5671*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5672*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5673*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm2, %eax
5674*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5675*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 4(%rdi)
5676*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm1, %eax
5677*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5678*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5679*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm1, %eax
5680*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5681*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5682*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm1, %eax
5683*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5684*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5685*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm1, %eax
5686*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5687*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5688*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm1, %eax
5689*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5690*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5691*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm1, %eax
5692*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5693*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5694*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm1, %eax
5695*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5696*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5697*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm1, %eax
5698*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5699*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5700*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm1, %eax
5701*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5702*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5703*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm1, %eax
5704*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5705*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5706*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm1, %eax
5707*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5708*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5709*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm1, %eax
5710*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5711*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5712*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm1, %eax
5713*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5714*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5715*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm1, %eax
5716*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5717*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5718*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm1, %eax
5719*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5720*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5721*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm1, %eax
5722*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5723*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, 2(%rdi)
5724*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $15, %xmm0, %eax
5725*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5726*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5727*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $14, %xmm0, %eax
5728*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5729*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5730*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $13, %xmm0, %eax
5731*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5732*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5733*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $12, %xmm0, %eax
5734*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5735*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5736*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $11, %xmm0, %eax
5737*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5738*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5739*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $10, %xmm0, %eax
5740*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5741*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5742*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $9, %xmm0, %eax
5743*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5744*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5745*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $8, %xmm0, %eax
5746*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5747*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5748*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $7, %xmm0, %eax
5749*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5750*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5751*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $6, %xmm0, %eax
5752*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5753*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5754*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $5, %xmm0, %eax
5755*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5756*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5757*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $4, %xmm0, %eax
5758*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5759*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5760*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $3, %xmm0, %eax
5761*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5762*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5763*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $2, %xmm0, %eax
5764*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5765*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5766*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $1, %xmm0, %eax
5767*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5768*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5769*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    pextrb $0, %xmm0, %eax
5770*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    andb $1, %al
5771*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movb %al, (%rdi)
5772*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    movq %rdi, %rax
5773*9880d681SAndroid Build Coastguard Worker; SSE42-NEXT:    retq
5774*9880d681SAndroid Build Coastguard Worker;
5775*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_cmp_v128i8:
5776*9880d681SAndroid Build Coastguard Worker; AVX1:       # BB#0:
5777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm4, %xmm0, %xmm8
5778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm4, %xmm4
5779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm0, %xmm0
5780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm4, %xmm0, %xmm0
5781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm5, %xmm1, %xmm4
5782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm5, %xmm5
5783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm1, %xmm1
5784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm5, %xmm1, %xmm1
5785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm6, %xmm2, %xmm5
5786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm6, %xmm6
5787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm2, %xmm2
5788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm6, %xmm2, %xmm2
5789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm7, %xmm3, %xmm6
5790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm7, %xmm7
5791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vextractf128 $1, %ymm3, %xmm3
5792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpcmpgtb %xmm7, %xmm3, %xmm3
5793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm3, %eax
5794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm3, %eax
5797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm3, %eax
5800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm3, %eax
5803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm3, %eax
5806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm3, %eax
5809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm3, %eax
5812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm3, %eax
5815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm3, %eax
5818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm3, %eax
5821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm3, %eax
5824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm3, %eax
5827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm3, %eax
5830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm3, %eax
5833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm3, %eax
5836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm3, %eax
5839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm6, %eax
5842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm6, %eax
5845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm6, %eax
5848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm6, %eax
5851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm6, %eax
5854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm6, %eax
5857*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm6, %eax
5860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm6, %eax
5863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm6, %eax
5866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm6, %eax
5869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm6, %eax
5872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm6, %eax
5875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5876*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5877*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm6, %eax
5878*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5879*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5880*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm6, %eax
5881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm6, %eax
5884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm6, %eax
5887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5888*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 12(%rdi)
5889*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm2, %eax
5890*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5891*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5892*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm2, %eax
5893*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5894*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5895*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm2, %eax
5896*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5897*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5898*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm2, %eax
5899*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5900*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5901*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm2, %eax
5902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm2, %eax
5905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm2, %eax
5908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm2, %eax
5911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm2, %eax
5914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm2, %eax
5917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm2, %eax
5920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm2, %eax
5923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm2, %eax
5926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm2, %eax
5929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm2, %eax
5932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm2, %eax
5935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm5, %eax
5938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5940*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm5, %eax
5941*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5942*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5943*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm5, %eax
5944*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5945*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5946*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm5, %eax
5947*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5948*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5949*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm5, %eax
5950*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5951*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5952*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm5, %eax
5953*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5954*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5955*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm5, %eax
5956*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5957*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5958*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm5, %eax
5959*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5960*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5961*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm5, %eax
5962*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5963*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5964*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm5, %eax
5965*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5966*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5967*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm5, %eax
5968*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5969*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5970*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm5, %eax
5971*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5972*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5973*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm5, %eax
5974*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5975*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5976*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm5, %eax
5977*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5978*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5979*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm5, %eax
5980*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5981*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5982*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm5, %eax
5983*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5984*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 8(%rdi)
5985*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm1, %eax
5986*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5987*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
5988*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm1, %eax
5989*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5990*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
5991*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm1, %eax
5992*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5993*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
5994*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm1, %eax
5995*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5996*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
5997*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm1, %eax
5998*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
5999*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6000*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm1, %eax
6001*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6002*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6003*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm1, %eax
6004*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6005*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6006*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm1, %eax
6007*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6008*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6009*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm1, %eax
6010*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6011*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6012*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm1, %eax
6013*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6014*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6015*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm1, %eax
6016*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6017*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6018*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm1, %eax
6019*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6020*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6021*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm1, %eax
6022*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6023*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6024*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm1, %eax
6025*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6026*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6027*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm1, %eax
6028*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6029*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6030*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm1, %eax
6031*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6032*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6033*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm4, %eax
6034*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6035*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6036*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm4, %eax
6037*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6038*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6039*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm4, %eax
6040*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6041*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6042*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm4, %eax
6043*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6044*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6045*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm4, %eax
6046*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6047*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6048*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm4, %eax
6049*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6050*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6051*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm4, %eax
6052*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6053*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6054*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm4, %eax
6055*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6056*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6057*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm4, %eax
6058*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6059*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6060*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm4, %eax
6061*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6062*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6063*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm4, %eax
6064*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6065*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6066*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm4, %eax
6067*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6068*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6069*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm4, %eax
6070*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6071*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6072*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm4, %eax
6073*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6074*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6075*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm4, %eax
6076*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6077*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6078*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm4, %eax
6079*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6080*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, 4(%rdi)
6081*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm0, %eax
6082*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6083*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6084*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm0, %eax
6085*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6086*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6087*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm0, %eax
6088*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6089*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6090*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm0, %eax
6091*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6092*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6093*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm0, %eax
6094*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6095*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6096*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm0, %eax
6097*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6098*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6099*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm0, %eax
6100*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6101*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6102*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm0, %eax
6103*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6104*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6105*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm0, %eax
6106*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6107*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6108*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm0, %eax
6109*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6110*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6111*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm0, %eax
6112*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6113*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6114*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm0, %eax
6115*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6116*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6117*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm0, %eax
6118*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6119*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6120*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm0, %eax
6121*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6122*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6123*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm0, %eax
6124*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6125*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6126*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm0, %eax
6127*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6128*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6129*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $15, %xmm8, %eax
6130*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6131*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6132*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $14, %xmm8, %eax
6133*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6134*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6135*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $13, %xmm8, %eax
6136*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6137*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6138*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $12, %xmm8, %eax
6139*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6140*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6141*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $11, %xmm8, %eax
6142*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6143*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6144*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $10, %xmm8, %eax
6145*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6146*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6147*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $9, %xmm8, %eax
6148*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6149*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6150*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $8, %xmm8, %eax
6151*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6152*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6153*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $7, %xmm8, %eax
6154*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6155*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6156*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $6, %xmm8, %eax
6157*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6158*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6159*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $5, %xmm8, %eax
6160*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6161*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6162*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $4, %xmm8, %eax
6163*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6164*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6165*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $3, %xmm8, %eax
6166*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $2, %xmm8, %eax
6169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6170*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6171*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $1, %xmm8, %eax
6172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vpextrb $0, %xmm8, %eax
6175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    andb $1, %al
6176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movb %al, (%rdi)
6177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    movq %rdi, %rax
6178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    vzeroupper
6179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT:    retq
6180*9880d681SAndroid Build Coastguard Worker;
6181*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_cmp_v128i8:
6182*9880d681SAndroid Build Coastguard Worker; AVX2:       # BB#0:
6183*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm4, %ymm0, %ymm0
6184*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm5, %ymm1, %ymm1
6185*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm6, %ymm2, %ymm2
6186*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpcmpgtb %ymm7, %ymm3, %ymm3
6187*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm4
6188*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm4, %eax
6189*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6190*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6191*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm4, %eax
6192*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6193*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6194*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm4, %eax
6195*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6196*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6197*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm4, %eax
6198*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6199*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6200*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm4, %eax
6201*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6202*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6203*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm4, %eax
6204*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6205*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6206*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm4, %eax
6207*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6208*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6209*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm4, %eax
6210*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6211*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6212*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm4, %eax
6213*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6214*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6215*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm4, %eax
6216*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6217*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6218*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm4, %eax
6219*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6220*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6221*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm4, %eax
6222*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6223*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6224*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm4, %eax
6225*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6226*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6227*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm4, %eax
6228*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6229*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6230*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm4, %eax
6231*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6232*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6233*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm4, %eax
6234*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6235*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6236*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm3, %eax
6237*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6238*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6239*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm3, %eax
6240*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6241*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6242*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm3, %eax
6243*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6244*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6245*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm3, %eax
6246*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6247*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6248*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm3, %eax
6249*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6250*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6251*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm3, %eax
6252*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6253*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6254*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm3, %eax
6255*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6256*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6257*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm3, %eax
6258*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6259*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6260*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm3, %eax
6261*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6262*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6263*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm3, %eax
6264*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6265*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6266*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm3, %eax
6267*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6268*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6269*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm3, %eax
6270*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6271*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6272*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm3, %eax
6273*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6274*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6275*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm3, %eax
6276*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6277*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6278*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm3, %eax
6279*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6280*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6281*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm3, %eax
6282*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6283*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 12(%rdi)
6284*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm3
6285*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm3, %eax
6286*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6287*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6288*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm3, %eax
6289*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6290*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6291*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm3, %eax
6292*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6293*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6294*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm3, %eax
6295*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6296*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6297*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm3, %eax
6298*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6299*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6300*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm3, %eax
6301*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6302*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6303*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm3, %eax
6304*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6305*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6306*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm3, %eax
6307*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6308*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6309*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm3, %eax
6310*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6311*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6312*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm3, %eax
6313*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6314*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6315*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm3, %eax
6316*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6317*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6318*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm3, %eax
6319*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6320*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6321*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm3, %eax
6322*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6323*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6324*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm3, %eax
6325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6327*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm3, %eax
6328*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6329*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6330*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm3, %eax
6331*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6332*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6333*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm2, %eax
6334*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6335*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6336*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm2, %eax
6337*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6338*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6339*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm2, %eax
6340*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6341*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6342*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm2, %eax
6343*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6344*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6345*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm2, %eax
6346*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6347*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6348*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm2, %eax
6349*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6350*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6351*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm2, %eax
6352*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6353*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6354*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm2, %eax
6355*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6356*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6357*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm2, %eax
6358*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6359*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6360*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm2, %eax
6361*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6362*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6363*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm2, %eax
6364*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6365*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6366*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm2, %eax
6367*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6368*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6369*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm2, %eax
6370*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6371*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6372*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm2, %eax
6373*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6374*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6375*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm2, %eax
6376*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6377*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6378*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm2, %eax
6379*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6380*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 8(%rdi)
6381*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm2
6382*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm2, %eax
6383*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6384*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6385*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm2, %eax
6386*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6387*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6388*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm2, %eax
6389*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6390*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6391*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm2, %eax
6392*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6393*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6394*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm2, %eax
6395*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6396*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6397*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm2, %eax
6398*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6399*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6400*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm2, %eax
6401*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6402*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm2, %eax
6404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm2, %eax
6407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm2, %eax
6410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm2, %eax
6413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm2, %eax
6416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm2, %eax
6419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm2, %eax
6422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm2, %eax
6425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm2, %eax
6428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm1, %eax
6431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm1, %eax
6434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm1, %eax
6437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm1, %eax
6440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm1, %eax
6443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm1, %eax
6446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm1, %eax
6449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm1, %eax
6452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm1, %eax
6455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm1, %eax
6458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm1, %eax
6461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm1, %eax
6464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm1, %eax
6467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm1, %eax
6470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm1, %eax
6473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm1, %eax
6476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, 4(%rdi)
6478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1
6479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm1, %eax
6480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm1, %eax
6483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm1, %eax
6486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm1, %eax
6489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm1, %eax
6492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm1, %eax
6495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm1, %eax
6498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm1, %eax
6501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm1, %eax
6504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm1, %eax
6507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm1, %eax
6510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm1, %eax
6513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm1, %eax
6516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm1, %eax
6519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm1, %eax
6522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm1, %eax
6525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $15, %xmm0, %eax
6528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $14, %xmm0, %eax
6531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $13, %xmm0, %eax
6534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $12, %xmm0, %eax
6537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $11, %xmm0, %eax
6540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $10, %xmm0, %eax
6543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $9, %xmm0, %eax
6546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $8, %xmm0, %eax
6549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $7, %xmm0, %eax
6552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $6, %xmm0, %eax
6555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $5, %xmm0, %eax
6558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $4, %xmm0, %eax
6561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $3, %xmm0, %eax
6564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $2, %xmm0, %eax
6567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $1, %xmm0, %eax
6570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vpextrb $0, %xmm0, %eax
6573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    andb $1, %al
6574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movb %al, (%rdi)
6575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    movq %rdi, %rax
6576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    vzeroupper
6577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT:    retq
6578*9880d681SAndroid Build Coastguard Worker;
6579*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test_cmp_v128i8:
6580*9880d681SAndroid Build Coastguard Worker; AVX512:       # BB#0:
6581*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm4, %ymm0, %ymm0
6582*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm5, %ymm1, %ymm1
6583*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm6, %ymm2, %ymm2
6584*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpcmpgtb %ymm7, %ymm3, %ymm3
6585*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm3, %xmm4
6586*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm4, %zmm4
6587*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm4, %zmm4
6588*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm4, %zmm4, %k0
6589*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, 14(%rdi)
6590*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm3, %zmm3
6591*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm3, %zmm3
6592*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm3, %zmm3, %k0
6593*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, 12(%rdi)
6594*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm3
6595*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm3, %zmm3
6596*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm3, %zmm3
6597*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm3, %zmm3, %k0
6598*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, 10(%rdi)
6599*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm2, %zmm2
6600*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm2, %zmm2
6601*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm2, %zmm2, %k0
6602*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, 8(%rdi)
6603*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm1, %xmm2
6604*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm2, %zmm2
6605*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm2, %zmm2
6606*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm2, %zmm2, %k0
6607*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, 6(%rdi)
6608*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm1, %zmm1
6609*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm1, %zmm1
6610*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm1, %zmm1, %k0
6611*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, 4(%rdi)
6612*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm1
6613*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm1, %zmm1
6614*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm1, %zmm1
6615*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm1, %zmm1, %k0
6616*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, 2(%rdi)
6617*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpmovsxbd %xmm0, %zmm0
6618*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vpslld $31, %zmm0, %zmm0
6619*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    vptestmd %zmm0, %zmm0, %k0
6620*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    kmovw %k0, (%rdi)
6621*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    movq %rdi, %rax
6622*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT:    retq
6623*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt <128 x i8> %a0, %a1
6624*9880d681SAndroid Build Coastguard Worker  ret <128 x i1> %1
6625*9880d681SAndroid Build Coastguard Worker}
6626