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