1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx < %s | FileCheck %s --check-prefix=AVX --check-prefix=AVX1 3*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx2 < %s | FileCheck %s --check-prefix=AVX --check-prefix=AVX2 4*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx512f < %s | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512F 5*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-darwin -mattr=avx512f,avx512bw,avx512vl < %s | FileCheck %s --check-prefix=AVX512 --check-prefix=SKX 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker; To test for the case where masked load/store is not legal, we should add a run with a target 8*9880d681SAndroid Build Coastguard Worker; that does not have AVX, but that case should probably be a separate test file using less tests 9*9880d681SAndroid Build Coastguard Worker; because it takes over 1.2 seconds to codegen these tests on Haswell 4GHz if there's no maskmov. 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @test1(<16 x i32> %trigger, <16 x i32>* %addr) { 12*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test1: 13*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 14*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 15*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm3, %xmm3, %xmm3 16*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm2, %xmm2 17*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm0, %xmm0 18*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 19*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 20*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm2, %xmm2 21*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm1, %xmm1 22*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 23*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps 32(%rdi), %ymm1, %ymm1 24*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm0 25*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 26*9880d681SAndroid Build Coastguard Worker; 27*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test1: 28*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 29*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm2, %ymm2, %ymm2 30*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm2, %ymm0, %ymm0 31*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm2, %ymm1, %ymm1 32*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd 32(%rdi), %ymm1, %ymm1 33*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd (%rdi), %ymm0, %ymm0 34*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 35*9880d681SAndroid Build Coastguard Worker; 36*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test1: 37*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 38*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpxord %zmm1, %zmm1, %zmm1 39*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpcmpeqd %zmm1, %zmm0, %k1 40*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovdqu32 (%rdi), %zmm0 {%k1} {z} 41*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 42*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <16 x i32> %trigger, zeroinitializer 43*9880d681SAndroid Build Coastguard Worker %res = call <16 x i32> @llvm.masked.load.v16i32.p0v16i32(<16 x i32>* %addr, i32 4, <16 x i1>%mask, <16 x i32>undef) 44*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %res 45*9880d681SAndroid Build Coastguard Worker} 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @test2(<16 x i32> %trigger, <16 x i32>* %addr) { 48*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test2: 49*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 50*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 51*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm3, %xmm3, %xmm3 52*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm2, %xmm2 53*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm0, %xmm0 54*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 55*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 56*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm2, %xmm2 57*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm1, %xmm1 58*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 59*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps 32(%rdi), %ymm1, %ymm1 60*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm0 61*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 62*9880d681SAndroid Build Coastguard Worker; 63*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test2: 64*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 65*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm2, %ymm2, %ymm2 66*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm2, %ymm0, %ymm0 67*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm2, %ymm1, %ymm1 68*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd 32(%rdi), %ymm1, %ymm1 69*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd (%rdi), %ymm0, %ymm0 70*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 71*9880d681SAndroid Build Coastguard Worker; 72*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test2: 73*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 74*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpxord %zmm1, %zmm1, %zmm1 75*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpcmpeqd %zmm1, %zmm0, %k1 76*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovdqu32 (%rdi), %zmm0 {%k1} {z} 77*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 78*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <16 x i32> %trigger, zeroinitializer 79*9880d681SAndroid Build Coastguard Worker %res = call <16 x i32> @llvm.masked.load.v16i32.p0v16i32(<16 x i32>* %addr, i32 4, <16 x i1>%mask, <16 x i32>zeroinitializer) 80*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %res 81*9880d681SAndroid Build Coastguard Worker} 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Workerdefine void @test3(<16 x i32> %trigger, <16 x i32>* %addr, <16 x i32> %val) { 84*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test3: 85*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 86*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm4 87*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm5, %xmm5, %xmm5 88*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm4, %xmm4 89*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm0, %xmm0 90*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm0 91*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm4 92*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm4, %xmm4 93*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm1, %xmm1 94*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm1 95*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %ymm3, %ymm1, 32(%rdi) 96*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %ymm2, %ymm0, (%rdi) 97*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 98*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 99*9880d681SAndroid Build Coastguard Worker; 100*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test3: 101*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 102*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm4, %ymm4, %ymm4 103*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm4, %ymm0, %ymm0 104*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm4, %ymm1, %ymm1 105*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd %ymm3, %ymm1, 32(%rdi) 106*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd %ymm2, %ymm0, (%rdi) 107*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 108*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 109*9880d681SAndroid Build Coastguard Worker; 110*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test3: 111*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 112*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpxord %zmm2, %zmm2, %zmm2 113*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpcmpeqd %zmm2, %zmm0, %k1 114*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovdqu32 %zmm1, (%rdi) {%k1} 115*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 116*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <16 x i32> %trigger, zeroinitializer 117*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v16i32.p0v16i32(<16 x i32>%val, <16 x i32>* %addr, i32 4, <16 x i1>%mask) 118*9880d681SAndroid Build Coastguard Worker ret void 119*9880d681SAndroid Build Coastguard Worker} 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Workerdefine <16 x float> @test4(<16 x i32> %trigger, <16 x float>* %addr, <16 x float> %dst) { 122*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test4: 123*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 124*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm4 125*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm5, %xmm5, %xmm5 126*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm4, %xmm4 127*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm1, %xmm1 128*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm1 129*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm4 130*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm4, %xmm4 131*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm0, %xmm0 132*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm0 133*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm4 134*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvps %ymm0, %ymm4, %ymm2, %ymm0 135*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps 32(%rdi), %ymm1, %ymm2 136*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvps %ymm1, %ymm2, %ymm3, %ymm1 137*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 138*9880d681SAndroid Build Coastguard Worker; 139*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test4: 140*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm4, %ymm4, %ymm4 142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm4, %ymm1, %ymm1 143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm4, %ymm0, %ymm0 144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps (%rdi), %ymm0, %ymm4 145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvps %ymm0, %ymm4, %ymm2, %ymm0 146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps 32(%rdi), %ymm1, %ymm2 147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvps %ymm1, %ymm2, %ymm3, %ymm1 148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 149*9880d681SAndroid Build Coastguard Worker; 150*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test4: 151*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 152*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpxord %zmm2, %zmm2, %zmm2 153*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpcmpeqd %zmm2, %zmm0, %k1 154*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovups (%rdi), %zmm1 {%k1} 155*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovaps %zmm1, %zmm0 156*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 157*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <16 x i32> %trigger, zeroinitializer 158*9880d681SAndroid Build Coastguard Worker %res = call <16 x float> @llvm.masked.load.v16f32.p0v16f32(<16 x float>* %addr, i32 4, <16 x i1>%mask, <16 x float> %dst) 159*9880d681SAndroid Build Coastguard Worker ret <16 x float> %res 160*9880d681SAndroid Build Coastguard Worker} 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Workerdefine <8 x double> @test5(<8 x i32> %trigger, <8 x double>* %addr, <8 x double> %dst) { 163*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test5: 164*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 165*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3 166*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4 167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm4, %xmm3, %xmm3 168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm5 169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1] 170*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm3 171*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm5, %ymm3 172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm4, %xmm0, %xmm0 173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm4 174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm4, %ymm0 177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm4 178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm0, %ymm4, %ymm1, %ymm0 179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 32(%rdi), %ymm3, %ymm1 180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm3, %ymm1, %ymm2, %ymm1 181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 182*9880d681SAndroid Build Coastguard Worker; 183*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test5: 184*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 185*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm3 186*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm4, %xmm4, %xmm4 187*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %xmm4, %xmm3, %xmm3 188*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm3, %ymm3 189*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %xmm4, %xmm0, %xmm0 190*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 191*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm4 192*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm0, %ymm4, %ymm1, %ymm0 193*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 32(%rdi), %ymm3, %ymm1 194*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm3, %ymm1, %ymm2, %ymm1 195*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 196*9880d681SAndroid Build Coastguard Worker; 197*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test5: 198*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def> 200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm2, %ymm2, %ymm2 201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %zmm2, %zmm0, %k1 202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd (%rdi), %zmm1 {%k1} 203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm1, %zmm0 204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 205*9880d681SAndroid Build Coastguard Worker; 206*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test5: 207*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 208*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %ymm2, %ymm2, %ymm2 209*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %ymm2, %ymm0, %k1 210*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd (%rdi), %zmm1 {%k1} 211*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 212*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 213*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <8 x i32> %trigger, zeroinitializer 214*9880d681SAndroid Build Coastguard Worker %res = call <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>* %addr, i32 4, <8 x i1>%mask, <8 x double>%dst) 215*9880d681SAndroid Build Coastguard Worker ret <8 x double> %res 216*9880d681SAndroid Build Coastguard Worker} 217*9880d681SAndroid Build Coastguard Worker 218*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test6(<2 x i64> %trigger, <2 x double>* %addr, <2 x double> %dst) { 219*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test6: 220*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 221*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpxor %xmm2, %xmm2, %xmm2 222*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 223*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmaskmovpd (%rdi), %xmm0, %xmm2 224*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vblendvpd %xmm0, %xmm2, %xmm1, %xmm0 225*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 226*9880d681SAndroid Build Coastguard Worker; 227*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test6: 228*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovpd (%rdi), %xmm0, %xmm2 232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvpd %xmm0, %xmm2, %xmm1, %xmm0 233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 234*9880d681SAndroid Build Coastguard Worker; 235*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test6: 236*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 237*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 238*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k1 239*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd (%rdi), %xmm1 {%k1} 240*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 241*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 242*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <2 x i64> %trigger, zeroinitializer 243*9880d681SAndroid Build Coastguard Worker %res = call <2 x double> @llvm.masked.load.v2f64.p0v2f64(<2 x double>* %addr, i32 4, <2 x i1>%mask, <2 x double>%dst) 244*9880d681SAndroid Build Coastguard Worker ret <2 x double> %res 245*9880d681SAndroid Build Coastguard Worker} 246*9880d681SAndroid Build Coastguard Worker 247*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @test7(<4 x i32> %trigger, <4 x float>* %addr, <4 x float> %dst) { 248*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test7: 249*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpxor %xmm2, %xmm2, %xmm2 251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 254*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 255*9880d681SAndroid Build Coastguard Worker; 256*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test7: 257*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 258*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 259*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 260*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 261*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 262*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 263*9880d681SAndroid Build Coastguard Worker; 264*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test7: 265*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 266*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 267*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1 268*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovups (%rdi), %xmm1 {%k1} 269*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 270*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 271*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <4 x i32> %trigger, zeroinitializer 272*9880d681SAndroid Build Coastguard Worker %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1>%mask, <4 x float>%dst) 273*9880d681SAndroid Build Coastguard Worker ret <4 x float> %res 274*9880d681SAndroid Build Coastguard Worker} 275*9880d681SAndroid Build Coastguard Worker 276*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test8(<4 x i32> %trigger, <4 x i32>* %addr, <4 x i32> %dst) { 277*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test8: 278*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 284*9880d681SAndroid Build Coastguard Worker; 285*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test8: 286*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 287*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 288*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 289*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd (%rdi), %xmm0, %xmm2 290*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 291*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 292*9880d681SAndroid Build Coastguard Worker; 293*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test8: 294*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovd (%rdi), %xmm0, %xmm2 298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 300*9880d681SAndroid Build Coastguard Worker; 301*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test8: 302*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 303*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 304*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1 305*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 (%rdi), %xmm1 {%k1} 306*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 307*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 308*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <4 x i32> %trigger, zeroinitializer 309*9880d681SAndroid Build Coastguard Worker %res = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %addr, i32 4, <4 x i1>%mask, <4 x i32>%dst) 310*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %res 311*9880d681SAndroid Build Coastguard Worker} 312*9880d681SAndroid Build Coastguard Worker 313*9880d681SAndroid Build Coastguard Workerdefine void @test9(<4 x i32> %trigger, <4 x i32>* %addr, <4 x i32> %val) { 314*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test9: 315*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) 319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 320*9880d681SAndroid Build Coastguard Worker; 321*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test9: 322*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 323*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 324*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd %xmm1, %xmm0, (%rdi) 326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 327*9880d681SAndroid Build Coastguard Worker; 328*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test9: 329*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovd %xmm1, %xmm0, (%rdi) 333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 334*9880d681SAndroid Build Coastguard Worker; 335*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test9: 336*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 337*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 338*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1 339*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 %xmm1, (%rdi) {%k1} 340*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 341*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <4 x i32> %trigger, zeroinitializer 342*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32>%val, <4 x i32>* %addr, i32 4, <4 x i1>%mask) 343*9880d681SAndroid Build Coastguard Worker ret void 344*9880d681SAndroid Build Coastguard Worker} 345*9880d681SAndroid Build Coastguard Worker 346*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test10(<4 x i32> %trigger, <4 x double>* %addr, <4 x double> %dst) { 347*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test10: 348*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm2 352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0 355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm2 356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm0, %ymm2, %ymm1, %ymm0 357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 358*9880d681SAndroid Build Coastguard Worker; 359*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test10: 360*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 361*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 362*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 363*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 364*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm2 365*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm0, %ymm2, %ymm1, %ymm0 366*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 367*9880d681SAndroid Build Coastguard Worker; 368*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test10: 369*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm2, %xmm0, %xmm0 372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxdq %xmm0, %ymm0 373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm2 374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvpd %ymm0, %ymm2, %ymm1, %ymm0 375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 376*9880d681SAndroid Build Coastguard Worker; 377*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test10: 378*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 379*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 380*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %xmm2, %xmm0, %k1 381*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovapd (%rdi), %ymm1 {%k1} 382*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 383*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 384*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <4 x i32> %trigger, zeroinitializer 385*9880d681SAndroid Build Coastguard Worker %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 32, <4 x i1>%mask, <4 x double>%dst) 386*9880d681SAndroid Build Coastguard Worker ret <4 x double> %res 387*9880d681SAndroid Build Coastguard Worker} 388*9880d681SAndroid Build Coastguard Worker 389*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test10b(<4 x i32> %trigger, <4 x double>* %addr, <4 x double> %dst) { 390*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test10b: 391*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1 393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0 394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm1 395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0 398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm0 399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 400*9880d681SAndroid Build Coastguard Worker; 401*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test10b: 402*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1 404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0 405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm0 407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 408*9880d681SAndroid Build Coastguard Worker; 409*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test10b: 410*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 411*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm1, %xmm1, %xmm1 412*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0 413*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxdq %xmm0, %ymm0 414*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm0 415*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 416*9880d681SAndroid Build Coastguard Worker; 417*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test10b: 418*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 419*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm1, %xmm1, %xmm1 420*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %xmm1, %xmm0, %k1 421*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovapd (%rdi), %ymm0 {%k1} {z} 422*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 423*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <4 x i32> %trigger, zeroinitializer 424*9880d681SAndroid Build Coastguard Worker %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 32, <4 x i1>%mask, <4 x double>zeroinitializer) 425*9880d681SAndroid Build Coastguard Worker ret <4 x double> %res 426*9880d681SAndroid Build Coastguard Worker} 427*9880d681SAndroid Build Coastguard Worker 428*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test11a(<8 x i32> %trigger, <8 x float>* %addr, <8 x float> %dst) { 429*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11a: 430*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 431*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 432*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm3, %xmm3, %xmm3 433*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm2, %xmm2 434*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm0, %xmm0 435*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 436*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm2 437*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvps %ymm0, %ymm2, %ymm1, %ymm0 438*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 439*9880d681SAndroid Build Coastguard Worker; 440*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11a: 441*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm2, %ymm2, %ymm2 443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm2, %ymm0, %ymm0 444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps (%rdi), %ymm0, %ymm2 445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvps %ymm0, %ymm2, %ymm1, %ymm0 446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 447*9880d681SAndroid Build Coastguard Worker; 448*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11a: 449*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 450*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def> 451*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def> 452*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm2, %ymm2, %ymm2 453*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %zmm2, %zmm0, %k0 454*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k0 455*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k0, %k1 456*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovups (%rdi), %zmm1 {%k1} 457*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm1, %zmm0 458*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 459*9880d681SAndroid Build Coastguard Worker; 460*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11a: 461*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 462*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %ymm2, %ymm2, %ymm2 463*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %ymm2, %ymm0, %k1 464*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps (%rdi), %ymm1 {%k1} 465*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 466*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 467*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <8 x i32> %trigger, zeroinitializer 468*9880d681SAndroid Build Coastguard Worker %res = call <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %addr, i32 32, <8 x i1>%mask, <8 x float>%dst) 469*9880d681SAndroid Build Coastguard Worker ret <8 x float> %res 470*9880d681SAndroid Build Coastguard Worker} 471*9880d681SAndroid Build Coastguard Worker 472*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @test11b(<8 x i1> %mask, <8 x i32>* %addr, <8 x i32> %dst) { 473*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11b: 474*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 475*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero 476*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm2, %xmm2 477*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm2, %xmm2 478*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpunpckhwd {{.*#+}} xmm0 = xmm0[4,4,5,5,6,6,7,7] 479*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 480*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 481*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0 482*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm2 483*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvps %ymm0, %ymm2, %ymm1, %ymm0 484*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 485*9880d681SAndroid Build Coastguard Worker; 486*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11b: 487*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero 489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %ymm0, %ymm0 490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %ymm0, %ymm0 491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd (%rdi), %ymm0, %ymm2 492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvps %ymm0, %ymm2, %ymm1, %ymm0 493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 494*9880d681SAndroid Build Coastguard Worker; 495*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11b: 496*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 497*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def> 498*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwq %xmm0, %zmm0 499*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllq $63, %zmm0, %zmm0 500*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmq %zmm0, %zmm0, %k0 501*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k0 502*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k0, %k1 503*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu32 (%rdi), %zmm1 {%k1} 504*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm1, %zmm0 505*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 506*9880d681SAndroid Build Coastguard Worker; 507*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11b: 508*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 509*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $15, %xmm0, %xmm0 510*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovw2m %xmm0, %k1 511*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 (%rdi), %ymm1 {%k1} 512*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 513*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 514*9880d681SAndroid Build Coastguard Worker %res = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %addr, i32 4, <8 x i1>%mask, <8 x i32>%dst) 515*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %res 516*9880d681SAndroid Build Coastguard Worker} 517*9880d681SAndroid Build Coastguard Worker 518*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test11c(<8 x i1> %mask, <8 x float>* %addr) { 519*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11c: 520*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 521*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero 522*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpunpckhwd {{.*#+}} xmm0 = xmm0[4,4,5,5,6,6,7,7] 525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0 528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm0 529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 530*9880d681SAndroid Build Coastguard Worker; 531*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11c: 532*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero 534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %ymm0, %ymm0 535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %ymm0, %ymm0 536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps (%rdi), %ymm0, %ymm0 537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 538*9880d681SAndroid Build Coastguard Worker; 539*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11c: 540*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 541*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwq %xmm0, %zmm0 542*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllq $63, %zmm0, %zmm0 543*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmq %zmm0, %zmm0, %k0 544*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k0 545*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k0, %k1 546*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovups (%rdi), %zmm0 {%k1} {z} 547*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill> 548*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 549*9880d681SAndroid Build Coastguard Worker; 550*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11c: 551*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 552*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $15, %xmm0, %xmm0 553*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovw2m %xmm0, %k1 554*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps (%rdi), %ymm0 {%k1} {z} 555*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 556*9880d681SAndroid Build Coastguard Worker %res = call <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %addr, i32 32, <8 x i1> %mask, <8 x float> zeroinitializer) 557*9880d681SAndroid Build Coastguard Worker ret <8 x float> %res 558*9880d681SAndroid Build Coastguard Worker} 559*9880d681SAndroid Build Coastguard Worker 560*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @test11d(<8 x i1> %mask, <8 x i32>* %addr) { 561*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test11d: 562*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 563*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero 564*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 565*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 566*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpunpckhwd {{.*#+}} xmm0 = xmm0[4,4,5,5,6,6,7,7] 567*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 568*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 569*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0 570*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm0 571*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 572*9880d681SAndroid Build Coastguard Worker; 573*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test11d: 574*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero 576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %ymm0, %ymm0 577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %ymm0, %ymm0 578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd (%rdi), %ymm0, %ymm0 579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 580*9880d681SAndroid Build Coastguard Worker; 581*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test11d: 582*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 583*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwq %xmm0, %zmm0 584*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllq $63, %zmm0, %zmm0 585*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmq %zmm0, %zmm0, %k0 586*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k0 587*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k0, %k1 588*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu32 (%rdi), %zmm0 {%k1} {z} 589*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill> 590*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 591*9880d681SAndroid Build Coastguard Worker; 592*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test11d: 593*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 594*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $15, %xmm0, %xmm0 595*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovw2m %xmm0, %k1 596*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 (%rdi), %ymm0 {%k1} {z} 597*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 598*9880d681SAndroid Build Coastguard Worker %res = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %addr, i32 4, <8 x i1> %mask, <8 x i32> zeroinitializer) 599*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %res 600*9880d681SAndroid Build Coastguard Worker} 601*9880d681SAndroid Build Coastguard Worker 602*9880d681SAndroid Build Coastguard Workerdefine void @test12(<8 x i32> %trigger, <8 x i32>* %addr, <8 x i32> %val) { 603*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test12: 604*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 605*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 606*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm3, %xmm3, %xmm3 607*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm2, %xmm2 608*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm3, %xmm0, %xmm0 609*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 610*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %ymm1, %ymm0, (%rdi) 611*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 613*9880d681SAndroid Build Coastguard Worker; 614*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test12: 615*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 616*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm2, %ymm2, %ymm2 617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm2, %ymm0, %ymm0 618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd %ymm1, %ymm0, (%rdi) 619*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 620*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 621*9880d681SAndroid Build Coastguard Worker; 622*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test12: 623*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM1<def> %YMM1<kill> %ZMM1<def> 625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def> 626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm2, %ymm2, %ymm2 627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %zmm2, %zmm0, %k0 628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k0 629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k0, %k1 630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu32 %zmm1, (%rdi) {%k1} 631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 632*9880d681SAndroid Build Coastguard Worker; 633*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test12: 634*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 635*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %ymm2, %ymm2, %ymm2 636*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqd %ymm2, %ymm0, %k1 637*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 %ymm1, (%rdi) {%k1} 638*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 639*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <8 x i32> %trigger, zeroinitializer 640*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v8i32.p0v8i32(<8 x i32>%val, <8 x i32>* %addr, i32 4, <8 x i1>%mask) 641*9880d681SAndroid Build Coastguard Worker ret void 642*9880d681SAndroid Build Coastguard Worker} 643*9880d681SAndroid Build Coastguard Worker 644*9880d681SAndroid Build Coastguard Workerdefine void @test13(<16 x i32> %trigger, <16 x float>* %addr, <16 x float> %val) { 645*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test13: 646*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm4 648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm5, %xmm5, %xmm5 649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm4, %xmm4 650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm0, %xmm0 651*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm0 652*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm4 653*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm4, %xmm4 654*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm5, %xmm1, %xmm1 655*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm1 656*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %ymm3, %ymm1, 32(%rdi) 657*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %ymm2, %ymm0, (%rdi) 658*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 659*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 660*9880d681SAndroid Build Coastguard Worker; 661*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test13: 662*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 663*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm4, %ymm4, %ymm4 664*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm4, %ymm0, %ymm0 665*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %ymm4, %ymm1, %ymm1 666*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps %ymm3, %ymm1, 32(%rdi) 667*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps %ymm2, %ymm0, (%rdi) 668*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 669*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 670*9880d681SAndroid Build Coastguard Worker; 671*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test13: 672*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 673*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpxord %zmm2, %zmm2, %zmm2 674*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpcmpeqd %zmm2, %zmm0, %k1 675*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovups %zmm1, (%rdi) {%k1} 676*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 677*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <16 x i32> %trigger, zeroinitializer 678*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v16f32.p0v16f32(<16 x float>%val, <16 x float>* %addr, i32 4, <16 x i1>%mask) 679*9880d681SAndroid Build Coastguard Worker ret void 680*9880d681SAndroid Build Coastguard Worker} 681*9880d681SAndroid Build Coastguard Worker 682*9880d681SAndroid Build Coastguard Workerdefine void @test14(<2 x i32> %trigger, <2 x float>* %addr, <2 x float> %val) { 683*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test14: 684*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7] 687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 690*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) 691*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 692*9880d681SAndroid Build Coastguard Worker; 693*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test14: 694*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 695*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 696*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 697*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 698*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 699*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 700*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) 701*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 702*9880d681SAndroid Build Coastguard Worker; 703*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test14: 704*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) 711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 712*9880d681SAndroid Build Coastguard Worker; 713*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test14: 714*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 715*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 716*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 717*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k0 718*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftlw $14, %k0, %k0 719*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $14, %k0, %k1 720*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovups %xmm1, (%rdi) {%k1} 721*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 722*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <2 x i32> %trigger, zeroinitializer 723*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v2f32.p0v2f32(<2 x float>%val, <2 x float>* %addr, i32 4, <2 x i1>%mask) 724*9880d681SAndroid Build Coastguard Worker ret void 725*9880d681SAndroid Build Coastguard Worker} 726*9880d681SAndroid Build Coastguard Worker 727*9880d681SAndroid Build Coastguard Workerdefine void @test15(<2 x i32> %trigger, <2 x i32>* %addr, <2 x i32> %val) { 728*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test15: 729*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7] 732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3] 736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) 737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 738*9880d681SAndroid Build Coastguard Worker; 739*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test15: 740*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 741*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 742*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 743*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 744*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 745*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 746*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3] 747*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd %xmm1, %xmm0, (%rdi) 748*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 749*9880d681SAndroid Build Coastguard Worker; 750*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test15: 751*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3] 758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovd %xmm1, %xmm0, (%rdi) 759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 760*9880d681SAndroid Build Coastguard Worker; 761*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test15: 762*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 763*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 764*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 765*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k1 766*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovqd %xmm1, (%rdi) {%k1} 767*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 768*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <2 x i32> %trigger, zeroinitializer 769*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v2i32.p0v2i32(<2 x i32>%val, <2 x i32>* %addr, i32 4, <2 x i1>%mask) 770*9880d681SAndroid Build Coastguard Worker ret void 771*9880d681SAndroid Build Coastguard Worker} 772*9880d681SAndroid Build Coastguard Worker 773*9880d681SAndroid Build Coastguard Workerdefine <2 x float> @test16(<2 x i32> %trigger, <2 x float>* %addr, <2 x float> %dst) { 774*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test16: 775*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7] 778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 784*9880d681SAndroid Build Coastguard Worker; 785*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test16: 786*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 787*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 788*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 789*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 790*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 791*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 792*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 793*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 794*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 795*9880d681SAndroid Build Coastguard Worker; 796*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test16: 797*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 806*9880d681SAndroid Build Coastguard Worker; 807*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test16: 808*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 809*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 810*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 811*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k0 812*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftlw $14, %k0, %k0 813*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $14, %k0, %k1 814*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovups (%rdi), %xmm1 {%k1} 815*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 816*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 817*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <2 x i32> %trigger, zeroinitializer 818*9880d681SAndroid Build Coastguard Worker %res = call <2 x float> @llvm.masked.load.v2f32.p0v2f32(<2 x float>* %addr, i32 4, <2 x i1>%mask, <2 x float>%dst) 819*9880d681SAndroid Build Coastguard Worker ret <2 x float> %res 820*9880d681SAndroid Build Coastguard Worker} 821*9880d681SAndroid Build Coastguard Worker 822*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @test17(<2 x i32> %trigger, <2 x i32>* %addr, <2 x i32> %dst) { 823*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test17: 824*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7] 827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3] 832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 835*9880d681SAndroid Build Coastguard Worker; 836*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test17: 837*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 838*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 839*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 840*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 841*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd (%rdi), %xmm0, %xmm2 844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3] 845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %xmm0 847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 848*9880d681SAndroid Build Coastguard Worker; 849*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test17: 850*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2 852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovd (%rdi), %xmm0, %xmm2 857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3] 858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvps %xmm0, %xmm2, %xmm1, %xmm0 859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxdq %xmm0, %xmm0 860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 861*9880d681SAndroid Build Coastguard Worker; 862*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test17: 863*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 864*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm2, %xmm2, %xmm2 865*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3] 866*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqq %xmm2, %xmm0, %k0 867*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftlw $14, %k0, %k0 868*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $14, %k0, %k1 869*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpshufd {{.*#+}} xmm0 = xmm1[0,2,2,3] 870*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 (%rdi), %xmm0 {%k1} 871*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovsxdq %xmm0, %xmm0 872*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 873*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <2 x i32> %trigger, zeroinitializer 874*9880d681SAndroid Build Coastguard Worker %res = call <2 x i32> @llvm.masked.load.v2i32.p0v2i32(<2 x i32>* %addr, i32 4, <2 x i1>%mask, <2 x i32>%dst) 875*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %res 876*9880d681SAndroid Build Coastguard Worker} 877*9880d681SAndroid Build Coastguard Worker 878*9880d681SAndroid Build Coastguard Workerdefine <2 x float> @test18(<2 x i32> %trigger, <2 x float>* %addr) { 879*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test18: 880*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1 882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7] 883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %xmm0, %xmm0 887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 888*9880d681SAndroid Build Coastguard Worker; 889*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test18: 890*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 891*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1 892*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3] 893*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 894*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 895*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 896*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovps (%rdi), %xmm0, %xmm0 897*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 898*9880d681SAndroid Build Coastguard Worker; 899*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test18: 900*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm1, %xmm1, %xmm1 902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3] 903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] 905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero 906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovps (%rdi), %xmm0, %xmm0 907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 908*9880d681SAndroid Build Coastguard Worker; 909*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test18: 910*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 911*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpxord %xmm1, %xmm1, %xmm1 912*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3] 913*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpcmpeqq %xmm1, %xmm0, %k0 914*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftlw $14, %k0, %k0 915*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $14, %k0, %k1 916*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovups (%rdi), %xmm0 {%k1} {z} 917*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 918*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <2 x i32> %trigger, zeroinitializer 919*9880d681SAndroid Build Coastguard Worker %res = call <2 x float> @llvm.masked.load.v2f32.p0v2f32(<2 x float>* %addr, i32 4, <2 x i1>%mask, <2 x float>undef) 920*9880d681SAndroid Build Coastguard Worker ret <2 x float> %res 921*9880d681SAndroid Build Coastguard Worker} 922*9880d681SAndroid Build Coastguard Worker 923*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @load_all(<4 x i32> %trigger, <4 x float>* %addr) { 924*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_all: 925*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 926*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovups (%rdi), %xmm0 927*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 928*9880d681SAndroid Build Coastguard Worker; 929*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: load_all: 930*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 931*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 932*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovps (%rdi), %xmm0, %xmm0 933*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 934*9880d681SAndroid Build Coastguard Worker; 935*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: load_all: 936*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 937*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kxnorw %k0, %k0, %k1 938*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovups (%rdi), %xmm0 {%k1} {z} 939*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 940*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <4 x i32> %trigger, zeroinitializer 941*9880d681SAndroid Build Coastguard Worker %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1><i1 true, i1 true, i1 true, i1 true>, <4 x float>undef) 942*9880d681SAndroid Build Coastguard Worker ret <4 x float> %res 943*9880d681SAndroid Build Coastguard Worker} 944*9880d681SAndroid Build Coastguard Worker 945*9880d681SAndroid Build Coastguard Worker;;; Loads with Constant Masks - these should be optimized to use something other than a variable blend. 946*9880d681SAndroid Build Coastguard Worker 947*9880d681SAndroid Build Coastguard Worker; 128-bit FP vectors are supported with AVX. 948*9880d681SAndroid Build Coastguard Worker 949*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @mload_constmask_v4f32(<4 x float>* %addr, <4 x float> %dst) { 950*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v4f32: 951*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 952*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vblendps {{.*#+}} xmm0 = mem[0],xmm0[1],mem[2,3] 953*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 954*9880d681SAndroid Build Coastguard Worker; 955*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4f32: 956*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 957*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps {{.*#+}} xmm1 = [4294967295,0,4294967295,4294967295] 958*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovps (%rdi), %xmm1, %xmm2 959*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvps %xmm1, %xmm2, %xmm0, %xmm0 960*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 961*9880d681SAndroid Build Coastguard Worker; 962*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4f32: 963*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 964*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $13, %al 965*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 966*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovups (%rdi), %xmm0 {%k1} 967*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 968*9880d681SAndroid Build Coastguard Worker %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1> <i1 1, i1 0, i1 1, i1 1>, <4 x float> %dst) 969*9880d681SAndroid Build Coastguard Worker ret <4 x float> %res 970*9880d681SAndroid Build Coastguard Worker} 971*9880d681SAndroid Build Coastguard Worker 972*9880d681SAndroid Build Coastguard Worker; 128-bit integer vectors are supported with AVX2. 973*9880d681SAndroid Build Coastguard Worker 974*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @mload_constmask_v4i32(<4 x i32>* %addr, <4 x i32> %dst) { 975*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v4i32: 976*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 977*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovaps {{.*#+}} xmm1 = [0,4294967295,4294967295,4294967295] 978*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps (%rdi), %xmm1, %xmm1 979*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3,4,5,6,7] 980*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 981*9880d681SAndroid Build Coastguard Worker; 982*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v4i32: 983*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovdqa {{.*#+}} xmm1 = [0,4294967295,4294967295,4294967295] 985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd (%rdi), %xmm1, %xmm1 986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3] 987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 988*9880d681SAndroid Build Coastguard Worker; 989*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4i32: 990*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} xmm1 = [0,4294967295,4294967295,4294967295] 992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovd (%rdi), %xmm1, %xmm2 993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvps %xmm1, %xmm2, %xmm0, %xmm0 994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 995*9880d681SAndroid Build Coastguard Worker; 996*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4i32: 997*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 998*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $14, %al 999*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 1000*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 (%rdi), %xmm0 {%k1} 1001*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1002*9880d681SAndroid Build Coastguard Worker %res = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %addr, i32 4, <4 x i1> <i1 0, i1 1, i1 1, i1 1>, <4 x i32> %dst) 1003*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %res 1004*9880d681SAndroid Build Coastguard Worker} 1005*9880d681SAndroid Build Coastguard Worker 1006*9880d681SAndroid Build Coastguard Worker; 256-bit FP vectors are supported with AVX. 1007*9880d681SAndroid Build Coastguard Worker 1008*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @mload_constmask_v8f32(<8 x float>* %addr, <8 x float> %dst) { 1009*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v8f32: 1010*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1011*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovaps {{.*#+}} ymm1 = [4294967295,4294967295,4294967295,0,0,0,0,0] 1012*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmaskmovps (%rdi), %ymm1, %ymm1 1013*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7] 1014*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1015*9880d681SAndroid Build Coastguard Worker; 1016*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v8f32: 1017*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def> 1019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw $7, %ax 1020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %eax, %k1 1021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovups (%rdi), %zmm0 {%k1} 1022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill> 1023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1024*9880d681SAndroid Build Coastguard Worker; 1025*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v8f32: 1026*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1027*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $7, %al 1028*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 1029*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovups (%rdi), %ymm0 {%k1} 1030*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1031*9880d681SAndroid Build Coastguard Worker %res = call <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %addr, i32 4, <8 x i1> <i1 1, i1 1, i1 1, i1 0, i1 0, i1 0, i1 0, i1 0>, <8 x float> %dst) 1032*9880d681SAndroid Build Coastguard Worker ret <8 x float> %res 1033*9880d681SAndroid Build Coastguard Worker} 1034*9880d681SAndroid Build Coastguard Worker 1035*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @mload_constmask_v4f64(<4 x double>* %addr, <4 x double> %dst) { 1036*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v4f64: 1037*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1038*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovapd {{.*#+}} ymm1 = [18446744073709551615,18446744073709551615,18446744073709551615,0] 1039*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmaskmovpd (%rdi), %ymm1, %ymm1 1040*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3] 1041*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1042*9880d681SAndroid Build Coastguard Worker; 1043*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4f64: 1044*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovapd {{.*#+}} ymm1 = [18446744073709551615,18446744073709551615,18446744073709551615,0] 1046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovpd (%rdi), %ymm1, %ymm2 1047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvpd %ymm1, %ymm2, %ymm0, %ymm0 1048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1049*9880d681SAndroid Build Coastguard Worker; 1050*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4f64: 1051*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1052*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $7, %al 1053*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 1054*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd (%rdi), %ymm0 {%k1} 1055*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1056*9880d681SAndroid Build Coastguard Worker %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 4, <4 x i1> <i1 1, i1 1, i1 1, i1 0>, <4 x double> %dst) 1057*9880d681SAndroid Build Coastguard Worker ret <4 x double> %res 1058*9880d681SAndroid Build Coastguard Worker} 1059*9880d681SAndroid Build Coastguard Worker 1060*9880d681SAndroid Build Coastguard Worker; 256-bit integer vectors are supported with AVX2. 1061*9880d681SAndroid Build Coastguard Worker 1062*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @mload_constmask_v8i32(<8 x i32>* %addr, <8 x i32> %dst) { 1063*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v8i32: 1064*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1065*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm0 = mem[0,1,2],ymm0[3,4,5,6],mem[7] 1066*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1067*9880d681SAndroid Build Coastguard Worker; 1068*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v8i32: 1069*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1070*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1,2],ymm0[3,4,5,6],mem[7] 1071*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1072*9880d681SAndroid Build Coastguard Worker; 1073*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v8i32: 1074*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<def> 1076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw $135, %ax 1077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %eax, %k1 1078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu32 (%rdi), %zmm0 {%k1} 1079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## kill: %YMM0<def> %YMM0<kill> %ZMM0<kill> 1080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1081*9880d681SAndroid Build Coastguard Worker; 1082*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v8i32: 1083*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1084*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $-121, %al 1085*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 1086*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 (%rdi), %ymm0 {%k1} 1087*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1088*9880d681SAndroid Build Coastguard Worker %res = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %addr, i32 4, <8 x i1> <i1 1, i1 1, i1 1, i1 0, i1 0, i1 0, i1 0, i1 1>, <8 x i32> %dst) 1089*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %res 1090*9880d681SAndroid Build Coastguard Worker} 1091*9880d681SAndroid Build Coastguard Worker 1092*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @mload_constmask_v4i64(<4 x i64>* %addr, <4 x i64> %dst) { 1093*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v4i64: 1094*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1095*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendpd {{.*#+}} ymm0 = mem[0],ymm0[1,2],mem[3] 1096*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1097*9880d681SAndroid Build Coastguard Worker; 1098*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v4i64: 1099*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1100*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = mem[0,1],ymm0[2,3,4,5],mem[6,7] 1101*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1102*9880d681SAndroid Build Coastguard Worker; 1103*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4i64: 1104*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm1 = [18446744073709551615,0,0,18446744073709551615] 1106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovq (%rdi), %ymm1, %ymm2 1107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vblendvpd %ymm1, %ymm2, %ymm0, %ymm0 1108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1109*9880d681SAndroid Build Coastguard Worker; 1110*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4i64: 1111*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1112*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $9, %al 1113*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 1114*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 (%rdi), %ymm0 {%k1} 1115*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1116*9880d681SAndroid Build Coastguard Worker %res = call <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %addr, i32 4, <4 x i1> <i1 1, i1 0, i1 0, i1 1>, <4 x i64> %dst) 1117*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %res 1118*9880d681SAndroid Build Coastguard Worker} 1119*9880d681SAndroid Build Coastguard Worker 1120*9880d681SAndroid Build Coastguard Worker; 512-bit FP vectors are supported with AVX512. 1121*9880d681SAndroid Build Coastguard Worker 1122*9880d681SAndroid Build Coastguard Workerdefine <8 x double> @mload_constmask_v8f64(<8 x double>* %addr, <8 x double> %dst) { 1123*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v8f64: 1124*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1125*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vblendpd {{.*#+}} ymm1 = ymm1[0,1,2],mem[3] 1126*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vblendpd {{.*#+}} ymm0 = mem[0,1,2],ymm0[3] 1127*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1128*9880d681SAndroid Build Coastguard Worker; 1129*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: mload_constmask_v8f64: 1130*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1131*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: movb $-121, %al 1132*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: kmovw %eax, %k1 1133*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovupd (%rdi), %zmm0 {%k1} 1134*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1135*9880d681SAndroid Build Coastguard Worker %res = call <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>* %addr, i32 4, <8 x i1> <i1 1, i1 1, i1 1, i1 0, i1 0, i1 0, i1 0, i1 1>, <8 x double> %dst) 1136*9880d681SAndroid Build Coastguard Worker ret <8 x double> %res 1137*9880d681SAndroid Build Coastguard Worker} 1138*9880d681SAndroid Build Coastguard Worker 1139*9880d681SAndroid Build Coastguard Worker; If the pass-through operand is undef, no blend is needed. 1140*9880d681SAndroid Build Coastguard Worker 1141*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @mload_constmask_v4f64_undef_passthrough(<4 x double>* %addr) { 1142*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: mload_constmask_v4f64_undef_passthrough: 1143*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1144*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovapd {{.*#+}} ymm0 = [18446744073709551615,18446744073709551615,18446744073709551615,0] 1145*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm0 1146*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1147*9880d681SAndroid Build Coastguard Worker; 1148*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4f64_undef_passthrough: 1149*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovapd {{.*#+}} ymm0 = [18446744073709551615,18446744073709551615,18446744073709551615,0] 1151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm0 1152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1153*9880d681SAndroid Build Coastguard Worker; 1154*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4f64_undef_passthrough: 1155*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1156*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $7, %al 1157*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 1158*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd (%rdi), %ymm0 {%k1} {z} 1159*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1160*9880d681SAndroid Build Coastguard Worker %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 4, <4 x i1> <i1 1, i1 1, i1 1, i1 0>, <4 x double> undef) 1161*9880d681SAndroid Build Coastguard Worker ret <4 x double> %res 1162*9880d681SAndroid Build Coastguard Worker} 1163*9880d681SAndroid Build Coastguard Worker 1164*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @mload_constmask_v4i64_undef_passthrough(<4 x i64>* %addr) { 1165*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: mload_constmask_v4i64_undef_passthrough: 1166*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd {{.*#+}} ymm0 = [0,18446744073709551615,18446744073709551615,0] 1168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm0 1169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1170*9880d681SAndroid Build Coastguard Worker; 1171*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: mload_constmask_v4i64_undef_passthrough: 1172*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovdqa {{.*#+}} ymm0 = [0,18446744073709551615,18446744073709551615,0] 1174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq (%rdi), %ymm0, %ymm0 1175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1176*9880d681SAndroid Build Coastguard Worker; 1177*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: mload_constmask_v4i64_undef_passthrough: 1178*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm0 = [0,18446744073709551615,18446744073709551615,0] 1180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovq (%rdi), %ymm0, %ymm0 1181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1182*9880d681SAndroid Build Coastguard Worker; 1183*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: mload_constmask_v4i64_undef_passthrough: 1184*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1185*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: movb $6, %al 1186*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kmovw %eax, %k1 1187*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 (%rdi), %ymm0 {%k1} {z} 1188*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1189*9880d681SAndroid Build Coastguard Worker %res = call <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %addr, i32 4, <4 x i1> <i1 0, i1 1, i1 1, i1 0>, <4 x i64> undef) 1190*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %res 1191*9880d681SAndroid Build Coastguard Worker} 1192*9880d681SAndroid Build Coastguard Worker 1193*9880d681SAndroid Build Coastguard Workerdefine void @test21(<4 x i32> %trigger, <4 x i32>* %addr, <4 x i32> %val) { 1194*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test21: 1195*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 1197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) 1198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1199*9880d681SAndroid Build Coastguard Worker; 1200*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test21: 1201*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1202*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 1203*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovd %xmm1, %xmm0, (%rdi) 1204*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1205*9880d681SAndroid Build Coastguard Worker; 1206*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test21: 1207*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 1209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmaskmovd %xmm1, %xmm0, (%rdi) 1210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1211*9880d681SAndroid Build Coastguard Worker; 1212*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test21: 1213*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1214*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kxnorw %k0, %k0, %k1 1215*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu32 %xmm1, (%rdi) {%k1} 1216*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1217*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <4 x i32> %trigger, zeroinitializer 1218*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32>%val, <4 x i32>* %addr, i32 4, <4 x i1><i1 true, i1 true, i1 true, i1 true>) 1219*9880d681SAndroid Build Coastguard Worker ret void 1220*9880d681SAndroid Build Coastguard Worker} 1221*9880d681SAndroid Build Coastguard Worker 1222*9880d681SAndroid Build Coastguard Worker; When only one element of the mask is set, reduce to a scalar store. 1223*9880d681SAndroid Build Coastguard Worker 1224*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set1(<4 x i32>* %addr, <4 x i32> %val) { 1225*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set1: 1226*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1227*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm0, (%rdi) 1228*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1229*9880d681SAndroid Build Coastguard Worker; 1230*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: one_mask_bit_set1: 1231*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1232*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovd %xmm0, (%rdi) 1233*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1234*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v4i32.p0v4i32(<4 x i32> %val, <4 x i32>* %addr, i32 4, <4 x i1><i1 true, i1 false, i1 false, i1 false>) 1235*9880d681SAndroid Build Coastguard Worker ret void 1236*9880d681SAndroid Build Coastguard Worker} 1237*9880d681SAndroid Build Coastguard Worker 1238*9880d681SAndroid Build Coastguard Worker; Choose a different element to show that the correct address offset is produced. 1239*9880d681SAndroid Build Coastguard Worker 1240*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set2(<4 x float>* %addr, <4 x float> %val) { 1241*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set2: 1242*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextractps $2, %xmm0, 8(%rdi) 1244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1245*9880d681SAndroid Build Coastguard Worker; 1246*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: one_mask_bit_set2: 1247*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1248*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vextractps $2, %xmm0, 8(%rdi) 1249*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1250*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v4f32.p0v4f32(<4 x float> %val, <4 x float>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>) 1251*9880d681SAndroid Build Coastguard Worker ret void 1252*9880d681SAndroid Build Coastguard Worker} 1253*9880d681SAndroid Build Coastguard Worker 1254*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly. 1255*9880d681SAndroid Build Coastguard Worker 1256*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set3(<4 x i64>* %addr, <4 x i64> %val) { 1257*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set3: 1258*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1259*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextractf128 $1, %ymm0, %xmm0 1260*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovlps %xmm0, 16(%rdi) 1261*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vzeroupper 1262*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1263*9880d681SAndroid Build Coastguard Worker; 1264*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: one_mask_bit_set3: 1265*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1266*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextractf128 $1, %ymm0, %xmm0 1267*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovq %xmm0, 16(%rdi) 1268*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1269*9880d681SAndroid Build Coastguard Worker; 1270*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: one_mask_bit_set3: 1271*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1272*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vextracti32x4 $1, %ymm0, %xmm0 1273*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovq %xmm0, 16(%rdi) 1274*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1275*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v4i64.p0v4i64(<4 x i64> %val, <4 x i64>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>) 1276*9880d681SAndroid Build Coastguard Worker ret void 1277*9880d681SAndroid Build Coastguard Worker} 1278*9880d681SAndroid Build Coastguard Worker 1279*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly. 1280*9880d681SAndroid Build Coastguard Worker 1281*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set4(<4 x double>* %addr, <4 x double> %val) { 1282*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set4: 1283*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1284*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextractf128 $1, %ymm0, %xmm0 1285*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovhpd %xmm0, 24(%rdi) 1286*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vzeroupper 1287*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1288*9880d681SAndroid Build Coastguard Worker; 1289*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: one_mask_bit_set4: 1290*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextractf128 $1, %ymm0, %xmm0 1292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovhpd %xmm0, 24(%rdi) 1293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1294*9880d681SAndroid Build Coastguard Worker; 1295*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: one_mask_bit_set4: 1296*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1297*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vextractf32x4 $1, %ymm0, %xmm0 1298*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovhpd %xmm0, 24(%rdi) 1299*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1300*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v4f64.p0v4f64(<4 x double> %val, <4 x double>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 false, i1 true>) 1301*9880d681SAndroid Build Coastguard Worker ret void 1302*9880d681SAndroid Build Coastguard Worker} 1303*9880d681SAndroid Build Coastguard Worker 1304*9880d681SAndroid Build Coastguard Worker; Try a 512-bit vector to make sure AVX doesn't die and AVX512 works as expected. 1305*9880d681SAndroid Build Coastguard Worker 1306*9880d681SAndroid Build Coastguard Workerdefine void @one_mask_bit_set5(<8 x double>* %addr, <8 x double> %val) { 1307*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: one_mask_bit_set5: 1308*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1309*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextractf128 $1, %ymm1, %xmm0 1310*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovlps %xmm0, 48(%rdi) 1311*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vzeroupper 1312*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1313*9880d681SAndroid Build Coastguard Worker; 1314*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: one_mask_bit_set5: 1315*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1316*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vextractf32x4 $3, %zmm0, %xmm0 1317*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovlpd %xmm0, 48(%rdi) 1318*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1319*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v8f64.p0v8f64(<8 x double> %val, <8 x double>* %addr, i32 4, <8 x i1><i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 false>) 1320*9880d681SAndroid Build Coastguard Worker ret void 1321*9880d681SAndroid Build Coastguard Worker} 1322*9880d681SAndroid Build Coastguard Worker 1323*9880d681SAndroid Build Coastguard Worker; When only one element of the mask is set, reduce to a scalar load. 1324*9880d681SAndroid Build Coastguard Worker 1325*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @load_one_mask_bit_set1(<4 x i32>* %addr, <4 x i32> %val) { 1326*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set1: 1327*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1328*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $0, (%rdi), %xmm0, %xmm0 1329*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1330*9880d681SAndroid Build Coastguard Worker; 1331*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: load_one_mask_bit_set1: 1332*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1333*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpinsrd $0, (%rdi), %xmm0, %xmm0 1334*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1335*9880d681SAndroid Build Coastguard Worker %res = call <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %addr, i32 4, <4 x i1><i1 true, i1 false, i1 false, i1 false>, <4 x i32> %val) 1336*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %res 1337*9880d681SAndroid Build Coastguard Worker} 1338*9880d681SAndroid Build Coastguard Worker 1339*9880d681SAndroid Build Coastguard Worker; Choose a different element to show that the correct address offset is produced. 1340*9880d681SAndroid Build Coastguard Worker 1341*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @load_one_mask_bit_set2(<4 x float>* %addr, <4 x float> %val) { 1342*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set2: 1343*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1344*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,1],mem[0],xmm0[3] 1345*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1346*9880d681SAndroid Build Coastguard Worker; 1347*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: load_one_mask_bit_set2: 1348*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1349*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,1],mem[0],xmm0[3] 1350*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1351*9880d681SAndroid Build Coastguard Worker %res = call <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>, <4 x float> %val) 1352*9880d681SAndroid Build Coastguard Worker ret <4 x float> %res 1353*9880d681SAndroid Build Coastguard Worker} 1354*9880d681SAndroid Build Coastguard Worker 1355*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly. 1356*9880d681SAndroid Build Coastguard Worker 1357*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @load_one_mask_bit_set3(<4 x i64>* %addr, <4 x i64> %val) { 1358*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: load_one_mask_bit_set3: 1359*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1 1361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrq $0, 16(%rdi), %xmm1, %xmm1 1362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 1363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1364*9880d681SAndroid Build Coastguard Worker; 1365*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: load_one_mask_bit_set3: 1366*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1367*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1 1368*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrq $0, 16(%rdi), %xmm1, %xmm1 1369*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 1370*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1371*9880d681SAndroid Build Coastguard Worker; 1372*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: load_one_mask_bit_set3: 1373*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 1375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrq $0, 16(%rdi), %xmm1, %xmm1 1376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 1377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1378*9880d681SAndroid Build Coastguard Worker; 1379*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: load_one_mask_bit_set3: 1380*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1381*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vextracti32x4 $1, %ymm0, %xmm1 1382*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpinsrq $0, 16(%rdi), %xmm1, %xmm1 1383*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vinserti32x4 $1, %xmm1, %ymm0, %ymm0 1384*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1385*9880d681SAndroid Build Coastguard Worker %res = call <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 true, i1 false>, <4 x i64> %val) 1386*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %res 1387*9880d681SAndroid Build Coastguard Worker} 1388*9880d681SAndroid Build Coastguard Worker 1389*9880d681SAndroid Build Coastguard Worker; Choose a different scalar type and a high element of a 256-bit vector because AVX doesn't support those evenly. 1390*9880d681SAndroid Build Coastguard Worker 1391*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @load_one_mask_bit_set4(<4 x double>* %addr, <4 x double> %val) { 1392*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set4: 1393*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1394*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextractf128 $1, %ymm0, %xmm1 1395*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0] 1396*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 1397*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1398*9880d681SAndroid Build Coastguard Worker; 1399*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: load_one_mask_bit_set4: 1400*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1401*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextractf128 $1, %ymm0, %xmm1 1402*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0] 1403*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 1404*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1405*9880d681SAndroid Build Coastguard Worker; 1406*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: load_one_mask_bit_set4: 1407*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1408*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vextractf32x4 $1, %ymm0, %xmm1 1409*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0] 1410*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vinsertf32x4 $1, %xmm1, %ymm0, %ymm0 1411*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1412*9880d681SAndroid Build Coastguard Worker %res = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %addr, i32 4, <4 x i1><i1 false, i1 false, i1 false, i1 true>, <4 x double> %val) 1413*9880d681SAndroid Build Coastguard Worker ret <4 x double> %res 1414*9880d681SAndroid Build Coastguard Worker} 1415*9880d681SAndroid Build Coastguard Worker 1416*9880d681SAndroid Build Coastguard Worker; Try a 512-bit vector to make sure AVX doesn't die and AVX512 works as expected. 1417*9880d681SAndroid Build Coastguard Worker 1418*9880d681SAndroid Build Coastguard Workerdefine <8 x double> @load_one_mask_bit_set5(<8 x double>* %addr, <8 x double> %val) { 1419*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: load_one_mask_bit_set5: 1420*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 1421*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextractf128 $1, %ymm1, %xmm2 1422*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovsd {{.*#+}} xmm3 = mem[0],zero 1423*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vunpcklpd {{.*#+}} xmm2 = xmm2[0],xmm3[0] 1424*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 1425*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1426*9880d681SAndroid Build Coastguard Worker; 1427*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: load_one_mask_bit_set5: 1428*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1429*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vextractf32x4 $3, %zmm0, %xmm1 1430*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovhpd {{.*#+}} xmm1 = xmm1[0],mem[0] 1431*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vinsertf32x4 $3, %xmm1, %zmm0, %zmm0 1432*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1433*9880d681SAndroid Build Coastguard Worker %res = call <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>* %addr, i32 4, <8 x i1><i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true>, <8 x double> %val) 1434*9880d681SAndroid Build Coastguard Worker ret <8 x double> %res 1435*9880d681SAndroid Build Coastguard Worker} 1436*9880d681SAndroid Build Coastguard Worker 1437*9880d681SAndroid Build Coastguard Workerdeclare <16 x i32> @llvm.masked.load.v16i32.p0v16i32(<16 x i32>*, i32, <16 x i1>, <16 x i32>) 1438*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.masked.load.v4i32.p0v4i32(<4 x i32>*, i32, <4 x i1>, <4 x i32>) 1439*9880d681SAndroid Build Coastguard Workerdeclare <2 x i32> @llvm.masked.load.v2i32.p0v2i32(<2 x i32>*, i32, <2 x i1>, <2 x i32>) 1440*9880d681SAndroid Build Coastguard Workerdeclare <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>*, i32, <4 x i1>, <4 x i64>) 1441*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i32.p0v16i32(<16 x i32>, <16 x i32>*, i32, <16 x i1>) 1442*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v8i32.p0v8i32(<8 x i32>, <8 x i32>*, i32, <8 x i1>) 1443*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4i32.p0v4i32(<4 x i32>, <4 x i32>*, i32, <4 x i1>) 1444*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4i64.p0v4i64(<4 x i64>, <4 x i64>*, i32, <4 x i1>) 1445*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2f32.p0v2f32(<2 x float>, <2 x float>*, i32, <2 x i1>) 1446*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2i32.p0v2i32(<2 x i32>, <2 x i32>*, i32, <2 x i1>) 1447*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4f32.p0v4f32(<4 x float>, <4 x float>*, i32, <4 x i1>) 1448*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16f32.p0v16f32(<16 x float>, <16 x float>*, i32, <16 x i1>) 1449*9880d681SAndroid Build Coastguard Workerdeclare <16 x float> @llvm.masked.load.v16f32.p0v16f32(<16 x float>*, i32, <16 x i1>, <16 x float>) 1450*9880d681SAndroid Build Coastguard Workerdeclare <8 x float> @llvm.masked.load.v8f32.p0v8f32(<8 x float>*, i32, <8 x i1>, <8 x float>) 1451*9880d681SAndroid Build Coastguard Workerdeclare <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>*, i32, <8 x i1>, <8 x i32>) 1452*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.masked.load.v4f32.p0v4f32(<4 x float>*, i32, <4 x i1>, <4 x float>) 1453*9880d681SAndroid Build Coastguard Workerdeclare <2 x float> @llvm.masked.load.v2f32.p0v2f32(<2 x float>*, i32, <2 x i1>, <2 x float>) 1454*9880d681SAndroid Build Coastguard Workerdeclare <8 x double> @llvm.masked.load.v8f64.p0v8f64(<8 x double>*, i32, <8 x i1>, <8 x double>) 1455*9880d681SAndroid Build Coastguard Workerdeclare <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>*, i32, <4 x i1>, <4 x double>) 1456*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.masked.load.v2f64.p0v2f64(<2 x double>*, i32, <2 x i1>, <2 x double>) 1457*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v8f64.p0v8f64(<8 x double>, <8 x double>*, i32, <8 x i1>) 1458*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v4f64.p0v4f64(<4 x double>, <4 x double>*, i32, <4 x i1>) 1459*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2f64.p0v2f64(<2 x double>, <2 x double>*, i32, <2 x i1>) 1460*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v2i64.p0v2i64(<2 x i64>, <2 x i64>*, i32, <2 x i1>) 1461*9880d681SAndroid Build Coastguard Worker 1462*9880d681SAndroid Build Coastguard Workerdeclare <16 x i32*> @llvm.masked.load.v16p0i32.p0v16p0i32(<16 x i32*>*, i32, <16 x i1>, <16 x i32*>) 1463*9880d681SAndroid Build Coastguard Worker 1464*9880d681SAndroid Build Coastguard Workerdefine <16 x i32*> @test23(<16 x i32*> %trigger, <16 x i32*>* %addr) { 1465*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test23: 1466*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1467*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm4 1468*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm5, %xmm5, %xmm5 1469*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm4, %xmm4 1470*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm0, %xmm0 1471*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm0 1472*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm4 1473*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm4, %xmm4 1474*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm1, %xmm1 1475*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm1 1476*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm4 1477*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm4, %xmm4 1478*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm2, %xmm2 1479*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm2, %ymm2 1480*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 1481*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm4, %xmm4 1482*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpeqq %xmm5, %xmm3, %xmm3 1483*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 1484*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 96(%rdi), %ymm3, %ymm3 1485*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 64(%rdi), %ymm2, %ymm2 1486*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 32(%rdi), %ymm1, %ymm1 1487*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm0 1488*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1489*9880d681SAndroid Build Coastguard Worker; 1490*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test23: 1491*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm4, %ymm4, %ymm4 1493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %ymm4, %ymm0, %ymm0 1494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %ymm4, %ymm1, %ymm1 1495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %ymm4, %ymm2, %ymm2 1496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpeqq %ymm4, %ymm3, %ymm3 1497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 96(%rdi), %ymm3, %ymm3 1498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 64(%rdi), %ymm2, %ymm2 1499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 32(%rdi), %ymm1, %ymm1 1500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq (%rdi), %ymm0, %ymm0 1501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1502*9880d681SAndroid Build Coastguard Worker; 1503*9880d681SAndroid Build Coastguard Worker; AVX512-LABEL: test23: 1504*9880d681SAndroid Build Coastguard Worker; AVX512: ## BB#0: 1505*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpxord %zmm2, %zmm2, %zmm2 1506*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpcmpeqq %zmm2, %zmm0, %k1 1507*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vpcmpeqq %zmm2, %zmm1, %k2 1508*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovdqu64 64(%rdi), %zmm1 {%k2} {z} 1509*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: vmovdqu64 (%rdi), %zmm0 {%k1} {z} 1510*9880d681SAndroid Build Coastguard Worker; AVX512-NEXT: retq 1511*9880d681SAndroid Build Coastguard Worker %mask = icmp eq <16 x i32*> %trigger, zeroinitializer 1512*9880d681SAndroid Build Coastguard Worker %res = call <16 x i32*> @llvm.masked.load.v16p0i32.p0v16p0i32(<16 x i32*>* %addr, i32 4, <16 x i1>%mask, <16 x i32*>zeroinitializer) 1513*9880d681SAndroid Build Coastguard Worker ret <16 x i32*> %res 1514*9880d681SAndroid Build Coastguard Worker} 1515*9880d681SAndroid Build Coastguard Worker 1516*9880d681SAndroid Build Coastguard Worker%mystruct = type { i16, i16, [1 x i8*] } 1517*9880d681SAndroid Build Coastguard Worker 1518*9880d681SAndroid Build Coastguard Workerdeclare <16 x %mystruct*> @llvm.masked.load.v16p0mystruct.p0v16p0mystruct(<16 x %mystruct*>*, i32, <16 x i1>, <16 x %mystruct*>) 1519*9880d681SAndroid Build Coastguard Worker 1520*9880d681SAndroid Build Coastguard Workerdefine <16 x %mystruct*> @test24(<16 x i1> %mask, <16 x %mystruct*>* %addr) { 1521*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test24: 1522*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm2 1527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1 1530*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm1, %ymm4 1531*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3] 1532*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1533*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1534*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1535*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm2 1536*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1537*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1538*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1 1539*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 96(%rdi), %ymm1, %ymm3 1540*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 1541*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1542*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1543*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1544*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm2 1545*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1546*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1547*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1 1548*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 64(%rdi), %ymm1, %ymm2 1549*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3] 1550*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1551*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 1552*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 1553*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm1 1554*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 1555*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 1556*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0 1557*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 32(%rdi), %ymm0, %ymm1 1558*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm4, %ymm0 1559*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1560*9880d681SAndroid Build Coastguard Worker; 1561*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test24: 1562*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq (%rdi), %ymm1, %ymm4 1568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3] 1569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 96(%rdi), %ymm1, %ymm3 1574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 1575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 64(%rdi), %ymm1, %ymm2 1580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3] 1581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm0, %xmm0 1583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm0, %xmm0 1584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 1585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 32(%rdi), %ymm0, %ymm1 1586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovdqa %ymm4, %ymm0 1587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1588*9880d681SAndroid Build Coastguard Worker; 1589*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test24: 1590*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1591*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 1592*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 1593*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 1594*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu64 (%rdi), %zmm0 {%k1} {z} 1595*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k1, %k1 1596*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu64 64(%rdi), %zmm1 {%k1} {z} 1597*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1598*9880d681SAndroid Build Coastguard Worker; 1599*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test24: 1600*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1601*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 1602*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 1603*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 (%rdi), %zmm0 {%k1} {z} 1604*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $8, %k1, %k1 1605*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 64(%rdi), %zmm1 {%k1} {z} 1606*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1607*9880d681SAndroid Build Coastguard Worker %res = call <16 x %mystruct*> @llvm.masked.load.v16p0mystruct.p0v16p0mystruct(<16 x %mystruct*>* %addr, i32 4, <16 x i1>%mask, <16 x %mystruct*>zeroinitializer) 1608*9880d681SAndroid Build Coastguard Worker ret <16 x %mystruct*> %res 1609*9880d681SAndroid Build Coastguard Worker} 1610*9880d681SAndroid Build Coastguard Worker 1611*9880d681SAndroid Build Coastguard Workerdefine void @test_store_16i64(<16 x i64>* %ptrs, <16 x i1> %mask, <16 x i64> %src0) { 1612*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_store_16i64: 1613*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1614*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1615*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm5, %xmm5 1616*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm5, %xmm5 1617*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm6 1618*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1] 1619*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm5 1620*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm5 1621*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm1, %ymm5, (%rdi) 1622*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3] 1623*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1624*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1625*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1626*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm5 1627*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1628*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1629*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm5, %ymm1 1630*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm4, %ymm1, 96(%rdi) 1631*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 1632*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1633*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1634*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1635*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm4 1636*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1637*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1638*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm4, %ymm1 1639*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm3, %ymm1, 64(%rdi) 1640*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3] 1641*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1642*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 1643*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 1644*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm1 1645*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 1646*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 1647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0 1648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm2, %ymm0, 32(%rdi) 1649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 1650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1651*9880d681SAndroid Build Coastguard Worker; 1652*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_store_16i64: 1653*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1654*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1655*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm5, %xmm5 1656*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm5, %xmm5 1657*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm5, %ymm5 1658*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq %ymm1, %ymm5, (%rdi) 1659*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3] 1660*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1661*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1662*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1663*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1664*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq %ymm4, %ymm1, 96(%rdi) 1665*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 1666*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1667*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1668*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1669*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1670*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq %ymm3, %ymm1, 64(%rdi) 1671*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3] 1672*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1673*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm0, %xmm0 1674*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm0, %xmm0 1675*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 1676*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq %ymm2, %ymm0, 32(%rdi) 1677*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 1678*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1679*9880d681SAndroid Build Coastguard Worker; 1680*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_store_16i64: 1681*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 1683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 1684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 1685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu64 %zmm1, (%rdi) {%k1} 1686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k1, %k1 1687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu64 %zmm2, 64(%rdi) {%k1} 1688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1689*9880d681SAndroid Build Coastguard Worker; 1690*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_store_16i64: 1691*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1692*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 1693*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 1694*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 %zmm1, (%rdi) {%k1} 1695*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $8, %k1, %k1 1696*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 %zmm2, 64(%rdi) {%k1} 1697*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1698*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v16i64.p0v16i64(<16 x i64> %src0, <16 x i64>* %ptrs, i32 4, <16 x i1> %mask) 1699*9880d681SAndroid Build Coastguard Worker ret void 1700*9880d681SAndroid Build Coastguard Worker} 1701*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i64.p0v16i64(<16 x i64> %src0, <16 x i64>* %ptrs, i32, <16 x i1> %mask) 1702*9880d681SAndroid Build Coastguard Worker 1703*9880d681SAndroid Build Coastguard Workerdefine void @test_store_16f64(<16 x double>* %ptrs, <16 x i1> %mask, <16 x double> %src0) { 1704*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_store_16f64: 1705*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm5, %xmm5 1708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm5, %xmm5 1709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm6 1710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1] 1711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm5 1712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm5 1713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm1, %ymm5, (%rdi) 1714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3] 1715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm5 1719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm5, %ymm1 1722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm4, %ymm1, 96(%rdi) 1723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 1724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm4 1728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm4, %ymm1 1731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm3, %ymm1, 64(%rdi) 1732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3] 1733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 1735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 1736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm1 1737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 1738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 1739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0 1740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd %ymm2, %ymm0, 32(%rdi) 1741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 1742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1743*9880d681SAndroid Build Coastguard Worker; 1744*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_store_16f64: 1745*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1746*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1747*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm5, %xmm5 1748*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm5, %xmm5 1749*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm5, %ymm5 1750*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd %ymm1, %ymm5, (%rdi) 1751*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[3,1,2,3] 1752*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1753*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1754*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1755*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1756*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd %ymm4, %ymm1, 96(%rdi) 1757*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] 1758*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1759*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1760*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1761*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1762*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd %ymm3, %ymm1, 64(%rdi) 1763*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,2,3] 1764*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1765*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm0, %xmm0 1766*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm0, %xmm0 1767*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 1768*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd %ymm2, %ymm0, 32(%rdi) 1769*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 1770*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1771*9880d681SAndroid Build Coastguard Worker; 1772*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_store_16f64: 1773*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 1775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 1776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 1777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd %zmm1, (%rdi) {%k1} 1778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k1, %k1 1779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd %zmm2, 64(%rdi) {%k1} 1780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1781*9880d681SAndroid Build Coastguard Worker; 1782*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_store_16f64: 1783*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1784*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 1785*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 1786*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd %zmm1, (%rdi) {%k1} 1787*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $8, %k1, %k1 1788*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd %zmm2, 64(%rdi) {%k1} 1789*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1790*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v16f64.p0v16f64(<16 x double> %src0, <16 x double>* %ptrs, i32 4, <16 x i1> %mask) 1791*9880d681SAndroid Build Coastguard Worker ret void 1792*9880d681SAndroid Build Coastguard Worker} 1793*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16f64.p0v16f64(<16 x double> %src0, <16 x double>* %ptrs, i32, <16 x i1> %mask) 1794*9880d681SAndroid Build Coastguard Worker 1795*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @test_load_16i64(<16 x i64>* %ptrs, <16 x i1> %mask, <16 x i64> %src0) { 1796*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_load_16i64: 1797*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm5, %xmm5 1800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm5, %xmm5 1801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm6 1802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1] 1803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm5 1804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm5 1805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm5, %ymm6 1806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm5, %ymm6, %ymm1, %ymm5 1807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3] 1808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm6 1812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm6, %ymm1 1815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 32(%rdi), %ymm1, %ymm6 1816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm1, %ymm6, %ymm2, %ymm1 1817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1] 1818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 1819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm2, %xmm2 1820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm2, %xmm2 1821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm6 1822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1] 1823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm2 1824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm2 1825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 64(%rdi), %ymm2, %ymm6 1826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm2, %ymm6, %ymm3, %ymm2 1827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3] 1828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 1830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 1831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm3 1832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 1833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 1834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm0 1835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 96(%rdi), %ymm0, %ymm3 1836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm0, %ymm3, %ymm4, %ymm3 1837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm5, %ymm0 1838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1839*9880d681SAndroid Build Coastguard Worker; 1840*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_load_16i64: 1841*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm5, %xmm5 1844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm5, %xmm5 1845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm5, %ymm5 1846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq (%rdi), %ymm5, %ymm6 1847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm5, %ymm6, %ymm1, %ymm5 1848*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3] 1849*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1850*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1851*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1852*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1853*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 32(%rdi), %ymm1, %ymm6 1854*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm1, %ymm6, %ymm2, %ymm1 1855*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1] 1856*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 1857*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm2, %xmm2 1858*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm2, %xmm2 1859*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm2, %ymm2 1860*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 64(%rdi), %ymm2, %ymm6 1861*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm2, %ymm6, %ymm3, %ymm2 1862*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3] 1863*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1864*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm0, %xmm0 1865*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm0, %xmm0 1866*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 1867*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmaskmovq 96(%rdi), %ymm0, %ymm3 1868*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm0, %ymm3, %ymm4, %ymm3 1869*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm5, %ymm0 1870*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1871*9880d681SAndroid Build Coastguard Worker; 1872*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_load_16i64: 1873*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 1875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 1876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 1877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu64 (%rdi), %zmm1 {%k1} 1878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k1, %k1 1879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqu64 64(%rdi), %zmm2 {%k1} 1880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm1, %zmm0 1881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm2, %zmm1 1882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1883*9880d681SAndroid Build Coastguard Worker; 1884*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_load_16i64: 1885*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1886*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 1887*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 1888*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 (%rdi), %zmm1 {%k1} 1889*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $8, %k1, %k1 1890*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu64 64(%rdi), %zmm2 {%k1} 1891*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 1892*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm2, %zmm1 1893*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1894*9880d681SAndroid Build Coastguard Worker %res = call <16 x i64> @llvm.masked.load.v16i64.p0v16i64(<16 x i64>* %ptrs, i32 4, <16 x i1> %mask, <16 x i64> %src0) 1895*9880d681SAndroid Build Coastguard Worker ret <16 x i64> %res 1896*9880d681SAndroid Build Coastguard Worker} 1897*9880d681SAndroid Build Coastguard Workerdeclare <16 x i64> @llvm.masked.load.v16i64.p0v16i64(<16 x i64>* %ptrs, i32, <16 x i1> %mask, <16 x i64> %src0) 1898*9880d681SAndroid Build Coastguard Worker 1899*9880d681SAndroid Build Coastguard Workerdefine <16 x double> @test_load_16f64(<16 x double>* %ptrs, <16 x i1> %mask, <16 x double> %src0) { 1900*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_load_16f64: 1901*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 1902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm5, %xmm5 1904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm5, %xmm5 1905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm6 1906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm5 = xmm5[2,3,0,1] 1907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm5, %xmm5 1908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm5, %ymm6, %ymm5 1909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rdi), %ymm5, %ymm6 1910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm5, %ymm6, %ymm1, %ymm5 1911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3] 1912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 1914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 1915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm6 1916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 1917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 1918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm6, %ymm1 1919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 32(%rdi), %ymm1, %ymm6 1920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm1, %ymm6, %ymm2, %ymm1 1921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1] 1922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 1923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm2, %xmm2 1924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm2, %xmm2 1925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm6 1926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1] 1927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm2 1928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm6, %ymm2 1929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 64(%rdi), %ymm2, %ymm6 1930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm2, %ymm6, %ymm3, %ymm2 1931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3] 1932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 1934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 1935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm3 1936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 1937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 1938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm3, %ymm0 1939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 96(%rdi), %ymm0, %ymm3 1940*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm0, %ymm3, %ymm4, %ymm3 1941*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm5, %ymm0 1942*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 1943*9880d681SAndroid Build Coastguard Worker; 1944*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_load_16f64: 1945*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 1946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm5 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm5, %xmm5 1948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm5, %xmm5 1949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm5, %ymm5 1950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd (%rdi), %ymm5, %ymm6 1951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm5, %ymm6, %ymm1, %ymm5 1952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[1,1,2,3] 1953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero 1954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 1955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 1956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 1957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 32(%rdi), %ymm1, %ymm6 1958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm1, %ymm6, %ymm2, %ymm1 1959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1] 1960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 1961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm2, %xmm2 1962*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm2, %xmm2 1963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm2, %ymm2 1964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 64(%rdi), %ymm2, %ymm6 1965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm2, %ymm6, %ymm3, %ymm2 1966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[3,1,2,3] 1967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 1968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm0, %xmm0 1969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm0, %xmm0 1970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 1971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 96(%rdi), %ymm0, %ymm3 1972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm0, %ymm3, %ymm4, %ymm3 1973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm5, %ymm0 1974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 1975*9880d681SAndroid Build Coastguard Worker; 1976*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_load_16f64: 1977*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 1978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 1979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 1980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 1981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd (%rdi), %zmm1 {%k1} 1982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k1, %k1 1983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd 64(%rdi), %zmm2 {%k1} 1984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm1, %zmm0 1985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm2, %zmm1 1986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1987*9880d681SAndroid Build Coastguard Worker; 1988*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_load_16f64: 1989*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 1990*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 1991*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 1992*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd (%rdi), %zmm1 {%k1} 1993*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $8, %k1, %k1 1994*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd 64(%rdi), %zmm2 {%k1} 1995*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 1996*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm2, %zmm1 1997*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 1998*9880d681SAndroid Build Coastguard Worker %res = call <16 x double> @llvm.masked.load.v16f64.p0v16f64(<16 x double>* %ptrs, i32 4, <16 x i1> %mask, <16 x double> %src0) 1999*9880d681SAndroid Build Coastguard Worker ret <16 x double> %res 2000*9880d681SAndroid Build Coastguard Worker} 2001*9880d681SAndroid Build Coastguard Workerdeclare <16 x double> @llvm.masked.load.v16f64.p0v16f64(<16 x double>* %ptrs, i32, <16 x i1> %mask, <16 x double> %src0) 2002*9880d681SAndroid Build Coastguard Worker 2003*9880d681SAndroid Build Coastguard Workerdefine <32 x double> @test_load_32f64(<32 x double>* %ptrs, <32 x i1> %mask, <32 x double> %src0) { 2004*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_load_32f64: 2005*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 2006*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %rbp 2007*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp0: 2008*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 16 2009*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp1: 2010*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_offset %rbp, -16 2011*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movq %rsp, %rbp 2012*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp2: 2013*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_register %rbp 2014*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: andq $-32, %rsp 2015*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: subq $32, %rsp 2016*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd 16(%rbp), %ymm8 2017*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm9 = xmm0[1,1,2,3] 2018*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm9 = xmm9[0],zero,zero,zero,xmm9[1],zero,zero,zero,xmm9[2],zero,zero,zero,xmm9[3],zero,zero,zero 2019*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm9, %xmm9 2020*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm9, %xmm9 2021*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm9, %xmm10 2022*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm9 = xmm9[2,3,0,1] 2023*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm9, %xmm9 2024*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm9, %ymm10, %ymm9 2025*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 32(%rsi), %ymm9, %ymm10 2026*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm9, %ymm10, %ymm2, %ymm9 2027*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1] 2028*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 2029*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm2, %xmm2 2030*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm2, %xmm2 2031*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm10 2032*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1] 2033*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm2 2034*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm10, %ymm2 2035*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 64(%rsi), %ymm2, %ymm10 2036*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm2, %ymm10, %ymm3, %ymm11 2037*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[3,1,2,3] 2038*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 2039*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm2, %xmm2 2040*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm2, %xmm2 2041*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm10 2042*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1] 2043*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm2, %xmm2 2044*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm10, %ymm2 2045*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 96(%rsi), %ymm2, %ymm10 2046*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm2, %ymm10, %ymm4, %ymm4 2047*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 2048*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm2[1,1,2,3] 2049*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero 2050*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm3, %xmm3 2051*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm3, %xmm3 2052*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm10 2053*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1] 2054*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm3 2055*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm10, %ymm3 2056*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 160(%rsi), %ymm3, %ymm10 2057*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm3, %ymm10, %ymm6, %ymm6 2058*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm2[2,3,0,1] 2059*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero 2060*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm3, %xmm3 2061*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm3, %xmm3 2062*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm10 2063*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1] 2064*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm3 2065*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm10, %ymm3 2066*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 192(%rsi), %ymm3, %ymm10 2067*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm3, %ymm10, %ymm7, %ymm7 2068*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm2[3,1,2,3] 2069*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero 2070*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm3, %xmm3 2071*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm3, %xmm3 2072*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm10 2073*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm3 = xmm3[2,3,0,1] 2074*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm3, %xmm3 2075*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm10, %ymm3 2076*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 224(%rsi), %ymm3, %ymm10 2077*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm3, %ymm10, %ymm8, %ymm3 2078*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 2079*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm0, %xmm0 2080*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm0, %xmm0 2081*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm8 2082*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,0,1] 2083*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm0, %xmm0 2084*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm8, %ymm0 2085*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd (%rsi), %ymm0, %ymm8 2086*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm0, %ymm8, %ymm1, %ymm0 2087*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 2088*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpslld $31, %xmm1, %xmm1 2089*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsrad $31, %xmm1, %xmm1 2090*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm2 2091*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1] 2092*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovsxdq %xmm1, %xmm1 2093*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1 2094*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmaskmovpd 128(%rsi), %ymm1, %ymm2 2095*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendvpd %ymm1, %ymm2, %ymm5, %ymm1 2096*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm1, 128(%rdi) 2097*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm0, (%rdi) 2098*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm3, 224(%rdi) 2099*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm7, 192(%rdi) 2100*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm6, 160(%rdi) 2101*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm4, 96(%rdi) 2102*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm11, 64(%rdi) 2103*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovapd %ymm9, 32(%rdi) 2104*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movq %rdi, %rax 2105*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movq %rbp, %rsp 2106*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: popq %rbp 2107*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 2108*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 2109*9880d681SAndroid Build Coastguard Worker; 2110*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_load_32f64: 2111*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 2112*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %rbp 2113*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp0: 2114*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 16 2115*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp1: 2116*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_offset %rbp, -16 2117*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movq %rsp, %rbp 2118*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp2: 2119*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_register %rbp 2120*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: andq $-32, %rsp 2121*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: subq $32, %rsp 2122*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd 16(%rbp), %ymm8 2123*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm9 = xmm0[1,1,2,3] 2124*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm9 = xmm9[0],zero,zero,zero,xmm9[1],zero,zero,zero,xmm9[2],zero,zero,zero,xmm9[3],zero,zero,zero 2125*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm9, %xmm9 2126*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm9, %xmm9 2127*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm9, %ymm9 2128*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 32(%rsi), %ymm9, %ymm10 2129*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm9, %ymm10, %ymm2, %ymm9 2130*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[2,3,0,1] 2131*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 2132*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm2, %xmm2 2133*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm2, %xmm2 2134*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm2, %ymm2 2135*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 64(%rsi), %ymm2, %ymm10 2136*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm2, %ymm10, %ymm3, %ymm11 2137*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm2 = xmm0[3,1,2,3] 2138*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 2139*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm2, %xmm2 2140*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm2, %xmm2 2141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm2, %ymm2 2142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 96(%rsi), %ymm2, %ymm10 2143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm2, %ymm10, %ymm4, %ymm4 2144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 2145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm3 = xmm2[1,1,2,3] 2146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero 2147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm3, %xmm3 2148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm3, %xmm3 2149*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm3, %ymm3 2150*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 160(%rsi), %ymm3, %ymm10 2151*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm3, %ymm10, %ymm6, %ymm3 2152*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm6 = xmm2[2,3,0,1] 2153*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm6 = xmm6[0],zero,zero,zero,xmm6[1],zero,zero,zero,xmm6[2],zero,zero,zero,xmm6[3],zero,zero,zero 2154*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm6, %xmm6 2155*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm6, %xmm6 2156*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm6, %ymm6 2157*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 192(%rsi), %ymm6, %ymm10 2158*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm6, %ymm10, %ymm7, %ymm6 2159*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpshufd {{.*#+}} xmm7 = xmm2[3,1,2,3] 2160*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm7 = xmm7[0],zero,zero,zero,xmm7[1],zero,zero,zero,xmm7[2],zero,zero,zero,xmm7[3],zero,zero,zero 2161*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm7, %xmm7 2162*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm7, %xmm7 2163*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm7, %ymm7 2164*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 224(%rsi), %ymm7, %ymm10 2165*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm7, %ymm10, %ymm8, %ymm7 2166*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero 2167*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm0, %xmm0 2168*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm0, %xmm0 2169*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm0, %ymm0 2170*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd (%rsi), %ymm0, %ymm8 2171*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm0, %ymm8, %ymm1, %ymm0 2172*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero 2173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpslld $31, %xmm1, %xmm1 2174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsrad $31, %xmm1, %xmm1 2175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovsxdq %xmm1, %ymm1 2176*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmaskmovpd 128(%rsi), %ymm1, %ymm2 2177*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vblendvpd %ymm1, %ymm2, %ymm5, %ymm1 2178*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm1, 128(%rdi) 2179*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm0, (%rdi) 2180*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm7, 224(%rdi) 2181*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm6, 192(%rdi) 2182*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm3, 160(%rdi) 2183*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm4, 96(%rdi) 2184*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm11, 64(%rdi) 2185*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovapd %ymm9, 32(%rdi) 2186*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movq %rdi, %rax 2187*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movq %rbp, %rsp 2188*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: popq %rbp 2189*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 2190*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 2191*9880d681SAndroid Build Coastguard Worker; 2192*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_load_32f64: 2193*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 2194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextractf128 $1, %ymm0, %xmm5 2195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm5, %zmm5 2196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm5, %zmm5 2197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm5, %zmm5, %k1 2198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd 128(%rdi), %zmm3 {%k1} 2199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 2200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 2201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k2 2202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd (%rdi), %zmm1 {%k2} 2203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k1, %k1 2204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd 192(%rdi), %zmm4 {%k1} 2205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $8, %k2, %k1 2206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovupd 64(%rdi), %zmm2 {%k1} 2207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm1, %zmm0 2208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm2, %zmm1 2209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm3, %zmm2 2210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovaps %zmm4, %zmm3 2211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 2212*9880d681SAndroid Build Coastguard Worker; 2213*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_load_32f64: 2214*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 2215*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %ymm0, %ymm0 2216*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %ymm0, %k1 2217*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd (%rdi), %zmm1 {%k1} 2218*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrd $16, %k1, %k2 2219*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd 128(%rdi), %zmm3 {%k2} 2220*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $8, %k1, %k1 2221*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd 64(%rdi), %zmm2 {%k1} 2222*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: kshiftrw $8, %k2, %k1 2223*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovupd 192(%rdi), %zmm4 {%k1} 2224*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 2225*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm2, %zmm1 2226*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm3, %zmm2 2227*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm4, %zmm3 2228*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 2229*9880d681SAndroid Build Coastguard Worker %res = call <32 x double> @llvm.masked.load.v32f64.p0v32f64(<32 x double>* %ptrs, i32 4, <32 x i1> %mask, <32 x double> %src0) 2230*9880d681SAndroid Build Coastguard Worker ret <32 x double> %res 2231*9880d681SAndroid Build Coastguard Worker} 2232*9880d681SAndroid Build Coastguard Worker 2233*9880d681SAndroid Build Coastguard Workerdeclare <32 x double> @llvm.masked.load.v32f64.p0v32f64(<32 x double>* %ptrs, i32, <32 x i1> %mask, <32 x double> %src0) 2234*9880d681SAndroid Build Coastguard Worker 2235*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_mask_load_16xi8(<16 x i1> %mask, <16 x i8>* %addr, <16 x i8> %val) { 2236*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_load_16xi8: 2237*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 2238*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $0, %xmm0, %eax 2239*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## implicit-def: %XMM1 2240*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2241*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_2 2242*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#1: ## %cond.load 2243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movzbl (%rdi), %eax 2244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %eax, %xmm1 2245*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_2: ## %else 2246*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $1, %xmm0, %eax 2247*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2248*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_4 2249*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#3: ## %cond.load1 2250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $1, 1(%rdi), %xmm1, %xmm1 2251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_4: ## %else2 2252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $2, %xmm0, %eax 2253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2254*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_6 2255*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#5: ## %cond.load4 2256*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $2, 2(%rdi), %xmm1, %xmm1 2257*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_6: ## %else5 2258*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $3, %xmm0, %eax 2259*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2260*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_8 2261*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#7: ## %cond.load7 2262*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $3, 3(%rdi), %xmm1, %xmm1 2263*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_8: ## %else8 2264*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $4, %xmm0, %eax 2265*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2266*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_10 2267*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#9: ## %cond.load10 2268*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $4, 4(%rdi), %xmm1, %xmm1 2269*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_10: ## %else11 2270*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $5, %xmm0, %eax 2271*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2272*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_12 2273*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#11: ## %cond.load13 2274*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $5, 5(%rdi), %xmm1, %xmm1 2275*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_12: ## %else14 2276*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $6, %xmm0, %eax 2277*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2278*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_14 2279*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#13: ## %cond.load16 2280*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $6, 6(%rdi), %xmm1, %xmm1 2281*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_14: ## %else17 2282*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $7, %xmm0, %eax 2283*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2284*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_16 2285*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#15: ## %cond.load19 2286*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $7, 7(%rdi), %xmm1, %xmm1 2287*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_16: ## %else20 2288*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $8, %xmm0, %eax 2289*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2290*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_18 2291*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#17: ## %cond.load22 2292*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $8, 8(%rdi), %xmm1, %xmm1 2293*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_18: ## %else23 2294*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $9, %xmm0, %eax 2295*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2296*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_20 2297*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#19: ## %cond.load25 2298*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $9, 9(%rdi), %xmm1, %xmm1 2299*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_20: ## %else26 2300*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $10, %xmm0, %eax 2301*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2302*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_22 2303*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#21: ## %cond.load28 2304*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $10, 10(%rdi), %xmm1, %xmm1 2305*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_22: ## %else29 2306*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $11, %xmm0, %eax 2307*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2308*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_24 2309*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#23: ## %cond.load31 2310*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $11, 11(%rdi), %xmm1, %xmm1 2311*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_24: ## %else32 2312*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $12, %xmm0, %eax 2313*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2314*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_26 2315*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#25: ## %cond.load34 2316*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $12, 12(%rdi), %xmm1, %xmm1 2317*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_26: ## %else35 2318*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $13, %xmm0, %eax 2319*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2320*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_28 2321*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#27: ## %cond.load37 2322*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $13, 13(%rdi), %xmm1, %xmm1 2323*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_28: ## %else38 2324*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $14, %xmm0, %eax 2325*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2326*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_30 2327*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#29: ## %cond.load40 2328*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $14, 14(%rdi), %xmm1, %xmm1 2329*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_30: ## %else41 2330*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $15, %xmm0, %eax 2331*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 2332*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB50_32 2333*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#31: ## %cond.load43 2334*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrb $15, 15(%rdi), %xmm1, %xmm1 2335*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB50_32: ## %else44 2336*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpsllw $7, %xmm0, %xmm0 2337*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0 2338*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpblendvb %xmm0, %xmm1, %xmm0, %xmm0 2339*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 2340*9880d681SAndroid Build Coastguard Worker; 2341*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_16xi8: 2342*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 2343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 2344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 2345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 2346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k1, %k0 2347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## implicit-def: %XMM0 2350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2351*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_2 2352*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.load 2353*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movzbl (%rdi), %eax 2354*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %eax, %xmm0 2355*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_2: ## %else 2356*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k1, %k0 2357*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2358*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2359*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2360*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_4 2361*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.load1 2362*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, 1(%rdi), %xmm0, %xmm0 2363*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_4: ## %else2 2364*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k1, %k0 2365*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2366*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2367*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2368*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_6 2369*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.load4 2370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, 2(%rdi), %xmm0, %xmm0 2371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_6: ## %else5 2372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k1, %k0 2373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_8 2377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.load7 2378*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, 3(%rdi), %xmm0, %xmm0 2379*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_8: ## %else8 2380*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k1, %k0 2381*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2382*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2383*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2384*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_10 2385*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.load10 2386*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, 4(%rdi), %xmm0, %xmm0 2387*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_10: ## %else11 2388*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k1, %k0 2389*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2390*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2391*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2392*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_12 2393*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.load13 2394*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, 5(%rdi), %xmm0, %xmm0 2395*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_12: ## %else14 2396*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k1, %k0 2397*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2398*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2399*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2400*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_14 2401*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.load16 2402*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, 6(%rdi), %xmm0, %xmm0 2403*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_14: ## %else17 2404*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k1, %k0 2405*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2406*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2407*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2408*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_16 2409*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.load19 2410*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, 7(%rdi), %xmm0, %xmm0 2411*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_16: ## %else20 2412*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k1, %k0 2413*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2414*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2415*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2416*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_18 2417*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.load22 2418*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, 8(%rdi), %xmm0, %xmm0 2419*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_18: ## %else23 2420*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k1, %k0 2421*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2422*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2423*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2424*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_20 2425*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.load25 2426*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, 9(%rdi), %xmm0, %xmm0 2427*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_20: ## %else26 2428*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k1, %k0 2429*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2430*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2431*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2432*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_22 2433*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.load28 2434*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, 10(%rdi), %xmm0, %xmm0 2435*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_22: ## %else29 2436*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k1, %k0 2437*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2438*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2439*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2440*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_24 2441*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.load31 2442*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, 11(%rdi), %xmm0, %xmm0 2443*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_24: ## %else32 2444*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k1, %k0 2445*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2446*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2447*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2448*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_26 2449*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.load34 2450*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, 12(%rdi), %xmm0, %xmm0 2451*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_26: ## %else35 2452*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k1, %k0 2453*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2454*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2455*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2456*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_28 2457*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.load37 2458*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, 13(%rdi), %xmm0, %xmm0 2459*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_28: ## %else38 2460*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k1, %k0 2461*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2462*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2463*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2464*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_30 2465*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.load40 2466*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, 14(%rdi), %xmm0, %xmm0 2467*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_30: ## %else41 2468*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k1, %k0 2469*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 2470*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 2471*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 2472*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB50_32 2473*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.load43 2474*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, 15(%rdi), %xmm0, %xmm0 2475*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB50_32: ## %else44 2476*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 2477*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa32 %zmm1, %zmm1 {%k1} {z} 2478*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovdb %zmm1, %xmm1 2479*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendvb %xmm1, %xmm0, %xmm0, %xmm0 2480*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 2481*9880d681SAndroid Build Coastguard Worker; 2482*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_16xi8: 2483*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 2484*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 2485*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 2486*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu8 (%rdi), %xmm0 {%k1} {z} 2487*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 2488*9880d681SAndroid Build Coastguard Worker %res = call <16 x i8> @llvm.masked.load.v16i8.p0v16i8(<16 x i8>* %addr, i32 4, <16 x i1>%mask, <16 x i8> undef) 2489*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %res 2490*9880d681SAndroid Build Coastguard Worker} 2491*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.masked.load.v16i8.p0v16i8(<16 x i8>*, i32, <16 x i1>, <16 x i8>) 2492*9880d681SAndroid Build Coastguard Worker 2493*9880d681SAndroid Build Coastguard Workerdefine <32 x i8> @test_mask_load_32xi8(<32 x i1> %mask, <32 x i8>* %addr, <32 x i8> %val) { 2494*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_32xi8: 2495*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 2496*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 2497*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## implicit-def: %YMM1 2498*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2499*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_2 2500*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.load 2501*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl (%rdi), %eax 2502*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %eax, %xmm1 2503*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_2: ## %else 2504*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 2505*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2506*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_4 2507*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.load1 2508*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, 1(%rdi), %xmm1, %xmm2 2509*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2510*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_4: ## %else2 2511*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 2512*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2513*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_6 2514*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.load4 2515*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, 2(%rdi), %xmm1, %xmm2 2516*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2517*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_6: ## %else5 2518*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 2519*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2520*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_8 2521*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.load7 2522*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, 3(%rdi), %xmm1, %xmm2 2523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_8: ## %else8 2525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 2526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_10 2528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.load10 2529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, 4(%rdi), %xmm1, %xmm2 2530*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2531*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_10: ## %else11 2532*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 2533*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2534*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_12 2535*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.load13 2536*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, 5(%rdi), %xmm1, %xmm2 2537*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2538*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_12: ## %else14 2539*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 2540*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2541*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_14 2542*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.load16 2543*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, 6(%rdi), %xmm1, %xmm2 2544*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2545*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_14: ## %else17 2546*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 2547*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2548*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_16 2549*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.load19 2550*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, 7(%rdi), %xmm1, %xmm2 2551*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2552*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_16: ## %else20 2553*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 2554*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2555*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_18 2556*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.load22 2557*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, 8(%rdi), %xmm1, %xmm2 2558*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2559*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_18: ## %else23 2560*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 2561*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2562*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_20 2563*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.load25 2564*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, 9(%rdi), %xmm1, %xmm2 2565*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2566*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_20: ## %else26 2567*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 2568*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2569*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_22 2570*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.load28 2571*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, 10(%rdi), %xmm1, %xmm2 2572*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2573*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_22: ## %else29 2574*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 2575*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2576*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_24 2577*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.load31 2578*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, 11(%rdi), %xmm1, %xmm2 2579*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2580*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_24: ## %else32 2581*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 2582*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2583*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_26 2584*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.load34 2585*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, 12(%rdi), %xmm1, %xmm2 2586*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2587*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_26: ## %else35 2588*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 2589*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2590*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_28 2591*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.load37 2592*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, 13(%rdi), %xmm1, %xmm2 2593*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2594*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_28: ## %else38 2595*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 2596*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2597*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_30 2598*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.load40 2599*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, 14(%rdi), %xmm1, %xmm2 2600*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2601*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_30: ## %else41 2602*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 2603*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2604*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_32 2605*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.load43 2606*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, 15(%rdi), %xmm1, %xmm2 2607*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2608*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_32: ## %else44 2609*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 2610*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm2, %eax 2611*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_34 2613*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#33: ## %cond.load46 2614*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2615*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $0, 16(%rdi), %xmm3, %xmm3 2616*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2617*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_34: ## %else47 2618*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm2, %eax 2619*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2620*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_36 2621*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#35: ## %cond.load49 2622*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2623*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, 17(%rdi), %xmm3, %xmm3 2624*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2625*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_36: ## %else50 2626*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm2, %eax 2627*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2628*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_38 2629*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#37: ## %cond.load52 2630*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2631*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, 18(%rdi), %xmm3, %xmm3 2632*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2633*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_38: ## %else53 2634*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm2, %eax 2635*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2636*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_40 2637*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#39: ## %cond.load55 2638*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2639*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, 19(%rdi), %xmm3, %xmm3 2640*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2641*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_40: ## %else56 2642*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm2, %eax 2643*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2644*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_42 2645*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#41: ## %cond.load58 2646*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, 20(%rdi), %xmm3, %xmm3 2648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_42: ## %else59 2650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm2, %eax 2651*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2652*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_44 2653*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#43: ## %cond.load61 2654*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2655*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, 21(%rdi), %xmm3, %xmm3 2656*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2657*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_44: ## %else62 2658*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm2, %eax 2659*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2660*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_46 2661*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#45: ## %cond.load64 2662*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2663*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, 22(%rdi), %xmm3, %xmm3 2664*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2665*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_46: ## %else65 2666*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm2, %eax 2667*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2668*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_48 2669*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#47: ## %cond.load67 2670*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2671*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, 23(%rdi), %xmm3, %xmm3 2672*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2673*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_48: ## %else68 2674*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm2, %eax 2675*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2676*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_50 2677*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#49: ## %cond.load70 2678*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2679*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, 24(%rdi), %xmm3, %xmm3 2680*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2681*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_50: ## %else71 2682*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm2, %eax 2683*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2684*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_52 2685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#51: ## %cond.load73 2686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, 25(%rdi), %xmm3, %xmm3 2688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_52: ## %else74 2690*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm2, %eax 2691*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2692*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_54 2693*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#53: ## %cond.load76 2694*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2695*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, 26(%rdi), %xmm3, %xmm3 2696*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2697*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_54: ## %else77 2698*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm2, %eax 2699*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2700*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_56 2701*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#55: ## %cond.load79 2702*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2703*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, 27(%rdi), %xmm3, %xmm3 2704*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2705*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_56: ## %else80 2706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm2, %eax 2707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_58 2709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#57: ## %cond.load82 2710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, 28(%rdi), %xmm3, %xmm3 2712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_58: ## %else83 2714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm2, %eax 2715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_60 2717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#59: ## %cond.load85 2718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, 29(%rdi), %xmm3, %xmm3 2720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_60: ## %else86 2722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm2, %eax 2723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_62 2725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#61: ## %cond.load88 2726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, 30(%rdi), %xmm3, %xmm3 2728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_62: ## %else89 2730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm2, %eax 2731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 2732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB51_64 2733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#63: ## %cond.load91 2734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 2735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, 31(%rdi), %xmm3, %xmm3 2736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 2737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB51_64: ## %else92 2738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $7, %xmm2, %xmm2 2739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] 2740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpand %xmm3, %xmm2, %xmm2 2741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4 2742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpgtb %xmm2, %xmm4, %xmm2 2743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $7, %xmm0, %xmm0 2744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpand %xmm3, %xmm0, %xmm0 2745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpgtb %xmm0, %xmm4, %xmm0 2746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0 2747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandps %ymm1, %ymm0, %ymm0 2748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 2749*9880d681SAndroid Build Coastguard Worker; 2750*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_32xi8: 2751*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 2752*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 2753*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## implicit-def: %YMM1 2754*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2755*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_2 2756*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.load 2757*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl (%rdi), %eax 2758*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %eax, %xmm1 2759*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_2: ## %else 2760*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 2761*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2762*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_4 2763*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.load1 2764*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, 1(%rdi), %xmm1, %xmm2 2765*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2766*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_4: ## %else2 2767*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 2768*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2769*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_6 2770*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.load4 2771*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, 2(%rdi), %xmm1, %xmm2 2772*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2773*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_6: ## %else5 2774*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 2775*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2776*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_8 2777*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.load7 2778*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, 3(%rdi), %xmm1, %xmm2 2779*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2780*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_8: ## %else8 2781*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 2782*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2783*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_10 2784*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.load10 2785*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, 4(%rdi), %xmm1, %xmm2 2786*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2787*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_10: ## %else11 2788*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 2789*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2790*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_12 2791*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.load13 2792*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, 5(%rdi), %xmm1, %xmm2 2793*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2794*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_12: ## %else14 2795*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 2796*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2797*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_14 2798*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.load16 2799*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, 6(%rdi), %xmm1, %xmm2 2800*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2801*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_14: ## %else17 2802*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 2803*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2804*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_16 2805*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.load19 2806*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, 7(%rdi), %xmm1, %xmm2 2807*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2808*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_16: ## %else20 2809*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 2810*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2811*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_18 2812*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.load22 2813*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, 8(%rdi), %xmm1, %xmm2 2814*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2815*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_18: ## %else23 2816*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 2817*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2818*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_20 2819*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.load25 2820*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, 9(%rdi), %xmm1, %xmm2 2821*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2822*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_20: ## %else26 2823*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 2824*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2825*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_22 2826*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.load28 2827*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, 10(%rdi), %xmm1, %xmm2 2828*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2829*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_22: ## %else29 2830*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 2831*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2832*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_24 2833*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.load31 2834*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, 11(%rdi), %xmm1, %xmm2 2835*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2836*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_24: ## %else32 2837*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 2838*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2839*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_26 2840*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.load34 2841*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, 12(%rdi), %xmm1, %xmm2 2842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_26: ## %else35 2844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 2845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_28 2847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.load37 2848*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, 13(%rdi), %xmm1, %xmm2 2849*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2850*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_28: ## %else38 2851*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 2852*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2853*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_30 2854*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.load40 2855*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, 14(%rdi), %xmm1, %xmm2 2856*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2857*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_30: ## %else41 2858*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 2859*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2860*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_32 2861*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.load43 2862*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, 15(%rdi), %xmm1, %xmm2 2863*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 2864*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_32: ## %else44 2865*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 2866*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm2, %eax 2867*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2868*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_34 2869*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#33: ## %cond.load46 2870*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2871*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $0, 16(%rdi), %xmm3, %xmm3 2872*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2873*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_34: ## %else47 2874*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm2, %eax 2875*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2876*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_36 2877*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#35: ## %cond.load49 2878*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2879*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, 17(%rdi), %xmm3, %xmm3 2880*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2881*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_36: ## %else50 2882*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm2, %eax 2883*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2884*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_38 2885*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#37: ## %cond.load52 2886*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2887*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, 18(%rdi), %xmm3, %xmm3 2888*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2889*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_38: ## %else53 2890*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm2, %eax 2891*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2892*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_40 2893*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#39: ## %cond.load55 2894*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2895*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, 19(%rdi), %xmm3, %xmm3 2896*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2897*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_40: ## %else56 2898*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm2, %eax 2899*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2900*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_42 2901*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#41: ## %cond.load58 2902*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2903*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, 20(%rdi), %xmm3, %xmm3 2904*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2905*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_42: ## %else59 2906*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm2, %eax 2907*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2908*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_44 2909*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#43: ## %cond.load61 2910*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2911*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, 21(%rdi), %xmm3, %xmm3 2912*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2913*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_44: ## %else62 2914*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm2, %eax 2915*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2916*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_46 2917*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#45: ## %cond.load64 2918*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2919*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, 22(%rdi), %xmm3, %xmm3 2920*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2921*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_46: ## %else65 2922*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm2, %eax 2923*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2924*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_48 2925*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#47: ## %cond.load67 2926*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2927*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, 23(%rdi), %xmm3, %xmm3 2928*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2929*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_48: ## %else68 2930*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm2, %eax 2931*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2932*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_50 2933*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#49: ## %cond.load70 2934*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2935*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, 24(%rdi), %xmm3, %xmm3 2936*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2937*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_50: ## %else71 2938*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm2, %eax 2939*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2940*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_52 2941*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#51: ## %cond.load73 2942*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, 25(%rdi), %xmm3, %xmm3 2944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_52: ## %else74 2946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm2, %eax 2947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_54 2949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#53: ## %cond.load76 2950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, 26(%rdi), %xmm3, %xmm3 2952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_54: ## %else77 2954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm2, %eax 2955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_56 2957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#55: ## %cond.load79 2958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, 27(%rdi), %xmm3, %xmm3 2960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_56: ## %else80 2962*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm2, %eax 2963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_58 2965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#57: ## %cond.load82 2966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, 28(%rdi), %xmm3, %xmm3 2968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_58: ## %else83 2970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm2, %eax 2971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_60 2973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#59: ## %cond.load85 2974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2975*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, 29(%rdi), %xmm3, %xmm3 2976*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2977*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_60: ## %else86 2978*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm2, %eax 2979*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2980*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_62 2981*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#61: ## %cond.load88 2982*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 2983*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, 30(%rdi), %xmm3, %xmm3 2984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 2985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_62: ## %else89 2986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm2, %eax 2987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 2988*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB51_64 2989*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#63: ## %cond.load91 2990*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 2991*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, 31(%rdi), %xmm2, %xmm2 2992*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 2993*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB51_64: ## %else92 2994*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsllw $7, %ymm0, %ymm0 2995*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpand {{.*}}(%rip), %ymm0, %ymm0 2996*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpxor %ymm2, %ymm2, %ymm2 2997*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpcmpgtb %ymm0, %ymm2, %ymm0 2998*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0 2999*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 3000*9880d681SAndroid Build Coastguard Worker; 3001*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_32xi8: 3002*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 3003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, %eax 3004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## implicit-def: %YMM1 3005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_2 3007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.load 3008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movzbl (%rdi), %eax 3009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %eax, %xmm1 3010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_2: ## %else 3011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, %eax 3012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_4 3014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.load1 3015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, 1(%rdi), %xmm1, %xmm2 3016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_4: ## %else2 3018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, %eax 3019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_6 3021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.load4 3022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, 2(%rdi), %xmm1, %xmm2 3023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_6: ## %else5 3025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, %eax 3026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_8 3028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.load7 3029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, 3(%rdi), %xmm1, %xmm2 3030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_8: ## %else8 3032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, %eax 3033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_10 3035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.load10 3036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, 4(%rdi), %xmm1, %xmm2 3037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_10: ## %else11 3039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, %eax 3040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_12 3042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.load13 3043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, 5(%rdi), %xmm1, %xmm2 3044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_12: ## %else14 3046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, %eax 3047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_14 3049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.load16 3050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, 6(%rdi), %xmm1, %xmm2 3051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_14: ## %else17 3053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, %eax 3054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_16 3056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.load19 3057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, 7(%rdi), %xmm1, %xmm2 3058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_16: ## %else20 3060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, %eax 3061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_18 3063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.load22 3064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, 8(%rdi), %xmm1, %xmm2 3065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_18: ## %else23 3067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, %eax 3068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_20 3070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.load25 3071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, 9(%rdi), %xmm1, %xmm2 3072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_20: ## %else26 3074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, %eax 3075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_22 3077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.load28 3078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, 10(%rdi), %xmm1, %xmm2 3079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_22: ## %else29 3081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, %eax 3082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_24 3084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.load31 3085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, 11(%rdi), %xmm1, %xmm2 3086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_24: ## %else32 3088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, %eax 3089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_26 3091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.load34 3092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, 12(%rdi), %xmm1, %xmm2 3093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_26: ## %else35 3095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm0, %eax 3096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_28 3098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.load37 3099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, 13(%rdi), %xmm1, %xmm2 3100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_28: ## %else38 3102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm0, %eax 3103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_30 3105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.load40 3106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, 14(%rdi), %xmm1, %xmm2 3107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_30: ## %else41 3109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, %eax 3110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_32 3112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.load43 3113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, 15(%rdi), %xmm1, %xmm2 3114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 3115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_32: ## %else44 3116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm2 3117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm2, %eax 3118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_34 3120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#33: ## %cond.load46 3121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $0, 16(%rdi), %xmm3, %xmm3 3123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_34: ## %else47 3125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm2, %eax 3126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_36 3128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#35: ## %cond.load49 3129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, 17(%rdi), %xmm3, %xmm3 3131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_36: ## %else50 3133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm2, %eax 3134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_38 3136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#37: ## %cond.load52 3137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, 18(%rdi), %xmm3, %xmm3 3139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_38: ## %else53 3141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm2, %eax 3142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_40 3144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#39: ## %cond.load55 3145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, 19(%rdi), %xmm3, %xmm3 3147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_40: ## %else56 3149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm2, %eax 3150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_42 3152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#41: ## %cond.load58 3153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, 20(%rdi), %xmm3, %xmm3 3155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_42: ## %else59 3157*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm2, %eax 3158*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3159*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_44 3160*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#43: ## %cond.load61 3161*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3162*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, 21(%rdi), %xmm3, %xmm3 3163*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3164*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_44: ## %else62 3165*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm2, %eax 3166*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3167*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_46 3168*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#45: ## %cond.load64 3169*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3170*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, 22(%rdi), %xmm3, %xmm3 3171*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3172*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_46: ## %else65 3173*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm2, %eax 3174*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3175*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_48 3176*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#47: ## %cond.load67 3177*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3178*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, 23(%rdi), %xmm3, %xmm3 3179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_48: ## %else68 3181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm2, %eax 3182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_50 3184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#49: ## %cond.load70 3185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, 24(%rdi), %xmm3, %xmm3 3187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_50: ## %else71 3189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm2, %eax 3190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_52 3192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#51: ## %cond.load73 3193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, 25(%rdi), %xmm3, %xmm3 3195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_52: ## %else74 3197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm2, %eax 3198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_54 3200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#53: ## %cond.load76 3201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, 26(%rdi), %xmm3, %xmm3 3203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_54: ## %else77 3205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm2, %eax 3206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_56 3208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#55: ## %cond.load79 3209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, 27(%rdi), %xmm3, %xmm3 3211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_56: ## %else80 3213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm2, %eax 3214*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3215*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_58 3216*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#57: ## %cond.load82 3217*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3218*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, 28(%rdi), %xmm3, %xmm3 3219*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3220*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_58: ## %else83 3221*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm2, %eax 3222*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3223*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_60 3224*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#59: ## %cond.load85 3225*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3226*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, 29(%rdi), %xmm3, %xmm3 3227*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3228*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_60: ## %else86 3229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm2, %eax 3230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_62 3232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#61: ## %cond.load88 3233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 3234*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, 30(%rdi), %xmm3, %xmm3 3235*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1 3236*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_62: ## %else89 3237*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm2, %eax 3238*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 3239*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB51_64 3240*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#63: ## %cond.load91 3241*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 3242*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, 31(%rdi), %xmm2, %xmm2 3243*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 3244*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB51_64: ## %else92 3245*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0 3246*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand {{.*}}(%rip), %ymm0, %ymm0 3247*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm2, %ymm2, %ymm2 3248*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpgtb %ymm0, %ymm2, %ymm0 3249*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm1, %ymm0, %ymm0 3250*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 3251*9880d681SAndroid Build Coastguard Worker; 3252*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_32xi8: 3253*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 3254*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %ymm0, %ymm0 3255*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %ymm0, %k1 3256*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu8 (%rdi), %ymm0 {%k1} {z} 3257*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 3258*9880d681SAndroid Build Coastguard Worker %res = call <32 x i8> @llvm.masked.load.v32i8.p0v32i8(<32 x i8>* %addr, i32 4, <32 x i1>%mask, <32 x i8> zeroinitializer) 3259*9880d681SAndroid Build Coastguard Worker ret <32 x i8> %res 3260*9880d681SAndroid Build Coastguard Worker} 3261*9880d681SAndroid Build Coastguard Workerdeclare <32 x i8> @llvm.masked.load.v32i8.p0v32i8(<32 x i8>*, i32, <32 x i1>, <32 x i8>) 3262*9880d681SAndroid Build Coastguard Worker 3263*9880d681SAndroid Build Coastguard Workerdefine <64 x i8> @test_mask_load_64xi8(<64 x i1> %mask, <64 x i8>* %addr, <64 x i8> %val) { 3264*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_64xi8: 3265*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 3266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %rbp 3267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp3: 3268*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 16 3269*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %r15 3270*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp4: 3271*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 24 3272*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %r14 3273*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp5: 3274*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 32 3275*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %r13 3276*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp6: 3277*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 40 3278*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %r12 3279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp7: 3280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 48 3281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %rbx 3282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp8: 3283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 56 3284*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: pushq %rax 3285*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp9: 3286*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_def_cfa_offset 64 3287*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp10: 3288*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_offset %rbx, -56 3289*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp11: 3290*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_offset %r12, -48 3291*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp12: 3292*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_offset %r13, -40 3293*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp13: 3294*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_offset %r14, -32 3295*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp14: 3296*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_offset %r15, -24 3297*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: Ltmp15: 3298*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: .cfi_offset %rbp, -16 3299*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movq {{[0-9]+}}(%rsp), %rax 3300*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %edi, %r13d 3301*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dil 3302*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_2 3303*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.load 3304*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl (%rax), %ebp 3305*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %ebp, %xmm9 3306*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_2: ## %else 3307*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %sil 3308*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_4 3309*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.load1 3310*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, 1(%rax), %xmm9, %xmm3 3311*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_4: ## %else2 3313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 3314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_6 3315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.load4 3316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, 2(%rax), %xmm9, %xmm3 3317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_6: ## %else5 3319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 3320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_8 3321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.load7 3322*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, 3(%rax), %xmm9, %xmm3 3323*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3324*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_8: ## %else8 3325*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r8b 3326*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_10 3327*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.load10 3328*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, 4(%rax), %xmm9, %xmm3 3329*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3330*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_10: ## %else11 3331*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %r10b 3332*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r9b 3333*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_12 3334*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.load13 3335*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, 5(%rax), %xmm9, %xmm3 3336*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3337*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_12: ## %else14 3338*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %r11b 3339*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r10b 3340*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_14 3341*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.load16 3342*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, 6(%rax), %xmm9, %xmm3 3343*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3344*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_14: ## %else17 3345*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %r14b 3346*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r11b 3347*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_16 3348*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.load19 3349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, 7(%rax), %xmm9, %xmm3 3350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_16: ## %else20 3352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %r15b 3353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r14b 3354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_18 3355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.load22 3356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, 8(%rax), %xmm9, %xmm3 3357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3358*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_18: ## %else23 3359*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %r12b 3360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r15b 3361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_20 3362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.load25 3363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, 9(%rax), %xmm9, %xmm3 3364*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_20: ## %else26 3366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dil 3367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r12b 3368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_22 3369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.load28 3370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, 10(%rax), %xmm9, %xmm3 3371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_22: ## %else29 3373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %bpl 3374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dil 3375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_24 3376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.load31 3377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, 11(%rax), %xmm9, %xmm3 3378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_24: ## %else32 3380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %bl 3381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %bpl 3382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_26 3383*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.load34 3384*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, 12(%rax), %xmm9, %xmm3 3385*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3386*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_26: ## %else35 3387*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %bl 3388*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_28 3389*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.load37 3390*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, 13(%rax), %xmm9, %xmm3 3391*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_28: ## %else38 3393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_30 3395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.load40 3396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, 14(%rax), %xmm9, %xmm3 3397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_30: ## %else41 3399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3400*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_32 3401*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.load43 3402*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, 15(%rax), %xmm9, %xmm3 3403*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm9 = ymm3[0,1,2,3],ymm9[4,5,6,7] 3404*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_32: ## %else44 3405*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3406*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_34 3407*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#33: ## %cond.load46 3408*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3409*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $0, 16(%rax), %xmm3, %xmm3 3410*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3411*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_34: ## %else47 3412*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3413*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_36 3414*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#35: ## %cond.load49 3415*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3416*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, 17(%rax), %xmm3, %xmm3 3417*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3418*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_36: ## %else50 3419*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3420*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_38 3421*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#37: ## %cond.load52 3422*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3423*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, 18(%rax), %xmm3, %xmm3 3424*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3425*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_38: ## %else53 3426*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3427*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_40 3428*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#39: ## %cond.load55 3429*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3430*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, 19(%rax), %xmm3, %xmm3 3431*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3432*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_40: ## %else56 3433*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3434*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_42 3435*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#41: ## %cond.load58 3436*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3437*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, 20(%rax), %xmm3, %xmm3 3438*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3439*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_42: ## %else59 3440*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3441*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_44 3442*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#43: ## %cond.load61 3443*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3444*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, 21(%rax), %xmm3, %xmm3 3445*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3446*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_44: ## %else62 3447*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3448*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_46 3449*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#45: ## %cond.load64 3450*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3451*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, 22(%rax), %xmm3, %xmm3 3452*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3453*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_46: ## %else65 3454*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3455*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_48 3456*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#47: ## %cond.load67 3457*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3458*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, 23(%rax), %xmm3, %xmm3 3459*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3460*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_48: ## %else68 3461*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3462*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_50 3463*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#49: ## %cond.load70 3464*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3465*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, 24(%rax), %xmm3, %xmm3 3466*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3467*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_50: ## %else71 3468*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3469*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_52 3470*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#51: ## %cond.load73 3471*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3472*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, 25(%rax), %xmm3, %xmm3 3473*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3474*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_52: ## %else74 3475*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3476*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_54 3477*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#53: ## %cond.load76 3478*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3479*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, 26(%rax), %xmm3, %xmm3 3480*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3481*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_54: ## %else77 3482*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3483*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_56 3484*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#55: ## %cond.load79 3485*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3486*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, 27(%rax), %xmm3, %xmm3 3487*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3488*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_56: ## %else80 3489*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3490*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_58 3491*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#57: ## %cond.load82 3492*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3493*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, 28(%rax), %xmm3, %xmm3 3494*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3495*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_58: ## %else83 3496*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3497*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_60 3498*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#59: ## %cond.load85 3499*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3500*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, 29(%rax), %xmm3, %xmm3 3501*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3502*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_60: ## %else86 3503*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3504*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_62 3505*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#61: ## %cond.load88 3506*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3507*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, 30(%rax), %xmm3, %xmm3 3508*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3509*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_62: ## %else89 3510*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3511*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_64 3512*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#63: ## %cond.load91 3513*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm9, %xmm3 3514*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, 31(%rax), %xmm3, %xmm3 3515*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm9, %ymm9 3516*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_64: ## %else92 3517*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3518*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_66 3519*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#65: ## %cond.load94 3520*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $0, 32(%rax), %xmm0, %xmm3 3521*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7] 3522*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_66: ## %else95 3523*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3524*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_68 3525*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#67: ## %cond.load97 3526*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, 33(%rax), %xmm3, %xmm4 3527*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3528*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_68: ## %else98 3529*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3530*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_70 3531*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#69: ## %cond.load100 3532*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, 34(%rax), %xmm3, %xmm4 3533*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3534*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_70: ## %else101 3535*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3536*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_72 3537*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#71: ## %cond.load103 3538*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, 35(%rax), %xmm3, %xmm4 3539*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3540*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_72: ## %else104 3541*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3542*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_74 3543*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#73: ## %cond.load106 3544*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, 36(%rax), %xmm3, %xmm4 3545*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3546*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_74: ## %else107 3547*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3548*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_76 3549*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#75: ## %cond.load109 3550*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, 37(%rax), %xmm3, %xmm4 3551*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3552*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_76: ## %else110 3553*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3554*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_78 3555*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#77: ## %cond.load112 3556*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, 38(%rax), %xmm3, %xmm4 3557*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3558*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_78: ## %else113 3559*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3560*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_80 3561*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#79: ## %cond.load115 3562*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, 39(%rax), %xmm3, %xmm4 3563*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3564*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_80: ## %else116 3565*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3566*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_82 3567*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#81: ## %cond.load118 3568*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, 40(%rax), %xmm3, %xmm4 3569*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3570*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_82: ## %else119 3571*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3572*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_84 3573*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#83: ## %cond.load121 3574*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, 41(%rax), %xmm3, %xmm4 3575*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3576*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_84: ## %else122 3577*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3578*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_86 3579*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#85: ## %cond.load124 3580*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, 42(%rax), %xmm3, %xmm4 3581*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3582*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_86: ## %else125 3583*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3584*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_88 3585*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#87: ## %cond.load127 3586*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, 43(%rax), %xmm3, %xmm4 3587*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3588*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_88: ## %else128 3589*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3590*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_90 3591*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#89: ## %cond.load130 3592*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, 44(%rax), %xmm3, %xmm4 3593*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3594*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_90: ## %else131 3595*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3596*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_92 3597*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#91: ## %cond.load133 3598*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, 45(%rax), %xmm3, %xmm4 3599*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3600*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_92: ## %else134 3601*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3602*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_94 3603*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#93: ## %cond.load136 3604*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, 46(%rax), %xmm3, %xmm4 3605*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3606*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_94: ## %else137 3607*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3608*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_96 3609*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#95: ## %cond.load139 3610*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, 47(%rax), %xmm3, %xmm4 3611*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 3612*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_96: ## %else140 3613*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3614*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_98 3615*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#97: ## %cond.load142 3616*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3617*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $0, 48(%rax), %xmm4, %xmm4 3618*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3619*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_98: ## %else143 3620*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3621*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_100 3622*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#99: ## %cond.load145 3623*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3624*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, 49(%rax), %xmm4, %xmm4 3625*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3626*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_100: ## %else146 3627*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3628*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_102 3629*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#101: ## %cond.load148 3630*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3631*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, 50(%rax), %xmm4, %xmm4 3632*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3633*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_102: ## %else149 3634*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3635*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_104 3636*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#103: ## %cond.load151 3637*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3638*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, 51(%rax), %xmm4, %xmm4 3639*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3640*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_104: ## %else152 3641*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3642*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_106 3643*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#105: ## %cond.load154 3644*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3645*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, 52(%rax), %xmm4, %xmm4 3646*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3647*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_106: ## %else155 3648*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3649*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_108 3650*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#107: ## %cond.load157 3651*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3652*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, 53(%rax), %xmm4, %xmm4 3653*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3654*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_108: ## %else158 3655*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3656*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_110 3657*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#109: ## %cond.load160 3658*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3659*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, 54(%rax), %xmm4, %xmm4 3660*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3661*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_110: ## %else161 3662*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3663*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_112 3664*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#111: ## %cond.load163 3665*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3666*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, 55(%rax), %xmm4, %xmm4 3667*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3668*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_112: ## %else164 3669*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3670*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_114 3671*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#113: ## %cond.load166 3672*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3673*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, 56(%rax), %xmm4, %xmm4 3674*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3675*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_114: ## %else167 3676*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3677*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_116 3678*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#115: ## %cond.load169 3679*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3680*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, 57(%rax), %xmm4, %xmm4 3681*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3682*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_116: ## %else170 3683*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3684*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_118 3685*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#117: ## %cond.load172 3686*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3687*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, 58(%rax), %xmm4, %xmm4 3688*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3689*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_118: ## %else173 3690*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3691*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_120 3692*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#119: ## %cond.load175 3693*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3694*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, 59(%rax), %xmm4, %xmm4 3695*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3696*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_120: ## %else176 3697*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3698*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_122 3699*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#121: ## %cond.load178 3700*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3701*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, 60(%rax), %xmm4, %xmm4 3702*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3703*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_122: ## %else179 3704*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3705*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_124 3706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#123: ## %cond.load181 3707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, 61(%rax), %xmm4, %xmm4 3709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_124: ## %else182 3711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_126 3713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#125: ## %cond.load184 3714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, 62(%rax), %xmm4, %xmm4 3716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_126: ## %else185 3718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, {{[0-9]+}}(%rsp) 3719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %r9d, {{[0-9]+}}(%rsp) ## 4-byte Spill 3720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %r8d, (%rsp) ## 4-byte Spill 3721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %edx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %esi, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB52_128 3725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#127: ## %cond.load187 3726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 3727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, 63(%rax), %xmm4, %xmm4 3728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 3729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB52_128: ## %else188 3730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %r10b, %eax 3731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %r11b, %eax 3733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %r14b, %eax 3735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %r15b, %eax 3737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %r12b, %eax 3739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %dil, %eax 3741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %bpl, %eax 3743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %bl, %eax 3745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3751*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3752*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3753*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3754*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3755*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3756*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3757*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3758*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3759*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3760*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3761*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3762*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3763*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3764*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3765*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3766*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3767*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3768*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3769*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3770*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3771*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3772*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3773*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3774*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3775*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r12d 3787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r15d 3788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r14d 3789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r11d 3790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r8d 3791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %edx 3792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 3794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %esi 3795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r9d 3796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r10d 3797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %ebx 3798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %r13b, %r13d 3799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %r13d, %xmm4 3800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl -{{[0-9]+}}(%rsp), %edi ## 4-byte Reload 3801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %dil, %ebp 3802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, %ebp, %xmm4, %xmm4 3803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 3804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %bpl, %ebp 3805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, %ebp, %xmm4, %xmm4 3806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 3807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %bpl, %ebp 3808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, %ebp, %xmm4, %xmm4 3809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl (%rsp), %ebp ## 4-byte Reload 3810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %bpl, %ebp 3811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, %ebp, %xmm4, %xmm4 3812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movl {{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 3813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl %bpl, %ebp 3814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, %ebp, %xmm4, %xmm4 3815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 3825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd -{{[0-9]+}}(%rsp), %xmm5 ## 4-byte Folded Reload 3826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## xmm5 = mem[0],zero,zero,zero 3827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 3841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm5, %xmm8 ## 4-byte Folded Reload 3842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd -{{[0-9]+}}(%rsp), %xmm6 ## 4-byte Folded Reload 3843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## xmm6 = mem[0],zero,zero,zero 3844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 3845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, %r12d, %xmm6, %xmm6 3846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, %r15d, %xmm6, %xmm6 3847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, %r14d, %xmm6, %xmm6 3848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, %r11d, %xmm6, %xmm6 3849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, %r8d, %xmm6, %xmm6 3850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, %edx, %xmm6, %xmm6 3851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, %eax, %xmm6, %xmm6 3852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r13d 3853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r14d 3854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, %ecx, %xmm6, %xmm6 3855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r11d 3856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %edi 3857*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, %esi, %xmm6, %xmm6 3858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r15d 3859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r12d 3860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, %r9d, %xmm6, %xmm6 3861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r8d 3862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 3863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, %r10d, %xmm6, %xmm6 3864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r9d 3865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %esi 3866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, %ebx, %xmm6, %xmm6 3867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r10d 3868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 3869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, %r13d, %xmm6, %xmm6 3870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r13d 3871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %edx 3872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, %r14d, %xmm6, %xmm10 3873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %r14d 3874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %ebx 3875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %edi, %xmm7 3876*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %edi 3877*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzbl {{[0-9]+}}(%rsp), %ebp 3878*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $1, %r11d, %xmm7, %xmm7 3879*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $2, %r15d, %xmm7, %xmm7 3880*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $3, %r12d, %xmm7, %xmm7 3881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $4, %r8d, %xmm7, %xmm7 3882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $5, %ecx, %xmm7, %xmm7 3883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $6, %r9d, %xmm7, %xmm7 3884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $7, %esi, %xmm7, %xmm7 3885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $8, %r10d, %xmm7, %xmm7 3886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $9, %eax, %xmm7, %xmm7 3887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $10, %r13d, %xmm7, %xmm7 3888*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $11, %edx, %xmm7, %xmm7 3889*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $12, %r14d, %xmm7, %xmm7 3890*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $13, %ebx, %xmm7, %xmm7 3891*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $14, %edi, %xmm7, %xmm7 3892*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrb $15, %ebp, %xmm7, %xmm7 3893*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $7, %xmm4, %xmm4 3894*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] 3895*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpand %xmm5, %xmm4, %xmm4 3896*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 3897*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpgtb %xmm4, %xmm2, %xmm4 3898*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $7, %xmm8, %xmm6 3899*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpand %xmm5, %xmm6, %xmm6 3900*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpgtb %xmm6, %xmm2, %xmm6 3901*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm4, %ymm4 3902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandnps %ymm0, %ymm4, %ymm0 3903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandps %ymm4, %ymm9, %ymm4 3904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vorps %ymm0, %ymm4, %ymm0 3905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $7, %xmm10, %xmm4 3906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpand %xmm5, %xmm4, %xmm4 3907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpgtb %xmm4, %xmm2, %xmm4 3908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $7, %xmm7, %xmm6 3909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpand %xmm5, %xmm6, %xmm5 3910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpcmpgtb %xmm5, %xmm2, %xmm2 3911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm4, %ymm2 3912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandnps %ymm1, %ymm2, %ymm1 3913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandps %ymm2, %ymm3, %ymm2 3914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vorps %ymm1, %ymm2, %ymm1 3915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: addq $8, %rsp 3916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: popq %rbx 3917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: popq %r12 3918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: popq %r13 3919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: popq %r14 3920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: popq %r15 3921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: popq %rbp 3922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 3923*9880d681SAndroid Build Coastguard Worker; 3924*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_64xi8: 3925*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 3926*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %rbp 3927*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp3: 3928*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 16 3929*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %r15 3930*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp4: 3931*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 24 3932*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %r14 3933*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp5: 3934*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 32 3935*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %r13 3936*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp6: 3937*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 40 3938*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %r12 3939*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp7: 3940*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 48 3941*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %rbx 3942*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp8: 3943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 56 3944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: pushq %rax 3945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp9: 3946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_def_cfa_offset 64 3947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp10: 3948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_offset %rbx, -56 3949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp11: 3950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_offset %r12, -48 3951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp12: 3952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_offset %r13, -40 3953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp13: 3954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_offset %r14, -32 3955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp14: 3956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_offset %r15, -24 3957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: Ltmp15: 3958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: .cfi_offset %rbp, -16 3959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax 3960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %edi, -{{[0-9]+}}(%rsp) ## 4-byte Spill 3961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dil 3962*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_2 3963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.load 3964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl (%rax), %ebp 3965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %ebp, %xmm2 3966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_2: ## %else 3967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %sil 3968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_4 3969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.load1 3970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, 1(%rax), %xmm2, %xmm3 3971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 3972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_4: ## %else2 3973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 3974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_6 3975*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.load4 3976*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, 2(%rax), %xmm2, %xmm3 3977*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 3978*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_6: ## %else5 3979*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 3980*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_8 3981*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.load7 3982*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, 3(%rax), %xmm2, %xmm3 3983*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 3984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_8: ## %else8 3985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r8b 3986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_10 3987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.load10 3988*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, 4(%rax), %xmm2, %xmm3 3989*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 3990*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_10: ## %else11 3991*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %r10b 3992*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r9b 3993*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_12 3994*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.load13 3995*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, 5(%rax), %xmm2, %xmm3 3996*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 3997*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_12: ## %else14 3998*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %r11b 3999*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r10b 4000*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_14 4001*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.load16 4002*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, 6(%rax), %xmm2, %xmm3 4003*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4004*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_14: ## %else17 4005*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r11b 4006*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_16 4007*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.load19 4008*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, 7(%rax), %xmm2, %xmm3 4009*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4010*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_16: ## %else20 4011*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4012*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_18 4013*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.load22 4014*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, 8(%rax), %xmm2, %xmm3 4015*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4016*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_18: ## %else23 4017*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4018*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_20 4019*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.load25 4020*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, 9(%rax), %xmm2, %xmm3 4021*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4022*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_20: ## %else26 4023*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4024*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_22 4025*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.load28 4026*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, 10(%rax), %xmm2, %xmm3 4027*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4028*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_22: ## %else29 4029*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %bpl 4030*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4031*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_24 4032*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.load31 4033*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, 11(%rax), %xmm2, %xmm3 4034*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4035*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_24: ## %else32 4036*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %bl 4037*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %bpl 4038*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_26 4039*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.load34 4040*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, 12(%rax), %xmm2, %xmm3 4041*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4042*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_26: ## %else35 4043*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %r14b 4044*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %bl 4045*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_28 4046*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.load37 4047*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, 13(%rax), %xmm2, %xmm3 4048*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4049*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_28: ## %else38 4050*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r14b 4051*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_30 4052*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.load40 4053*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, 14(%rax), %xmm2, %xmm3 4054*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4055*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_30: ## %else41 4056*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %r13b 4057*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4058*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_32 4059*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.load43 4060*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, 15(%rax), %xmm2, %xmm3 4061*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7] 4062*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_32: ## %else44 4063*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %r12b 4064*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r13b 4065*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_34 4066*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#33: ## %cond.load46 4067*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4068*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $0, 16(%rax), %xmm3, %xmm3 4069*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4070*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_34: ## %else47 4071*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %r15b 4072*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r12b 4073*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_36 4074*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#35: ## %cond.load49 4075*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4076*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, 17(%rax), %xmm3, %xmm3 4077*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4078*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_36: ## %else50 4079*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r15b 4080*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_38 4081*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#37: ## %cond.load52 4082*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4083*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, 18(%rax), %xmm3, %xmm3 4084*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4085*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_38: ## %else53 4086*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4087*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_40 4088*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#39: ## %cond.load55 4089*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4090*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, 19(%rax), %xmm3, %xmm3 4091*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4092*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_40: ## %else56 4093*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4094*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_42 4095*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#41: ## %cond.load58 4096*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4097*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, 20(%rax), %xmm3, %xmm3 4098*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4099*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_42: ## %else59 4100*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4101*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_44 4102*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#43: ## %cond.load61 4103*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4104*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, 21(%rax), %xmm3, %xmm3 4105*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4106*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_44: ## %else62 4107*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4108*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_46 4109*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#45: ## %cond.load64 4110*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4111*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, 22(%rax), %xmm3, %xmm3 4112*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4113*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_46: ## %else65 4114*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4115*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_48 4116*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#47: ## %cond.load67 4117*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4118*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, 23(%rax), %xmm3, %xmm3 4119*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4120*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_48: ## %else68 4121*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4122*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_50 4123*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#49: ## %cond.load70 4124*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4125*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, 24(%rax), %xmm3, %xmm3 4126*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4127*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_50: ## %else71 4128*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4129*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_52 4130*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#51: ## %cond.load73 4131*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4132*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, 25(%rax), %xmm3, %xmm3 4133*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4134*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_52: ## %else74 4135*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4136*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_54 4137*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#53: ## %cond.load76 4138*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4139*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, 26(%rax), %xmm3, %xmm3 4140*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_54: ## %else77 4142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_56 4144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#55: ## %cond.load79 4145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, 27(%rax), %xmm3, %xmm3 4147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_56: ## %else80 4149*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4150*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_58 4151*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#57: ## %cond.load82 4152*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4153*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, 28(%rax), %xmm3, %xmm3 4154*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4155*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_58: ## %else83 4156*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4157*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_60 4158*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#59: ## %cond.load85 4159*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4160*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, 29(%rax), %xmm3, %xmm3 4161*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4162*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_60: ## %else86 4163*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4164*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_62 4165*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#61: ## %cond.load88 4166*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4167*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, 30(%rax), %xmm3, %xmm3 4168*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4169*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_62: ## %else89 4170*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4171*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_64 4172*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#63: ## %cond.load91 4173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3 4174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, 31(%rax), %xmm3, %xmm3 4175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 4176*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_64: ## %else92 4177*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4178*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_66 4179*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#65: ## %cond.load94 4180*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $0, 32(%rax), %xmm0, %xmm3 4181*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm0[4,5,6,7] 4182*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_66: ## %else95 4183*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4184*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_68 4185*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#67: ## %cond.load97 4186*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, 33(%rax), %xmm3, %xmm4 4187*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4188*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_68: ## %else98 4189*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4190*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_70 4191*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#69: ## %cond.load100 4192*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, 34(%rax), %xmm3, %xmm4 4193*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4194*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_70: ## %else101 4195*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4196*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_72 4197*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#71: ## %cond.load103 4198*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, 35(%rax), %xmm3, %xmm4 4199*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4200*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_72: ## %else104 4201*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4202*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_74 4203*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#73: ## %cond.load106 4204*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, 36(%rax), %xmm3, %xmm4 4205*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4206*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_74: ## %else107 4207*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4208*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_76 4209*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#75: ## %cond.load109 4210*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, 37(%rax), %xmm3, %xmm4 4211*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4212*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_76: ## %else110 4213*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4214*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_78 4215*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#77: ## %cond.load112 4216*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, 38(%rax), %xmm3, %xmm4 4217*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4218*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_78: ## %else113 4219*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4220*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_80 4221*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#79: ## %cond.load115 4222*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, 39(%rax), %xmm3, %xmm4 4223*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4224*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_80: ## %else116 4225*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4226*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_82 4227*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#81: ## %cond.load118 4228*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, 40(%rax), %xmm3, %xmm4 4229*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4230*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_82: ## %else119 4231*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4232*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_84 4233*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#83: ## %cond.load121 4234*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, 41(%rax), %xmm3, %xmm4 4235*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4236*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_84: ## %else122 4237*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4238*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_86 4239*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#85: ## %cond.load124 4240*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, 42(%rax), %xmm3, %xmm4 4241*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4242*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_86: ## %else125 4243*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4244*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_88 4245*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#87: ## %cond.load127 4246*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, 43(%rax), %xmm3, %xmm4 4247*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4248*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_88: ## %else128 4249*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4250*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_90 4251*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#89: ## %cond.load130 4252*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, 44(%rax), %xmm3, %xmm4 4253*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4254*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_90: ## %else131 4255*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4256*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_92 4257*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#91: ## %cond.load133 4258*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, 45(%rax), %xmm3, %xmm4 4259*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4260*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_92: ## %else134 4261*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4262*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_94 4263*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#93: ## %cond.load136 4264*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, 46(%rax), %xmm3, %xmm4 4265*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4266*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_94: ## %else137 4267*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4268*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_96 4269*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#95: ## %cond.load139 4270*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, 47(%rax), %xmm3, %xmm4 4271*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 4272*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_96: ## %else140 4273*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4274*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_98 4275*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#97: ## %cond.load142 4276*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4277*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $0, 48(%rax), %xmm4, %xmm4 4278*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4279*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_98: ## %else143 4280*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4281*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_100 4282*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#99: ## %cond.load145 4283*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4284*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, 49(%rax), %xmm4, %xmm4 4285*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4286*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_100: ## %else146 4287*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4288*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_102 4289*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#101: ## %cond.load148 4290*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4291*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, 50(%rax), %xmm4, %xmm4 4292*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4293*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_102: ## %else149 4294*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4295*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_104 4296*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#103: ## %cond.load151 4297*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4298*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, 51(%rax), %xmm4, %xmm4 4299*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4300*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_104: ## %else152 4301*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4302*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_106 4303*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#105: ## %cond.load154 4304*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4305*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, 52(%rax), %xmm4, %xmm4 4306*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4307*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_106: ## %else155 4308*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4309*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_108 4310*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#107: ## %cond.load157 4311*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4312*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, 53(%rax), %xmm4, %xmm4 4313*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4314*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_108: ## %else158 4315*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4316*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_110 4317*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#109: ## %cond.load160 4318*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4319*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, 54(%rax), %xmm4, %xmm4 4320*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4321*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_110: ## %else161 4322*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4323*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_112 4324*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#111: ## %cond.load163 4325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, 55(%rax), %xmm4, %xmm4 4327*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4328*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_112: ## %else164 4329*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4330*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_114 4331*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#113: ## %cond.load166 4332*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4333*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, 56(%rax), %xmm4, %xmm4 4334*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4335*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_114: ## %else167 4336*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4337*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_116 4338*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#115: ## %cond.load169 4339*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4340*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, 57(%rax), %xmm4, %xmm4 4341*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4342*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_116: ## %else170 4343*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4344*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_118 4345*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#117: ## %cond.load172 4346*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4347*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, 58(%rax), %xmm4, %xmm4 4348*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4349*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_118: ## %else173 4350*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4351*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_120 4352*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#119: ## %cond.load175 4353*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4354*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, 59(%rax), %xmm4, %xmm4 4355*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4356*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_120: ## %else176 4357*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4358*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_122 4359*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#121: ## %cond.load178 4360*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4361*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, 60(%rax), %xmm4, %xmm4 4362*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4363*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_122: ## %else179 4364*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4365*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_124 4366*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#123: ## %cond.load181 4367*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4368*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, 61(%rax), %xmm4, %xmm4 4369*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4370*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_124: ## %else182 4371*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4372*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: jne LBB52_126 4373*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#125: 4374*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movq %rax, %rdi 4375*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: jmp LBB52_127 4376*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_126: ## %cond.load184 4377*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4378*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movq %rax, %rdi 4379*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, 62(%rax), %xmm4, %xmm4 4380*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4381*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_127: ## %else185 4382*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ebp, %eax 4383*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, {{[0-9]+}}(%rsp) 4384*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %r9d, {{[0-9]+}}(%rsp) ## 4-byte Spill 4385*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %r8d, (%rsp) ## 4-byte Spill 4386*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4387*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %edx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4388*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %esi, %ebp 4389*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB52_129 4390*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#128: ## %cond.load187 4391*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 4392*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, 63(%rdi), %xmm4, %xmm4 4393*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 4394*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB52_129: ## %else188 4395*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %r10b, %ecx 4396*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4397*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %r11b, %ecx 4398*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4399*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 4400*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4401*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 4402*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 4404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 4406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %ecx, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %al, %eax 4408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %bl, %eax 4410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %r14b, %eax 4412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %r12b, %eax 4416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %r13b, %eax 4418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %r15b, %eax 4420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r12d 4450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r15d 4451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r14d 4452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ebx 4453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r11d 4454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r9d 4455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %esi 4456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 4458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %edx 4459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r8d 4460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r10d 4461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %edi 4462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl %edi, -{{[0-9]+}}(%rsp) ## 4-byte Spill 4463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl -{{[0-9]+}}(%rsp), %edi ## 4-byte Reload 4464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %dil, %r13d 4465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %r13d, %xmm4 4466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %bpl, %ebp 4467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, %ebp, %xmm4, %xmm4 4468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 4469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %bpl, %ebp 4470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, %ebp, %xmm4, %xmm4 4471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 4472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %bpl, %ebp 4473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, %ebp, %xmm4, %xmm4 4474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl (%rsp), %ebp ## 4-byte Reload 4475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %bpl, %ebp 4476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, %ebp, %xmm4, %xmm4 4477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movl {{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 4478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl %bpl, %ebp 4479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, %ebp, %xmm4, %xmm4 4480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm4, %xmm4 ## 4-byte Folded Reload 4490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd -{{[0-9]+}}(%rsp), %xmm5 ## 4-byte Folded Reload 4491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## xmm5 = mem[0],zero,zero,zero 4492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm5, %xmm5 ## 4-byte Folded Reload 4507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %r12d, %xmm6 4508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 4509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, %r15d, %xmm6, %xmm6 4510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, %r14d, %xmm6, %xmm6 4511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, %ebx, %xmm6, %xmm6 4512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, %r11d, %xmm6, %xmm6 4513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, %r9d, %xmm6, %xmm6 4514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, %esi, %xmm6, %xmm6 4515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, %eax, %xmm6, %xmm6 4516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r15d 4518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, %ecx, %xmm6, %xmm6 4519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r9d 4520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r12d 4521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, %edx, %xmm6, %xmm6 4522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r11d 4523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r14d 4524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, %r8d, %xmm6, %xmm6 4525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r13d 4526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ecx 4527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, %r10d, %xmm6, %xmm6 4528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r8d 4529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ebx 4530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 4531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r10d 4532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %ebp 4533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, %eax, %xmm6, %xmm6 4534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %eax 4535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %edi 4536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, %r15d, %xmm6, %xmm6 4537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r15d 4538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %esi 4539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %r12d, %xmm7 4540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %r12d 4541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzbl {{[0-9]+}}(%rsp), %edx 4542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $1, %r9d, %xmm7, %xmm7 4543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $2, %r11d, %xmm7, %xmm7 4544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $3, %r14d, %xmm7, %xmm7 4545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $4, %r13d, %xmm7, %xmm7 4546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $5, %ecx, %xmm7, %xmm7 4547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $6, %r8d, %xmm7, %xmm7 4548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $7, %ebx, %xmm7, %xmm7 4549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $8, %r10d, %xmm7, %xmm7 4550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $9, %ebp, %xmm7, %xmm7 4551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $10, %eax, %xmm7, %xmm7 4552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $11, %edi, %xmm7, %xmm7 4553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $12, %r15d, %xmm7, %xmm7 4554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $13, %esi, %xmm7, %xmm7 4555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $14, %r12d, %xmm7, %xmm7 4556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrb $15, %edx, %xmm7, %xmm7 4557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm5, %ymm4, %ymm4 4558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsllw $7, %ymm4, %ymm4 4559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovdqa {{.*#+}} ymm5 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] 4560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpand %ymm5, %ymm4, %ymm4 4561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendvb %ymm4, %ymm2, %ymm0, %ymm0 4562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm7, %ymm6, %ymm2 4563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsllw $7, %ymm2, %ymm2 4564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpand %ymm5, %ymm2, %ymm2 4565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendvb %ymm2, %ymm3, %ymm1, %ymm1 4566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: addq $8, %rsp 4567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: popq %rbx 4568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: popq %r12 4569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: popq %r13 4570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: popq %r14 4571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: popq %r15 4572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: popq %rbp 4573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 4574*9880d681SAndroid Build Coastguard Worker; 4575*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_64xi8: 4576*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 4577*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: pushq %rbp 4578*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp0: 4579*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_def_cfa_offset 16 4580*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: pushq %r15 4581*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp1: 4582*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_def_cfa_offset 24 4583*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: pushq %r14 4584*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp2: 4585*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_def_cfa_offset 32 4586*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: pushq %r13 4587*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp3: 4588*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_def_cfa_offset 40 4589*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: pushq %r12 4590*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp4: 4591*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_def_cfa_offset 48 4592*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: pushq %rbx 4593*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp5: 4594*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_def_cfa_offset 56 4595*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: subq $76, %rsp 4596*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp6: 4597*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_def_cfa_offset 132 4598*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp7: 4599*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_offset %rbx, -56 4600*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp8: 4601*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_offset %r12, -48 4602*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp9: 4603*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_offset %r13, -40 4604*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp10: 4605*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_offset %r14, -32 4606*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp11: 4607*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_offset %r15, -24 4608*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: Ltmp12: 4609*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: .cfi_offset %rbp, -16 4610*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 4611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 4612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 4613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k0, %k1 4614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_2 4619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.load 4620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movzbl (%rdi), %eax 4621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %eax, %xmm0 4622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_2: ## %else 4623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k0, %k1 4624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_4 4629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.load1 4630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, 1(%rdi), %xmm0, %xmm6 4631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_4: ## %else2 4633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k0, %k1 4634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_6 4639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.load4 4640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, 2(%rdi), %xmm0, %xmm6 4641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_6: ## %else5 4643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k0, %k1 4644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_8 4649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.load7 4650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, 3(%rdi), %xmm0, %xmm6 4651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_8: ## %else8 4653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k0, %k1 4654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_10 4659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.load10 4660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, 4(%rdi), %xmm0, %xmm6 4661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_10: ## %else11 4663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k0, %k1 4664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_12 4669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.load13 4670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, 5(%rdi), %xmm0, %xmm6 4671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_12: ## %else14 4673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k0, %k1 4674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_14 4679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.load16 4680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, 6(%rdi), %xmm0, %xmm6 4681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_14: ## %else17 4683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k1 4684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_16 4689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.load19 4690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, 7(%rdi), %xmm0, %xmm6 4691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_16: ## %else20 4693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k0, %k1 4694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_18 4699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.load22 4700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, 8(%rdi), %xmm0, %xmm6 4701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_18: ## %else23 4703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k0, %k1 4704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, (%rsp) ## 2-byte Folded Spill 4706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_20 4709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.load25 4710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, 9(%rdi), %xmm0, %xmm6 4711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_20: ## %else26 4713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k0, %k1 4714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_22 4719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.load28 4720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, 10(%rdi), %xmm0, %xmm6 4721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_22: ## %else29 4723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k0, %k1 4724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_24 4729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.load31 4730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, 11(%rdi), %xmm0, %xmm6 4731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_24: ## %else32 4733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k0, %k1 4734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_26 4739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.load34 4740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, 12(%rdi), %xmm0, %xmm6 4741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_26: ## %else35 4743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm1, %zmm1 4744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k0, %k1 4745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_28 4750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.load37 4751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, 13(%rdi), %xmm0, %xmm6 4752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_28: ## %else38 4754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm1, %zmm1 4755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k0, %k1 4756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_30 4761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.load40 4762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, 14(%rdi), %xmm0, %xmm6 4763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7] 4764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_30: ## %else41 4765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm1, %zmm1, %k1 4766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k0, %k0 4767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_32 4772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.load43 4773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, 15(%rdi), %xmm0, %xmm1 4774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 4775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_32: ## %else44 4776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k1, %k0 4777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_34 4782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#33: ## %cond.load46 4783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $0, 16(%rdi), %xmm1, %xmm1 4785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_34: ## %else47 4787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k1, %k0 4788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_36 4793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#35: ## %cond.load49 4794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, 17(%rdi), %xmm1, %xmm1 4796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_36: ## %else50 4798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k1, %k0 4799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_38 4804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#37: ## %cond.load52 4805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, 18(%rdi), %xmm1, %xmm1 4807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_38: ## %else53 4809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k1, %k0 4810*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4811*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4812*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4813*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4814*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_40 4815*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#39: ## %cond.load55 4816*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4817*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, 19(%rdi), %xmm1, %xmm1 4818*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4819*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_40: ## %else56 4820*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k1, %k0 4821*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4822*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4823*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4824*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4825*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_42 4826*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#41: ## %cond.load58 4827*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4828*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, 20(%rdi), %xmm1, %xmm1 4829*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4830*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_42: ## %else59 4831*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k1, %k0 4832*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4833*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4834*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4835*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4836*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_44 4837*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#43: ## %cond.load61 4838*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4839*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, 21(%rdi), %xmm1, %xmm1 4840*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4841*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_44: ## %else62 4842*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k1, %k0 4843*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4844*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4845*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4846*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4847*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_46 4848*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#45: ## %cond.load64 4849*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4850*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, 22(%rdi), %xmm1, %xmm1 4851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_46: ## %else65 4853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k1, %k0 4854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_48 4859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#47: ## %cond.load67 4860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4861*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, 23(%rdi), %xmm1, %xmm1 4862*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4863*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_48: ## %else68 4864*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k1, %k0 4865*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4866*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4867*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4868*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4869*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_50 4870*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#49: ## %cond.load70 4871*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4872*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, 24(%rdi), %xmm1, %xmm1 4873*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_50: ## %else71 4875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k1, %k0 4876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_52 4881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#51: ## %cond.load73 4882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4883*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, 25(%rdi), %xmm1, %xmm1 4884*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4885*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_52: ## %else74 4886*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k1, %k0 4887*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4888*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4889*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4890*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4891*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_54 4892*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#53: ## %cond.load76 4893*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4894*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, 26(%rdi), %xmm1, %xmm1 4895*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4896*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_54: ## %else77 4897*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k1, %k0 4898*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4899*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4900*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_56 4903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#55: ## %cond.load79 4904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, 27(%rdi), %xmm1, %xmm1 4906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_56: ## %else80 4908*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k1, %k0 4909*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4910*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4911*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4912*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4913*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_58 4914*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#57: ## %cond.load82 4915*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4916*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, 28(%rdi), %xmm1, %xmm1 4917*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4918*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_58: ## %else83 4919*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm2, %zmm1 4920*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k1, %k0 4921*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4922*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4923*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4924*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4925*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_60 4926*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#59: ## %cond.load85 4927*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm2 4928*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, 29(%rdi), %xmm2, %xmm2 4929*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 4930*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_60: ## %else86 4931*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm1, %zmm1 4932*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k1, %k0 4933*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 4934*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4935*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 4936*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4937*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_62 4938*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#61: ## %cond.load88 4939*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm2 4940*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, 30(%rdi), %xmm2, %xmm2 4941*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 4942*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_62: ## %else89 4943*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm1, %zmm1, %k0 4944*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k1, %k1 4945*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4946*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4947*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4948*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4949*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_64 4950*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#63: ## %cond.load91 4951*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 4952*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, 31(%rdi), %xmm1, %xmm1 4953*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 4954*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_64: ## %else92 4955*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k0, %k1 4956*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4957*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4958*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4959*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4960*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_66 4961*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#65: ## %cond.load94 4962*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $0, 32(%rdi), %xmm0, %xmm1 4963*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm0[4,5,6,7] 4964*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_66: ## %else95 4965*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k0, %k1 4966*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4967*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4968*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4969*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4970*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_68 4971*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#67: ## %cond.load97 4972*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, 33(%rdi), %xmm1, %xmm2 4973*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 4974*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_68: ## %else98 4975*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k0, %k1 4976*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4977*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_70 4981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#69: ## %cond.load100 4982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, 34(%rdi), %xmm1, %xmm2 4983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 4984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_70: ## %else101 4985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k0, %k1 4986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4987*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4988*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4989*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 4990*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_72 4991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#71: ## %cond.load103 4992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, 35(%rdi), %xmm1, %xmm2 4993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 4994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_72: ## %else104 4995*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k0, %k1 4996*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 4997*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 4998*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 4999*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5000*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_74 5001*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#73: ## %cond.load106 5002*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, 36(%rdi), %xmm1, %xmm2 5003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_74: ## %else107 5005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k0, %k1 5006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_76 5011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#75: ## %cond.load109 5012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, 37(%rdi), %xmm1, %xmm2 5013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_76: ## %else110 5015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k0, %k1 5016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_78 5021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#77: ## %cond.load112 5022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, 38(%rdi), %xmm1, %xmm2 5023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_78: ## %else113 5025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k1 5026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_80 5031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#79: ## %cond.load115 5032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, 39(%rdi), %xmm1, %xmm2 5033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_80: ## %else116 5035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k0, %k1 5036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_82 5041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#81: ## %cond.load118 5042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, 40(%rdi), %xmm1, %xmm2 5043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_82: ## %else119 5045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k0, %k1 5046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_84 5051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#83: ## %cond.load121 5052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, 41(%rdi), %xmm1, %xmm2 5053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_84: ## %else122 5055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k0, %k1 5056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_86 5061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#85: ## %cond.load124 5062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, 42(%rdi), %xmm1, %xmm2 5063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_86: ## %else125 5065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k0, %k1 5066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_88 5071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#87: ## %cond.load127 5072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, 43(%rdi), %xmm1, %xmm2 5073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_88: ## %else128 5075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k0, %k1 5076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_90 5081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#89: ## %cond.load130 5082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, 44(%rdi), %xmm1, %xmm2 5083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_90: ## %else131 5085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm3, %zmm2 5086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k0, %k1 5087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_92 5092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#91: ## %cond.load133 5093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, 45(%rdi), %xmm1, %xmm3 5094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7] 5095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_92: ## %else134 5096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm2, %zmm2 5097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k0, %k1 5098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_94 5103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#93: ## %cond.load136 5104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, 46(%rdi), %xmm1, %xmm3 5105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7] 5106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_94: ## %else137 5107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm2, %zmm2, %k1 5108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k0, %k0 5109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, {{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_96 5114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#95: ## %cond.load139 5115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, 47(%rdi), %xmm1, %xmm2 5116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_96: ## %else140 5118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k1, %k0 5119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_98 5124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#97: ## %cond.load142 5125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $0, 48(%rdi), %xmm2, %xmm2 5127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_98: ## %else143 5129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k1, %k0 5130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_100 5135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#99: ## %cond.load145 5136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, 49(%rdi), %xmm2, %xmm2 5138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_100: ## %else146 5140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k1, %k0 5141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_102 5146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#101: ## %cond.load148 5147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, 50(%rdi), %xmm2, %xmm2 5149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_102: ## %else149 5151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k1, %k0 5152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_104 5157*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#103: ## %cond.load151 5158*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5159*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, 51(%rdi), %xmm2, %xmm2 5160*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5161*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_104: ## %else152 5162*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k1, %k0 5163*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5164*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5165*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5166*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5167*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_106 5168*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#105: ## %cond.load154 5169*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5170*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, 52(%rdi), %xmm2, %xmm2 5171*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5172*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_106: ## %else155 5173*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k1, %k0 5174*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5175*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5176*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5177*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5178*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_108 5179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#107: ## %cond.load157 5180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, 53(%rdi), %xmm2, %xmm2 5182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_108: ## %else158 5184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k1, %k0 5185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_110 5190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#109: ## %cond.load160 5191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, 54(%rdi), %xmm2, %xmm2 5193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_110: ## %else161 5195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k1, %k0 5196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_112 5201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#111: ## %cond.load163 5202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, 55(%rdi), %xmm2, %xmm2 5204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_112: ## %else164 5206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k1, %k0 5207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, -{{[0-9]+}}(%rsp) ## 2-byte Folded Spill 5209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_114 5212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#113: ## %cond.load166 5213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5214*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, 56(%rdi), %xmm2, %xmm2 5215*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5216*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_114: ## %else167 5217*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k1, %k2 5218*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k2, %k2 5219*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k2, %eax 5220*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5221*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_116 5222*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#115: ## %cond.load169 5223*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5224*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, 57(%rdi), %xmm2, %xmm2 5225*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5226*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_116: ## %else170 5227*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k1, %k3 5228*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k3, %k3 5229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k3, %eax 5230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_118 5232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#117: ## %cond.load172 5233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5234*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, 58(%rdi), %xmm2, %xmm2 5235*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5236*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_118: ## %else173 5237*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k1, %k4 5238*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k4, %k4 5239*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k4, %eax 5240*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5241*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_120 5242*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#119: ## %cond.load175 5243*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5244*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, 59(%rdi), %xmm2, %xmm2 5245*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5246*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_120: ## %else176 5247*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k1, %k5 5248*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k5, %k5 5249*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k5, %eax 5250*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5251*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_122 5252*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#121: ## %cond.load178 5253*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5254*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, 60(%rdi), %xmm2, %xmm2 5255*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5256*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_122: ## %else179 5257*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k1, %k6 5258*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k6, %k6 5259*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k6, %eax 5260*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5261*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_124 5262*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#123: ## %cond.load181 5263*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5264*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, 61(%rdi), %xmm2, %xmm2 5265*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5266*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_124: ## %else182 5267*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k1, %k7 5268*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k7, %k7 5269*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k7, %eax 5270*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5271*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_126 5272*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#125: ## %cond.load184 5273*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5274*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, 62(%rdi), %xmm2, %xmm2 5275*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5276*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_126: ## %else185 5277*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k1, %k1 5278*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 5279*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 5280*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5281*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB52_128 5282*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#127: ## %cond.load187 5283*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 5284*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, 63(%rdi), %xmm2, %xmm2 5285*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5286*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB52_128: ## %else188 5287*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5288*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5289*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5290*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5294*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5300*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5301*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5302*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5303*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5304*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5305*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5306*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5307*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5308*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5309*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5310*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5311*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5312*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5313*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5314*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5315*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5316*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5317*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5318*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5319*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5320*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5321*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5322*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5323*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5324*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5325*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5326*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5327*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5328*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5329*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5334*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5335*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5336*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5337*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5338*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5339*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5340*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5341*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5342*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5351*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5352*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5353*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5354*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5355*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5356*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5357*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5358*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5359*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5360*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5361*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5362*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw (%rsp), %k0 ## 2-byte Folded Reload 5363*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5364*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, (%rsp) ## 4-byte Spill 5365*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5366*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5367*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5368*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5369*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5378*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5379*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5380*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5381*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5382*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5383*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5384*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5385*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5386*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5387*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5388*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5389*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5390*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5391*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5392*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5393*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5394*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5395*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5396*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5397*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5398*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5399*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5400*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5401*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5402*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5403*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5404*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5405*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5406*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5407*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5408*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5409*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5410*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k2, %eax 5411*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, {{[0-9]+}}(%rsp) ## 4-byte Spill 5412*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k3, %r12d 5413*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k4, %r15d 5414*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k5, %r14d 5415*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k6, %ebx 5416*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k7, %r11d 5417*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %r10d 5418*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw -{{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5419*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5420*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl %eax, -{{[0-9]+}}(%rsp) ## 4-byte Spill 5421*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5422*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r8d 5423*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5424*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r9d 5425*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5426*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %edi 5427*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5428*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %esi 5429*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5430*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %edx 5431*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5432*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %ecx 5433*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5434*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5435*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl -{{[0-9]+}}(%rsp), %r13d ## 4-byte Reload 5436*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %r13d, %xmm2 5437*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5438*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5439*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5440*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5441*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5442*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5443*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5444*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5445*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5446*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5447*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5448*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5449*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5450*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5451*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm2, %xmm2 ## 4-byte Folded Reload 5452*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl {{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 5453*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %ebp, %xmm3 5454*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5455*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5456*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5457*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5458*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5459*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5460*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5461*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, {{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5462*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, (%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5463*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5464*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5465*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5466*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5467*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5468*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, -{{[0-9]+}}(%rsp), %xmm3, %xmm3 ## 4-byte Folded Reload 5469*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movl -{{[0-9]+}}(%rsp), %ebp ## 4-byte Reload 5470*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %ebp, %xmm6 5471*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5472*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5473*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5474*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5475*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5476*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5477*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5478*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, -{{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5479*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, {{[0-9]+}}(%rsp), %xmm6, %xmm6 ## 4-byte Folded Reload 5480*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5481*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r13d 5482*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, %r12d, %xmm6, %xmm6 5483*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5484*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r12d 5485*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, %r15d, %xmm6, %xmm6 5486*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5487*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r15d 5488*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, %r14d, %xmm6, %xmm6 5489*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5490*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r14d 5491*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, %ebx, %xmm6, %xmm6 5492*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5493*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %ebx 5494*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, %r11d, %xmm6, %xmm6 5495*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5496*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r11d 5497*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, %r10d, %xmm6, %xmm6 5498*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5499*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r10d 5500*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %r8d, %xmm7 5501*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw {{[0-9]+}}(%rsp), %k0 ## 2-byte Folded Reload 5502*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %r8d 5503*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm3, %ymm2 5504*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllw $7, %ymm2, %ymm2 5505*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm3 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] 5506*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm3, %ymm2, %ymm2 5507*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendvb %ymm2, %ymm0, %ymm4, %ymm0 5508*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $1, -{{[0-9]+}}(%rsp), %xmm7, %xmm2 ## 4-byte Folded Reload 5509*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $2, %r9d, %xmm2, %xmm2 5510*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $3, %edi, %xmm2, %xmm2 5511*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $4, %esi, %xmm2, %xmm2 5512*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $5, %edx, %xmm2, %xmm2 5513*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $6, %ecx, %xmm2, %xmm2 5514*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $7, %eax, %xmm2, %xmm2 5515*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $8, %r13d, %xmm2, %xmm2 5516*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $9, %r12d, %xmm2, %xmm2 5517*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $10, %r15d, %xmm2, %xmm2 5518*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $11, %r14d, %xmm2, %xmm2 5519*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $12, %ebx, %xmm2, %xmm2 5520*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $13, %r11d, %xmm2, %xmm2 5521*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $14, %r10d, %xmm2, %xmm2 5522*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrb $15, %r8d, %xmm2, %xmm2 5523*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm2, %ymm2 5524*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllw $7, %ymm2, %ymm2 5525*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm3, %ymm2, %ymm2 5526*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendvb %ymm2, %ymm1, %ymm5, %ymm1 5527*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: addq $76, %rsp 5528*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: popq %rbx 5529*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: popq %r12 5530*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: popq %r13 5531*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: popq %r14 5532*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: popq %r15 5533*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: popq %rbp 5534*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 5535*9880d681SAndroid Build Coastguard Worker; 5536*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_64xi8: 5537*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 5538*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %zmm0, %zmm0 5539*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %zmm0, %k1 5540*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu8 (%rdi), %zmm1 {%k1} 5541*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 5542*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 5543*9880d681SAndroid Build Coastguard Worker %res = call <64 x i8> @llvm.masked.load.v64i8.p0v64i8(<64 x i8>* %addr, i32 4, <64 x i1>%mask, <64 x i8> %val) 5544*9880d681SAndroid Build Coastguard Worker ret <64 x i8> %res 5545*9880d681SAndroid Build Coastguard Worker} 5546*9880d681SAndroid Build Coastguard Workerdeclare <64 x i8> @llvm.masked.load.v64i8.p0v64i8(<64 x i8>*, i32, <64 x i1>, <64 x i8>) 5547*9880d681SAndroid Build Coastguard Worker 5548*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_mask_load_8xi16(<8 x i1> %mask, <8 x i16>* %addr, <8 x i16> %val) { 5549*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_load_8xi16: 5550*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 5551*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $0, %xmm0, %eax 5552*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## implicit-def: %XMM1 5553*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5554*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_2 5555*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#1: ## %cond.load 5556*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movzwl (%rdi), %eax 5557*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %eax, %xmm1 5558*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_2: ## %else 5559*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $2, %xmm0, %eax 5560*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5561*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_4 5562*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#3: ## %cond.load1 5563*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrw $1, 2(%rdi), %xmm1, %xmm1 5564*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_4: ## %else2 5565*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $4, %xmm0, %eax 5566*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5567*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_6 5568*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#5: ## %cond.load4 5569*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrw $2, 4(%rdi), %xmm1, %xmm1 5570*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_6: ## %else5 5571*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $6, %xmm0, %eax 5572*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5573*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_8 5574*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#7: ## %cond.load7 5575*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrw $3, 6(%rdi), %xmm1, %xmm1 5576*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_8: ## %else8 5577*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $8, %xmm0, %eax 5578*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5579*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_10 5580*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#9: ## %cond.load10 5581*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrw $4, 8(%rdi), %xmm1, %xmm1 5582*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_10: ## %else11 5583*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $10, %xmm0, %eax 5584*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5585*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_12 5586*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#11: ## %cond.load13 5587*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrw $5, 10(%rdi), %xmm1, %xmm1 5588*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_12: ## %else14 5589*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $12, %xmm0, %eax 5590*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5591*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_14 5592*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#13: ## %cond.load16 5593*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrw $6, 12(%rdi), %xmm1, %xmm1 5594*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_14: ## %else17 5595*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $14, %xmm0, %eax 5596*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 5597*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB53_16 5598*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#15: ## %cond.load19 5599*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrw $7, 14(%rdi), %xmm1, %xmm1 5600*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB53_16: ## %else20 5601*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpsllw $15, %xmm0, %xmm0 5602*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpsraw $15, %xmm0, %xmm0 5603*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2 5604*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpxor %xmm2, %xmm0, %xmm2 5605*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpand %xmm0, %xmm1, %xmm0 5606*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpor %xmm2, %xmm0, %xmm0 5607*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 5608*9880d681SAndroid Build Coastguard Worker; 5609*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_8xi16: 5610*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 5611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwq %xmm0, %zmm0 5612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllq $63, %zmm0, %zmm0 5613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmq %zmm0, %zmm0, %k1 5614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k1, %k0 5615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## implicit-def: %XMM0 5618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_2 5620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.load 5621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movzwl (%rdi), %eax 5622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %eax, %xmm0 5623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_2: ## %else 5624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k1, %k0 5625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_4 5629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.load1 5630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $1, 2(%rdi), %xmm0, %xmm0 5631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_4: ## %else2 5632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k1, %k0 5633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_6 5637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.load4 5638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $2, 4(%rdi), %xmm0, %xmm0 5639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_6: ## %else5 5640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k1, %k0 5641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_8 5645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.load7 5646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $3, 6(%rdi), %xmm0, %xmm0 5647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_8: ## %else8 5648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k1, %k0 5649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_10 5653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.load10 5654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $4, 8(%rdi), %xmm0, %xmm0 5655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_10: ## %else11 5656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k1, %k0 5657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_12 5661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.load13 5662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $5, 10(%rdi), %xmm0, %xmm0 5663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_12: ## %else14 5664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k1, %k0 5665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_14 5669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.load16 5670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $6, 12(%rdi), %xmm0, %xmm0 5671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_14: ## %else17 5672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k1, %k0 5673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB53_16 5677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.load19 5678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $7, 14(%rdi), %xmm0, %xmm0 5679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB53_16: ## %else20 5680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 5681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa64 %zmm1, %zmm1 {%k1} {z} 5682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovqw %zmm1, %xmm1 5683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2 5684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %xmm2, %xmm1, %xmm2 5685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %xmm1, %xmm0, %xmm0 5686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpor %xmm2, %xmm0, %xmm0 5687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 5688*9880d681SAndroid Build Coastguard Worker; 5689*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_8xi16: 5690*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 5691*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $15, %xmm0, %xmm0 5692*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovw2m %xmm0, %k1 5693*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu16 (%rdi), %xmm0 {%k1} {z} 5694*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 5695*9880d681SAndroid Build Coastguard Worker %res = call <8 x i16> @llvm.masked.load.v8i16.p0v8i16(<8 x i16>* %addr, i32 4, <8 x i1>%mask, <8 x i16> undef) 5696*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %res 5697*9880d681SAndroid Build Coastguard Worker} 5698*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.masked.load.v8i16.p0v8i16(<8 x i16>*, i32, <8 x i1>, <8 x i16>) 5699*9880d681SAndroid Build Coastguard Worker 5700*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @test_mask_load_16xi16(<16 x i1> %mask, <16 x i16>* %addr, <16 x i16> %val) { 5701*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_16xi16: 5702*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 5703*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 5704*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## implicit-def: %YMM1 5705*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5706*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_2 5707*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.load 5708*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzwl (%rdi), %eax 5709*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %eax, %xmm1 5710*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_2: ## %else 5711*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 5712*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5713*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_4 5714*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.load1 5715*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $1, 2(%rdi), %xmm1, %xmm2 5716*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5717*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_4: ## %else2 5718*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 5719*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5720*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_6 5721*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.load4 5722*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $2, 4(%rdi), %xmm1, %xmm2 5723*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5724*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_6: ## %else5 5725*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 5726*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5727*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_8 5728*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.load7 5729*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $3, 6(%rdi), %xmm1, %xmm2 5730*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5731*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_8: ## %else8 5732*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 5733*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5734*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_10 5735*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.load10 5736*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $4, 8(%rdi), %xmm1, %xmm2 5737*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5738*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_10: ## %else11 5739*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 5740*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5741*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_12 5742*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.load13 5743*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $5, 10(%rdi), %xmm1, %xmm2 5744*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_12: ## %else14 5746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 5747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_14 5749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.load16 5750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $6, 12(%rdi), %xmm1, %xmm2 5751*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5752*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_14: ## %else17 5753*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 5754*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5755*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_16 5756*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.load19 5757*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $7, 14(%rdi), %xmm1, %xmm2 5758*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5759*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_16: ## %else20 5760*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 5761*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5762*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_18 5763*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.load22 5764*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5765*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $0, 16(%rdi), %xmm2, %xmm2 5766*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5767*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_18: ## %else23 5768*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 5769*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5770*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_20 5771*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.load25 5772*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5773*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $1, 18(%rdi), %xmm2, %xmm2 5774*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5775*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_20: ## %else26 5776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 5777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_22 5779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.load28 5780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $2, 20(%rdi), %xmm2, %xmm2 5782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_22: ## %else29 5784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 5785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_24 5787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.load31 5788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $3, 22(%rdi), %xmm2, %xmm2 5790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_24: ## %else32 5792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 5793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_26 5795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.load34 5796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $4, 24(%rdi), %xmm2, %xmm2 5798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_26: ## %else35 5800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 5801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_28 5803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.load37 5804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $5, 26(%rdi), %xmm2, %xmm2 5806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_28: ## %else38 5808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 5809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_30 5811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.load40 5812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $6, 28(%rdi), %xmm2, %xmm2 5814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_30: ## %else41 5816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 5817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 5818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB54_32 5819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.load43 5820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 5821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $7, 30(%rdi), %xmm2, %xmm2 5822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1 5823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB54_32: ## %else44 5824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbw {{.*#+}} xmm2 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero 5825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $15, %xmm2, %xmm2 5826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsraw $15, %xmm2, %xmm2 5827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpunpckhbw {{.*#+}} xmm0 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15] 5828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $15, %xmm0, %xmm0 5829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsraw $15, %xmm0, %xmm0 5830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0 5831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandps %ymm1, %ymm0, %ymm0 5832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 5833*9880d681SAndroid Build Coastguard Worker; 5834*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_16xi16: 5835*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 5836*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 5837*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## implicit-def: %YMM1 5838*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5839*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_2 5840*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.load 5841*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzwl (%rdi), %eax 5842*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %eax, %xmm1 5843*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_2: ## %else 5844*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 5845*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5846*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_4 5847*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.load1 5848*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $1, 2(%rdi), %xmm1, %xmm2 5849*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5850*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_4: ## %else2 5851*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 5852*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5853*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_6 5854*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.load4 5855*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $2, 4(%rdi), %xmm1, %xmm2 5856*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5857*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_6: ## %else5 5858*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 5859*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5860*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_8 5861*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.load7 5862*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $3, 6(%rdi), %xmm1, %xmm2 5863*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5864*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_8: ## %else8 5865*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 5866*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5867*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_10 5868*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.load10 5869*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $4, 8(%rdi), %xmm1, %xmm2 5870*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5871*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_10: ## %else11 5872*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 5873*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5874*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_12 5875*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.load13 5876*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $5, 10(%rdi), %xmm1, %xmm2 5877*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5878*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_12: ## %else14 5879*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 5880*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5881*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_14 5882*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.load16 5883*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $6, 12(%rdi), %xmm1, %xmm2 5884*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5885*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_14: ## %else17 5886*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 5887*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5888*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_16 5889*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.load19 5890*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $7, 14(%rdi), %xmm1, %xmm2 5891*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7] 5892*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_16: ## %else20 5893*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 5894*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5895*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_18 5896*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.load22 5897*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5898*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $0, 16(%rdi), %xmm2, %xmm2 5899*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5900*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_18: ## %else23 5901*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 5902*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5903*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_20 5904*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.load25 5905*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5906*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $1, 18(%rdi), %xmm2, %xmm2 5907*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5908*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_20: ## %else26 5909*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 5910*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5911*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_22 5912*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.load28 5913*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5914*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $2, 20(%rdi), %xmm2, %xmm2 5915*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5916*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_22: ## %else29 5917*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 5918*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5919*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_24 5920*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.load31 5921*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5922*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $3, 22(%rdi), %xmm2, %xmm2 5923*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5924*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_24: ## %else32 5925*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 5926*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5927*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_26 5928*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.load34 5929*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5930*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $4, 24(%rdi), %xmm2, %xmm2 5931*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5932*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_26: ## %else35 5933*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 5934*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5935*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_28 5936*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.load37 5937*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5938*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $5, 26(%rdi), %xmm2, %xmm2 5939*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5940*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_28: ## %else38 5941*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 5942*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5943*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_30 5944*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.load40 5945*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5946*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $6, 28(%rdi), %xmm2, %xmm2 5947*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5948*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_30: ## %else41 5949*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 5950*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 5951*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB54_32 5952*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.load43 5953*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 5954*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $7, 30(%rdi), %xmm2, %xmm2 5955*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1 5956*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB54_32: ## %else44 5957*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero 5958*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsllw $15, %ymm0, %ymm0 5959*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsraw $15, %ymm0, %ymm0 5960*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0 5961*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 5962*9880d681SAndroid Build Coastguard Worker; 5963*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_16xi16: 5964*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 5965*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 5966*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 5967*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 5968*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k1, %k0 5969*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5970*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5971*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## implicit-def: %YMM0 5972*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5973*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_2 5974*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.load 5975*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movzwl (%rdi), %eax 5976*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %eax, %xmm0 5977*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_2: ## %else 5978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k1, %k0 5979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_4 5983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.load1 5984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $1, 2(%rdi), %xmm0, %xmm1 5985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 5986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_4: ## %else2 5987*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k1, %k0 5988*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5989*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5990*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 5991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_6 5992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.load4 5993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $2, 4(%rdi), %xmm0, %xmm1 5994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 5995*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_6: ## %else5 5996*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k1, %k0 5997*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 5998*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 5999*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6000*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_8 6001*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.load7 6002*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $3, 6(%rdi), %xmm0, %xmm1 6003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 6004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_8: ## %else8 6005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k1, %k0 6006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_10 6010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.load10 6011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $4, 8(%rdi), %xmm0, %xmm1 6012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 6013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_10: ## %else11 6014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k1, %k0 6015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_12 6019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.load13 6020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $5, 10(%rdi), %xmm0, %xmm1 6021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 6022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_12: ## %else14 6023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k1, %k0 6024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_14 6028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.load16 6029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $6, 12(%rdi), %xmm0, %xmm1 6030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 6031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_14: ## %else17 6032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k1, %k0 6033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_16 6037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.load19 6038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $7, 14(%rdi), %xmm0, %xmm1 6039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7] 6040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_16: ## %else20 6041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k1, %k0 6042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_18 6046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.load22 6047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $0, 16(%rdi), %xmm1, %xmm1 6049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_18: ## %else23 6051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k1, %k0 6052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_20 6056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.load25 6057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $1, 18(%rdi), %xmm1, %xmm1 6059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_20: ## %else26 6061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k1, %k0 6062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_22 6066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.load28 6067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $2, 20(%rdi), %xmm1, %xmm1 6069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_22: ## %else29 6071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k1, %k0 6072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_24 6076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.load31 6077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $3, 22(%rdi), %xmm1, %xmm1 6079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_24: ## %else32 6081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k1, %k0 6082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_26 6086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.load34 6087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $4, 24(%rdi), %xmm1, %xmm1 6089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_26: ## %else35 6091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k1, %k0 6092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_28 6096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.load37 6097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $5, 26(%rdi), %xmm1, %xmm1 6099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_28: ## %else38 6101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k1, %k0 6102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_30 6106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.load40 6107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $6, 28(%rdi), %xmm1, %xmm1 6109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_30: ## %else41 6111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k1, %k0 6112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 6113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 6114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 6115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB54_32 6116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.load43 6117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm1 6118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $7, 30(%rdi), %xmm1, %xmm1 6119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0 6120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB54_32: ## %else44 6121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 6122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa32 %zmm1, %zmm1 {%k1} {z} 6123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovdw %zmm1, %ymm1 6124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm0, %ymm1, %ymm0 6125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 6126*9880d681SAndroid Build Coastguard Worker; 6127*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_16xi16: 6128*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 6129*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 6130*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 6131*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu16 (%rdi), %ymm0 {%k1} {z} 6132*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 6133*9880d681SAndroid Build Coastguard Worker %res = call <16 x i16> @llvm.masked.load.v16i16.p0v16i16(<16 x i16>* %addr, i32 4, <16 x i1>%mask, <16 x i16> zeroinitializer) 6134*9880d681SAndroid Build Coastguard Worker ret <16 x i16> %res 6135*9880d681SAndroid Build Coastguard Worker} 6136*9880d681SAndroid Build Coastguard Workerdeclare <16 x i16> @llvm.masked.load.v16i16.p0v16i16(<16 x i16>*, i32, <16 x i1>, <16 x i16>) 6137*9880d681SAndroid Build Coastguard Worker 6138*9880d681SAndroid Build Coastguard Workerdefine <32 x i16> @test_mask_load_32xi16(<32 x i1> %mask, <32 x i16>* %addr, <32 x i16> %val) { 6139*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_load_32xi16: 6140*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 6141*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 6142*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6143*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_2 6144*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.load 6145*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movzwl (%rdi), %eax 6146*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %eax, %xmm3 6147*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_2: ## %else 6148*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 6149*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6150*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_4 6151*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.load1 6152*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $1, 2(%rdi), %xmm3, %xmm4 6153*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6154*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_4: ## %else2 6155*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 6156*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6157*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_6 6158*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.load4 6159*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $2, 4(%rdi), %xmm3, %xmm4 6160*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6161*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_6: ## %else5 6162*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 6163*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6164*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_8 6165*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.load7 6166*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $3, 6(%rdi), %xmm3, %xmm4 6167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_8: ## %else8 6169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 6170*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6171*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_10 6172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.load10 6173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $4, 8(%rdi), %xmm3, %xmm4 6174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_10: ## %else11 6176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 6177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_12 6179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.load13 6180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $5, 10(%rdi), %xmm3, %xmm4 6181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6182*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_12: ## %else14 6183*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 6184*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6185*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_14 6186*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.load16 6187*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $6, 12(%rdi), %xmm3, %xmm4 6188*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6189*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_14: ## %else17 6190*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 6191*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6192*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_16 6193*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.load19 6194*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $7, 14(%rdi), %xmm3, %xmm4 6195*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_16: ## %else20 6197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 6198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6199*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_18 6200*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.load22 6201*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6202*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $0, 16(%rdi), %xmm4, %xmm4 6203*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6204*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_18: ## %else23 6205*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 6206*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6207*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_20 6208*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.load25 6209*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6210*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $1, 18(%rdi), %xmm4, %xmm4 6211*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6212*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_20: ## %else26 6213*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 6214*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6215*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_22 6216*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.load28 6217*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6218*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $2, 20(%rdi), %xmm4, %xmm4 6219*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6220*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_22: ## %else29 6221*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 6222*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6223*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_24 6224*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.load31 6225*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6226*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $3, 22(%rdi), %xmm4, %xmm4 6227*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6228*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_24: ## %else32 6229*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 6230*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6231*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_26 6232*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.load34 6233*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6234*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $4, 24(%rdi), %xmm4, %xmm4 6235*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6236*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_26: ## %else35 6237*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 6238*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6239*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_28 6240*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.load37 6241*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6242*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $5, 26(%rdi), %xmm4, %xmm4 6243*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6244*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_28: ## %else38 6245*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 6246*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6247*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_30 6248*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.load40 6249*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6250*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $6, 28(%rdi), %xmm4, %xmm4 6251*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6252*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_30: ## %else41 6253*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 6254*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6255*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_32 6256*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.load43 6257*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm3, %xmm4 6258*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $7, 30(%rdi), %xmm4, %xmm4 6259*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm3, %ymm3 6260*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_32: ## %else44 6261*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm4 6262*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm4, %eax 6263*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6264*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_34 6265*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#33: ## %cond.load46 6266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $0, 32(%rdi), %xmm0, %xmm5 6267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7] 6268*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_34: ## %else47 6269*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm4, %eax 6270*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6271*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_36 6272*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#35: ## %cond.load49 6273*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $1, 34(%rdi), %xmm5, %xmm6 6274*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6275*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_36: ## %else50 6276*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm4, %eax 6277*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6278*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_38 6279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#37: ## %cond.load52 6280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $2, 36(%rdi), %xmm5, %xmm6 6281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_38: ## %else53 6283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm4, %eax 6284*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6285*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_40 6286*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#39: ## %cond.load55 6287*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $3, 38(%rdi), %xmm5, %xmm6 6288*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6289*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_40: ## %else56 6290*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm4, %eax 6291*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6292*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_42 6293*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#41: ## %cond.load58 6294*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $4, 40(%rdi), %xmm5, %xmm6 6295*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6296*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_42: ## %else59 6297*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm4, %eax 6298*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6299*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_44 6300*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#43: ## %cond.load61 6301*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $5, 42(%rdi), %xmm5, %xmm6 6302*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6303*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_44: ## %else62 6304*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm4, %eax 6305*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6306*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_46 6307*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#45: ## %cond.load64 6308*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $6, 44(%rdi), %xmm5, %xmm6 6309*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6310*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_46: ## %else65 6311*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm4, %eax 6312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_48 6314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#47: ## %cond.load67 6315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $7, 46(%rdi), %xmm5, %xmm6 6316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_48: ## %else68 6318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm4, %eax 6319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_50 6321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#49: ## %cond.load70 6322*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6323*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $0, 48(%rdi), %xmm6, %xmm6 6324*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6325*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_50: ## %else71 6326*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm4, %eax 6327*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6328*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_52 6329*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#51: ## %cond.load73 6330*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6331*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $1, 50(%rdi), %xmm6, %xmm6 6332*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6333*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_52: ## %else74 6334*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm4, %eax 6335*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6336*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_54 6337*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#53: ## %cond.load76 6338*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6339*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $2, 52(%rdi), %xmm6, %xmm6 6340*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6341*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_54: ## %else77 6342*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm4, %eax 6343*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6344*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_56 6345*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#55: ## %cond.load79 6346*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6347*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $3, 54(%rdi), %xmm6, %xmm6 6348*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_56: ## %else80 6350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm4, %eax 6351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_58 6353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#57: ## %cond.load82 6354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $4, 56(%rdi), %xmm6, %xmm6 6356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_58: ## %else83 6358*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm4, %eax 6359*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_60 6361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#59: ## %cond.load85 6362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $5, 58(%rdi), %xmm6, %xmm6 6364*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_60: ## %else86 6366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm4, %eax 6367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_62 6369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#61: ## %cond.load88 6370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $6, 60(%rdi), %xmm6, %xmm6 6372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_62: ## %else89 6374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm4, %eax 6375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 6376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB55_64 6377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#63: ## %cond.load91 6378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm5, %xmm6 6379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpinsrw $7, 62(%rdi), %xmm6, %xmm6 6380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm5, %ymm5 6381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB55_64: ## %else92 6382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbw {{.*#+}} xmm6 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero 6383*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $15, %xmm6, %xmm6 6384*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsraw $15, %xmm6, %xmm6 6385*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpunpckhbw {{.*#+}} xmm0 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15] 6386*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $15, %xmm0, %xmm0 6387*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsraw $15, %xmm0, %xmm0 6388*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm6, %ymm0 6389*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandnps %ymm1, %ymm0, %ymm1 6390*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandps %ymm0, %ymm3, %ymm0 6391*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vorps %ymm1, %ymm0, %ymm0 6392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpmovzxbw {{.*#+}} xmm1 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xmm4[4],zero,xmm4[5],zero,xmm4[6],zero,xmm4[7],zero 6393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $15, %xmm1, %xmm1 6394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsraw $15, %xmm1, %xmm1 6395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm4[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15] 6396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsllw $15, %xmm3, %xmm3 6397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpsraw $15, %xmm3, %xmm3 6398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 6399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandnps %ymm2, %ymm1, %ymm2 6400*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vandps %ymm1, %ymm5, %ymm1 6401*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vorps %ymm2, %ymm1, %ymm1 6402*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 6403*9880d681SAndroid Build Coastguard Worker; 6404*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_load_32xi16: 6405*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 6406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 6407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_2 6409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.load 6410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movzwl (%rdi), %eax 6411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %eax, %xmm3 6412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_2: ## %else 6413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 6414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_4 6416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.load1 6417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $1, 2(%rdi), %xmm3, %xmm4 6418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_4: ## %else2 6420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 6421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_6 6423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.load4 6424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $2, 4(%rdi), %xmm3, %xmm4 6425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_6: ## %else5 6427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 6428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_8 6430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.load7 6431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $3, 6(%rdi), %xmm3, %xmm4 6432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_8: ## %else8 6434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 6435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_10 6437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.load10 6438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $4, 8(%rdi), %xmm3, %xmm4 6439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_10: ## %else11 6441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 6442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_12 6444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.load13 6445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $5, 10(%rdi), %xmm3, %xmm4 6446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_12: ## %else14 6448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 6449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_14 6451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.load16 6452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $6, 12(%rdi), %xmm3, %xmm4 6453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_14: ## %else17 6455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 6456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_16 6458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.load19 6459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $7, 14(%rdi), %xmm3, %xmm4 6460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_16: ## %else20 6462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 6463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_18 6465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.load22 6466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $0, 16(%rdi), %xmm4, %xmm4 6468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_18: ## %else23 6470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 6471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_20 6473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.load25 6474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $1, 18(%rdi), %xmm4, %xmm4 6476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_20: ## %else26 6478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 6479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_22 6481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.load28 6482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $2, 20(%rdi), %xmm4, %xmm4 6484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_22: ## %else29 6486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 6487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_24 6489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.load31 6490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $3, 22(%rdi), %xmm4, %xmm4 6492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_24: ## %else32 6494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 6495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_26 6497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.load34 6498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $4, 24(%rdi), %xmm4, %xmm4 6500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_26: ## %else35 6502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 6503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_28 6505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.load37 6506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $5, 26(%rdi), %xmm4, %xmm4 6508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_28: ## %else38 6510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 6511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_30 6513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.load40 6514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $6, 28(%rdi), %xmm4, %xmm4 6516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_30: ## %else41 6518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 6519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_32 6521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.load43 6522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4 6523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $7, 30(%rdi), %xmm4, %xmm4 6524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_32: ## %else44 6526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm4 6527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm4, %eax 6528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_34 6530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#33: ## %cond.load46 6531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $0, 32(%rdi), %xmm0, %xmm5 6532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7] 6533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_34: ## %else47 6534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm4, %eax 6535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_36 6537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#35: ## %cond.load49 6538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $1, 34(%rdi), %xmm5, %xmm6 6539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_36: ## %else50 6541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm4, %eax 6542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_38 6544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#37: ## %cond.load52 6545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $2, 36(%rdi), %xmm5, %xmm6 6546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_38: ## %else53 6548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm4, %eax 6549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_40 6551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#39: ## %cond.load55 6552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $3, 38(%rdi), %xmm5, %xmm6 6553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_40: ## %else56 6555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm4, %eax 6556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_42 6558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#41: ## %cond.load58 6559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $4, 40(%rdi), %xmm5, %xmm6 6560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_42: ## %else59 6562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm4, %eax 6563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_44 6565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#43: ## %cond.load61 6566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $5, 42(%rdi), %xmm5, %xmm6 6567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_44: ## %else62 6569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm4, %eax 6570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_46 6572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#45: ## %cond.load64 6573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $6, 44(%rdi), %xmm5, %xmm6 6574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_46: ## %else65 6576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm4, %eax 6577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_48 6579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#47: ## %cond.load67 6580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $7, 46(%rdi), %xmm5, %xmm6 6581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_48: ## %else68 6583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm4, %eax 6584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_50 6586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#49: ## %cond.load70 6587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6588*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $0, 48(%rdi), %xmm6, %xmm6 6589*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6590*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_50: ## %else71 6591*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm4, %eax 6592*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6593*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_52 6594*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#51: ## %cond.load73 6595*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6596*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $1, 50(%rdi), %xmm6, %xmm6 6597*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6598*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_52: ## %else74 6599*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm4, %eax 6600*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6601*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_54 6602*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#53: ## %cond.load76 6603*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6604*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $2, 52(%rdi), %xmm6, %xmm6 6605*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6606*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_54: ## %else77 6607*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm4, %eax 6608*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6609*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_56 6610*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#55: ## %cond.load79 6611*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6612*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $3, 54(%rdi), %xmm6, %xmm6 6613*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6614*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_56: ## %else80 6615*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm4, %eax 6616*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_58 6618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#57: ## %cond.load82 6619*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6620*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $4, 56(%rdi), %xmm6, %xmm6 6621*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6622*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_58: ## %else83 6623*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm4, %eax 6624*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6625*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_60 6626*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#59: ## %cond.load85 6627*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6628*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $5, 58(%rdi), %xmm6, %xmm6 6629*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6630*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_60: ## %else86 6631*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm4, %eax 6632*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6633*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_62 6634*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#61: ## %cond.load88 6635*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6636*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $6, 60(%rdi), %xmm6, %xmm6 6637*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6638*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_62: ## %else89 6639*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm4, %eax 6640*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 6641*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB55_64 6642*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#63: ## %cond.load91 6643*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm5, %xmm6 6644*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpinsrw $7, 62(%rdi), %xmm6, %xmm6 6645*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6646*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB55_64: ## %else92 6647*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero 6648*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsllw $15, %ymm0, %ymm0 6649*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsraw $15, %ymm0, %ymm0 6650*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendvb %ymm0, %ymm3, %ymm1, %ymm0 6651*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpmovzxbw {{.*#+}} ymm1 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xmm4[4],zero,xmm4[5],zero,xmm4[6],zero,xmm4[7],zero,xmm4[8],zero,xmm4[9],zero,xmm4[10],zero,xmm4[11],zero,xmm4[12],zero,xmm4[13],zero,xmm4[14],zero,xmm4[15],zero 6652*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsllw $15, %ymm1, %ymm1 6653*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpsraw $15, %ymm1, %ymm1 6654*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpblendvb %ymm1, %ymm5, %ymm2, %ymm1 6655*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 6656*9880d681SAndroid Build Coastguard Worker; 6657*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_load_32xi16: 6658*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 6659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, %eax 6660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_2 6662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.load 6663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movzwl (%rdi), %eax 6664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %eax, %xmm3 6665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_2: ## %else 6666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, %eax 6667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_4 6669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.load1 6670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $1, 2(%rdi), %xmm3, %xmm4 6671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_4: ## %else2 6673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, %eax 6674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_6 6676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.load4 6677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $2, 4(%rdi), %xmm3, %xmm4 6678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_6: ## %else5 6680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, %eax 6681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_8 6683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.load7 6684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $3, 6(%rdi), %xmm3, %xmm4 6685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_8: ## %else8 6687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, %eax 6688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_10 6690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.load10 6691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $4, 8(%rdi), %xmm3, %xmm4 6692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_10: ## %else11 6694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, %eax 6695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_12 6697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.load13 6698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $5, 10(%rdi), %xmm3, %xmm4 6699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_12: ## %else14 6701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, %eax 6702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_14 6704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.load16 6705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $6, 12(%rdi), %xmm3, %xmm4 6706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_14: ## %else17 6708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, %eax 6709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_16 6711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.load19 6712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $7, 14(%rdi), %xmm3, %xmm4 6713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7] 6714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_16: ## %else20 6715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, %eax 6716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_18 6718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.load22 6719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $0, 16(%rdi), %xmm4, %xmm4 6721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_18: ## %else23 6723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, %eax 6724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_20 6726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.load25 6727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $1, 18(%rdi), %xmm4, %xmm4 6729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_20: ## %else26 6731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, %eax 6732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_22 6734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.load28 6735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $2, 20(%rdi), %xmm4, %xmm4 6737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_22: ## %else29 6739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, %eax 6740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_24 6742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.load31 6743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $3, 22(%rdi), %xmm4, %xmm4 6745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_24: ## %else32 6747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, %eax 6748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_26 6750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.load34 6751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $4, 24(%rdi), %xmm4, %xmm4 6753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_26: ## %else35 6755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm0, %eax 6756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_28 6758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.load37 6759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $5, 26(%rdi), %xmm4, %xmm4 6761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_28: ## %else38 6763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm0, %eax 6764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_30 6766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.load40 6767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $6, 28(%rdi), %xmm4, %xmm4 6769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_30: ## %else41 6771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, %eax 6772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_32 6774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.load43 6775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm4 6776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $7, 30(%rdi), %xmm4, %xmm4 6777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm3, %ymm3 6778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_32: ## %else44 6779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm4 6780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm4, %eax 6781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_34 6783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#33: ## %cond.load46 6784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $0, 32(%rdi), %xmm0, %xmm5 6785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7] 6786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_34: ## %else47 6787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm4, %eax 6788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_36 6790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#35: ## %cond.load49 6791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $1, 34(%rdi), %xmm5, %xmm6 6792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_36: ## %else50 6794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm4, %eax 6795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_38 6797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#37: ## %cond.load52 6798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $2, 36(%rdi), %xmm5, %xmm6 6799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_38: ## %else53 6801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm4, %eax 6802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_40 6804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#39: ## %cond.load55 6805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $3, 38(%rdi), %xmm5, %xmm6 6806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_40: ## %else56 6808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm4, %eax 6809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6810*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_42 6811*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#41: ## %cond.load58 6812*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $4, 40(%rdi), %xmm5, %xmm6 6813*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6814*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_42: ## %else59 6815*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm4, %eax 6816*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6817*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_44 6818*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#43: ## %cond.load61 6819*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $5, 42(%rdi), %xmm5, %xmm6 6820*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6821*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_44: ## %else62 6822*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm4, %eax 6823*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6824*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_46 6825*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#45: ## %cond.load64 6826*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $6, 44(%rdi), %xmm5, %xmm6 6827*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6828*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_46: ## %else65 6829*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm4, %eax 6830*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6831*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_48 6832*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#47: ## %cond.load67 6833*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $7, 46(%rdi), %xmm5, %xmm6 6834*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7] 6835*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_48: ## %else68 6836*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm4, %eax 6837*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6838*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_50 6839*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#49: ## %cond.load70 6840*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6841*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $0, 48(%rdi), %xmm6, %xmm6 6842*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6843*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_50: ## %else71 6844*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm4, %eax 6845*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6846*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_52 6847*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#51: ## %cond.load73 6848*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6849*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $1, 50(%rdi), %xmm6, %xmm6 6850*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_52: ## %else74 6852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm4, %eax 6853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_54 6855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#53: ## %cond.load76 6856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $2, 52(%rdi), %xmm6, %xmm6 6858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_54: ## %else77 6860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm4, %eax 6861*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6862*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_56 6863*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#55: ## %cond.load79 6864*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6865*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $3, 54(%rdi), %xmm6, %xmm6 6866*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6867*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_56: ## %else80 6868*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm4, %eax 6869*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6870*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_58 6871*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#57: ## %cond.load82 6872*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6873*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $4, 56(%rdi), %xmm6, %xmm6 6874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_58: ## %else83 6876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm4, %eax 6877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_60 6879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#59: ## %cond.load85 6880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $5, 58(%rdi), %xmm6, %xmm6 6882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6883*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_60: ## %else86 6884*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm4, %eax 6885*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6886*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_62 6887*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#61: ## %cond.load88 6888*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6889*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $6, 60(%rdi), %xmm6, %xmm6 6890*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6891*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_62: ## %else89 6892*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm4, %eax 6893*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 6894*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB55_64 6895*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#63: ## %cond.load91 6896*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm6 6897*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpinsrw $7, 62(%rdi), %xmm6, %xmm6 6898*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5 6899*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB55_64: ## %else92 6900*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero 6901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllw $15, %ymm0, %ymm0 6902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsraw $15, %ymm0, %ymm0 6903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendvb %ymm0, %ymm3, %ymm1, %ymm0 6904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm1 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xmm4[4],zero,xmm4[5],zero,xmm4[6],zero,xmm4[7],zero,xmm4[8],zero,xmm4[9],zero,xmm4[10],zero,xmm4[11],zero,xmm4[12],zero,xmm4[13],zero,xmm4[14],zero,xmm4[15],zero 6905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllw $15, %ymm1, %ymm1 6906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsraw $15, %ymm1, %ymm1 6907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpblendvb %ymm1, %ymm5, %ymm2, %ymm1 6908*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 6909*9880d681SAndroid Build Coastguard Worker; 6910*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_load_32xi16: 6911*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 6912*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %ymm0, %ymm0 6913*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %ymm0, %k1 6914*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu16 (%rdi), %zmm1 {%k1} 6915*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovaps %zmm1, %zmm0 6916*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 6917*9880d681SAndroid Build Coastguard Worker %res = call <32 x i16> @llvm.masked.load.v32i16.p0v32i16(<32 x i16>* %addr, i32 4, <32 x i1>%mask, <32 x i16> %val) 6918*9880d681SAndroid Build Coastguard Worker ret <32 x i16> %res 6919*9880d681SAndroid Build Coastguard Worker} 6920*9880d681SAndroid Build Coastguard Workerdeclare <32 x i16> @llvm.masked.load.v32i16.p0v32i16(<32 x i16>*, i32, <32 x i1>, <32 x i16>) 6921*9880d681SAndroid Build Coastguard Worker 6922*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_16xi8(<16 x i1> %mask, <16 x i8>* %addr, <16 x i8> %val) { 6923*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_store_16xi8: 6924*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 6925*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $0, %xmm0, %eax 6926*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6927*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_2 6928*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#1: ## %cond.store 6929*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $0, %xmm1, (%rdi) 6930*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_2: ## %else 6931*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $1, %xmm0, %eax 6932*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6933*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_4 6934*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#3: ## %cond.store1 6935*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $1, %xmm1, 1(%rdi) 6936*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_4: ## %else2 6937*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $2, %xmm0, %eax 6938*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6939*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_6 6940*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#5: ## %cond.store3 6941*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $2, %xmm1, 2(%rdi) 6942*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_6: ## %else4 6943*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $3, %xmm0, %eax 6944*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6945*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_8 6946*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#7: ## %cond.store5 6947*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $3, %xmm1, 3(%rdi) 6948*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_8: ## %else6 6949*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $4, %xmm0, %eax 6950*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6951*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_10 6952*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#9: ## %cond.store7 6953*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $4, %xmm1, 4(%rdi) 6954*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_10: ## %else8 6955*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $5, %xmm0, %eax 6956*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6957*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_12 6958*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#11: ## %cond.store9 6959*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $5, %xmm1, 5(%rdi) 6960*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_12: ## %else10 6961*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $6, %xmm0, %eax 6962*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6963*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_14 6964*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#13: ## %cond.store11 6965*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $6, %xmm1, 6(%rdi) 6966*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_14: ## %else12 6967*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $7, %xmm0, %eax 6968*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6969*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_16 6970*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#15: ## %cond.store13 6971*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $7, %xmm1, 7(%rdi) 6972*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_16: ## %else14 6973*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $8, %xmm0, %eax 6974*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6975*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_18 6976*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#17: ## %cond.store15 6977*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $8, %xmm1, 8(%rdi) 6978*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_18: ## %else16 6979*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $9, %xmm0, %eax 6980*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6981*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_20 6982*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#19: ## %cond.store17 6983*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $9, %xmm1, 9(%rdi) 6984*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_20: ## %else18 6985*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $10, %xmm0, %eax 6986*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6987*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_22 6988*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#21: ## %cond.store19 6989*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $10, %xmm1, 10(%rdi) 6990*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_22: ## %else20 6991*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $11, %xmm0, %eax 6992*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6993*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_24 6994*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#23: ## %cond.store21 6995*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $11, %xmm1, 11(%rdi) 6996*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_24: ## %else22 6997*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $12, %xmm0, %eax 6998*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 6999*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_26 7000*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#25: ## %cond.store23 7001*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $12, %xmm1, 12(%rdi) 7002*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_26: ## %else24 7003*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $13, %xmm0, %eax 7004*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 7005*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_28 7006*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#27: ## %cond.store25 7007*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $13, %xmm1, 13(%rdi) 7008*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_28: ## %else26 7009*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $14, %xmm0, %eax 7010*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 7011*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_30 7012*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#29: ## %cond.store27 7013*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $14, %xmm1, 14(%rdi) 7014*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_30: ## %else28 7015*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $15, %xmm0, %eax 7016*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 7017*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB56_32 7018*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#31: ## %cond.store29 7019*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $15, %xmm1, 15(%rdi) 7020*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB56_32: ## %else30 7021*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 7022*9880d681SAndroid Build Coastguard Worker; 7023*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_16xi8: 7024*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 7025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 7026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 7027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 7028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k0, %k1 7029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_2 7033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.store 7034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm1, (%rdi) 7035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_2: ## %else 7036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k0, %k1 7037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_4 7041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.store1 7042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm1, 1(%rdi) 7043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_4: ## %else2 7044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k0, %k1 7045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_6 7049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.store3 7050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm1, 2(%rdi) 7051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_6: ## %else4 7052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k0, %k1 7053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_8 7057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.store5 7058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm1, 3(%rdi) 7059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_8: ## %else6 7060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k0, %k1 7061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_10 7065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.store7 7066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm1, 4(%rdi) 7067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_10: ## %else8 7068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k0, %k1 7069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_12 7073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.store9 7074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm1, 5(%rdi) 7075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_12: ## %else10 7076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k0, %k1 7077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_14 7081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.store11 7082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm1, 6(%rdi) 7083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_14: ## %else12 7084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k1 7085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_16 7089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.store13 7090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm1, 7(%rdi) 7091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_16: ## %else14 7092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k0, %k1 7093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_18 7097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.store15 7098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm1, 8(%rdi) 7099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_18: ## %else16 7100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k0, %k1 7101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_20 7105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.store17 7106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm1, 9(%rdi) 7107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_20: ## %else18 7108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k0, %k1 7109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_22 7113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.store19 7114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm1, 10(%rdi) 7115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_22: ## %else20 7116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k0, %k1 7117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_24 7121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.store21 7122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm1, 11(%rdi) 7123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_24: ## %else22 7124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k0, %k1 7125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_26 7129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.store23 7130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm1, 12(%rdi) 7131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_26: ## %else24 7132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k0, %k1 7133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_28 7137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.store25 7138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm1, 13(%rdi) 7139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_28: ## %else26 7140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k0, %k1 7141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 7142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 7143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_30 7145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.store27 7146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm1, 14(%rdi) 7147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_30: ## %else28 7148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k0, %k0 7149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 7150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 7151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 7152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB56_32 7153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.store29 7154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm1, 15(%rdi) 7155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB56_32: ## %else30 7156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 7157*9880d681SAndroid Build Coastguard Worker; 7158*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_16xi8: 7159*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 7160*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 7161*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 7162*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu8 %xmm1, (%rdi) {%k1} 7163*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 7164*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v16i8.p0v16i8(<16 x i8> %val, <16 x i8>* %addr, i32 4, <16 x i1>%mask) 7165*9880d681SAndroid Build Coastguard Worker ret void 7166*9880d681SAndroid Build Coastguard Worker} 7167*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i8.p0v16i8(<16 x i8>, <16 x i8>*, i32, <16 x i1>) 7168*9880d681SAndroid Build Coastguard Worker 7169*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_32xi8(<32 x i1> %mask, <32 x i8>* %addr, <32 x i8> %val) { 7170*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_32xi8: 7171*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 7172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 7173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_2 7175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.store 7176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm1, (%rdi) 7177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_2: ## %else 7178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 7179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_4 7181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.store1 7182*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm1, 1(%rdi) 7183*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_4: ## %else2 7184*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 7185*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7186*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_6 7187*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.store3 7188*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm1, 2(%rdi) 7189*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_6: ## %else4 7190*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 7191*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7192*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_8 7193*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.store5 7194*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm1, 3(%rdi) 7195*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_8: ## %else6 7196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 7197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_10 7199*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.store7 7200*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm1, 4(%rdi) 7201*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_10: ## %else8 7202*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 7203*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7204*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_12 7205*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.store9 7206*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm1, 5(%rdi) 7207*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_12: ## %else10 7208*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 7209*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7210*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_14 7211*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.store11 7212*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm1, 6(%rdi) 7213*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_14: ## %else12 7214*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 7215*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7216*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_16 7217*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.store13 7218*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm1, 7(%rdi) 7219*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_16: ## %else14 7220*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 7221*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7222*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_18 7223*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.store15 7224*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm1, 8(%rdi) 7225*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_18: ## %else16 7226*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 7227*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7228*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_20 7229*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.store17 7230*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm1, 9(%rdi) 7231*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_20: ## %else18 7232*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 7233*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7234*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_22 7235*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.store19 7236*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm1, 10(%rdi) 7237*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_22: ## %else20 7238*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 7239*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7240*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_24 7241*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.store21 7242*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm1, 11(%rdi) 7243*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_24: ## %else22 7244*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 7245*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7246*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_26 7247*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.store23 7248*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm1, 12(%rdi) 7249*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_26: ## %else24 7250*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 7251*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7252*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_28 7253*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.store25 7254*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm1, 13(%rdi) 7255*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_28: ## %else26 7256*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 7257*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7258*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_30 7259*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.store27 7260*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm1, 14(%rdi) 7261*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_30: ## %else28 7262*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 7263*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7264*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_32 7265*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.store29 7266*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm1, 15(%rdi) 7267*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_32: ## %else30 7268*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0 7269*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 7270*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7271*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_34 7272*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#33: ## %cond.store31 7273*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7274*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm2, 16(%rdi) 7275*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_34: ## %else32 7276*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 7277*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7278*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_36 7279*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#35: ## %cond.store33 7280*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7281*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm2, 17(%rdi) 7282*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_36: ## %else34 7283*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 7284*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7285*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_38 7286*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#37: ## %cond.store35 7287*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7288*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm2, 18(%rdi) 7289*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_38: ## %else36 7290*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 7291*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7292*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_40 7293*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#39: ## %cond.store37 7294*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7295*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm2, 19(%rdi) 7296*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_40: ## %else38 7297*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 7298*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7299*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_42 7300*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#41: ## %cond.store39 7301*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7302*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm2, 20(%rdi) 7303*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_42: ## %else40 7304*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 7305*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7306*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_44 7307*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#43: ## %cond.store41 7308*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7309*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm2, 21(%rdi) 7310*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_44: ## %else42 7311*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 7312*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7313*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_46 7314*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#45: ## %cond.store43 7315*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7316*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm2, 22(%rdi) 7317*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_46: ## %else44 7318*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 7319*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7320*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_48 7321*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#47: ## %cond.store45 7322*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7323*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm2, 23(%rdi) 7324*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_48: ## %else46 7325*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 7326*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7327*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_50 7328*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#49: ## %cond.store47 7329*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7330*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm2, 24(%rdi) 7331*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_50: ## %else48 7332*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 7333*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7334*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_52 7335*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#51: ## %cond.store49 7336*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7337*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm2, 25(%rdi) 7338*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_52: ## %else50 7339*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 7340*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7341*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_54 7342*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#53: ## %cond.store51 7343*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7344*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm2, 26(%rdi) 7345*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_54: ## %else52 7346*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 7347*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7348*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_56 7349*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#55: ## %cond.store53 7350*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7351*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm2, 27(%rdi) 7352*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_56: ## %else54 7353*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 7354*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7355*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_58 7356*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#57: ## %cond.store55 7357*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7358*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm2, 28(%rdi) 7359*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_58: ## %else56 7360*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 7361*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7362*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_60 7363*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#59: ## %cond.store57 7364*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7365*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm2, 29(%rdi) 7366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_60: ## %else58 7367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 7368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_62 7370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#61: ## %cond.store59 7371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 7372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm2, 30(%rdi) 7373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_62: ## %else60 7374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 7375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 7376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB57_64 7377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#63: ## %cond.store61 7378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 7379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, 31(%rdi) 7380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB57_64: ## %else62 7381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 7382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 7383*9880d681SAndroid Build Coastguard Worker; 7384*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_32xi8: 7385*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 7386*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 7387*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7388*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_2 7389*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.store 7390*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm1, (%rdi) 7391*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_2: ## %else 7392*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 7393*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7394*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_4 7395*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.store1 7396*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm1, 1(%rdi) 7397*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_4: ## %else2 7398*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 7399*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7400*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_6 7401*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.store3 7402*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm1, 2(%rdi) 7403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_6: ## %else4 7404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 7405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_8 7407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.store5 7408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm1, 3(%rdi) 7409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_8: ## %else6 7410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 7411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_10 7413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.store7 7414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm1, 4(%rdi) 7415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_10: ## %else8 7416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 7417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_12 7419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.store9 7420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm1, 5(%rdi) 7421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_12: ## %else10 7422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 7423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_14 7425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.store11 7426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm1, 6(%rdi) 7427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_14: ## %else12 7428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 7429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_16 7431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.store13 7432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm1, 7(%rdi) 7433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_16: ## %else14 7434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 7435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_18 7437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.store15 7438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm1, 8(%rdi) 7439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_18: ## %else16 7440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 7441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_20 7443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.store17 7444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm1, 9(%rdi) 7445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_20: ## %else18 7446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 7447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_22 7449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.store19 7450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm1, 10(%rdi) 7451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_22: ## %else20 7452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 7453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_24 7455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.store21 7456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm1, 11(%rdi) 7457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_24: ## %else22 7458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 7459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_26 7461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.store23 7462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm1, 12(%rdi) 7463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_26: ## %else24 7464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 7465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_28 7467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.store25 7468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm1, 13(%rdi) 7469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_28: ## %else26 7470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 7471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_30 7473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.store27 7474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm1, 14(%rdi) 7475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_30: ## %else28 7476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 7477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_32 7479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.store29 7480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm1, 15(%rdi) 7481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_32: ## %else30 7482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm0 7483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 7484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_34 7486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#33: ## %cond.store31 7487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm2, 16(%rdi) 7489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_34: ## %else32 7490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 7491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_36 7493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#35: ## %cond.store33 7494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm2, 17(%rdi) 7496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_36: ## %else34 7497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 7498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_38 7500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#37: ## %cond.store35 7501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm2, 18(%rdi) 7503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_38: ## %else36 7504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 7505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_40 7507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#39: ## %cond.store37 7508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm2, 19(%rdi) 7510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_40: ## %else38 7511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 7512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_42 7514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#41: ## %cond.store39 7515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm2, 20(%rdi) 7517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_42: ## %else40 7518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 7519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_44 7521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#43: ## %cond.store41 7522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm2, 21(%rdi) 7524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_44: ## %else42 7525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 7526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_46 7528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#45: ## %cond.store43 7529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm2, 22(%rdi) 7531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_46: ## %else44 7532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 7533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_48 7535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#47: ## %cond.store45 7536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm2, 23(%rdi) 7538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_48: ## %else46 7539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 7540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_50 7542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#49: ## %cond.store47 7543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm2, 24(%rdi) 7545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_50: ## %else48 7546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 7547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_52 7549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#51: ## %cond.store49 7550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm2, 25(%rdi) 7552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_52: ## %else50 7553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 7554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_54 7556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#53: ## %cond.store51 7557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm2, 26(%rdi) 7559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_54: ## %else52 7560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 7561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_56 7563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#55: ## %cond.store53 7564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm2, 27(%rdi) 7566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_56: ## %else54 7567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 7568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_58 7570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#57: ## %cond.store55 7571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm2, 28(%rdi) 7573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_58: ## %else56 7574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 7575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_60 7577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#59: ## %cond.store57 7578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm2, 29(%rdi) 7580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_60: ## %else58 7581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 7582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_62 7584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#61: ## %cond.store59 7585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 7586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm2, 30(%rdi) 7587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_62: ## %else60 7588*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 7589*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 7590*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB57_64 7591*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#63: ## %cond.store61 7592*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 7593*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, 31(%rdi) 7594*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB57_64: ## %else62 7595*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 7596*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 7597*9880d681SAndroid Build Coastguard Worker; 7598*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_32xi8: 7599*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 7600*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, %eax 7601*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7602*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_2 7603*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.store 7604*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm1, (%rdi) 7605*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_2: ## %else 7606*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, %eax 7607*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7608*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_4 7609*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.store1 7610*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm1, 1(%rdi) 7611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_4: ## %else2 7612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, %eax 7613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_6 7615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.store3 7616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm1, 2(%rdi) 7617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_6: ## %else4 7618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, %eax 7619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_8 7621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.store5 7622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm1, 3(%rdi) 7623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_8: ## %else6 7624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, %eax 7625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_10 7627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.store7 7628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm1, 4(%rdi) 7629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_10: ## %else8 7630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, %eax 7631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_12 7633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.store9 7634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm1, 5(%rdi) 7635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_12: ## %else10 7636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, %eax 7637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_14 7639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.store11 7640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm1, 6(%rdi) 7641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_14: ## %else12 7642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, %eax 7643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_16 7645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.store13 7646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm1, 7(%rdi) 7647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_16: ## %else14 7648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, %eax 7649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_18 7651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.store15 7652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm1, 8(%rdi) 7653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_18: ## %else16 7654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, %eax 7655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_20 7657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.store17 7658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm1, 9(%rdi) 7659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_20: ## %else18 7660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, %eax 7661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_22 7663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.store19 7664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm1, 10(%rdi) 7665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_22: ## %else20 7666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, %eax 7667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_24 7669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.store21 7670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm1, 11(%rdi) 7671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_24: ## %else22 7672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, %eax 7673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_26 7675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.store23 7676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm1, 12(%rdi) 7677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_26: ## %else24 7678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm0, %eax 7679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_28 7681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.store25 7682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm1, 13(%rdi) 7683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_28: ## %else26 7684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm0, %eax 7685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_30 7687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.store27 7688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm1, 14(%rdi) 7689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_30: ## %else28 7690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, %eax 7691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_32 7693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.store29 7694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm1, 15(%rdi) 7695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_32: ## %else30 7696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm0 7697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, %eax 7698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_34 7700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#33: ## %cond.store31 7701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm2, 16(%rdi) 7703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_34: ## %else32 7704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, %eax 7705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_36 7707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#35: ## %cond.store33 7708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm2, 17(%rdi) 7710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_36: ## %else34 7711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, %eax 7712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_38 7714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#37: ## %cond.store35 7715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm2, 18(%rdi) 7717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_38: ## %else36 7718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, %eax 7719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_40 7721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#39: ## %cond.store37 7722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm2, 19(%rdi) 7724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_40: ## %else38 7725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, %eax 7726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_42 7728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#41: ## %cond.store39 7729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm2, 20(%rdi) 7731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_42: ## %else40 7732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, %eax 7733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_44 7735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#43: ## %cond.store41 7736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm2, 21(%rdi) 7738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_44: ## %else42 7739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, %eax 7740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_46 7742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#45: ## %cond.store43 7743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm2, 22(%rdi) 7745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_46: ## %else44 7746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, %eax 7747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_48 7749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#47: ## %cond.store45 7750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm2, 23(%rdi) 7752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_48: ## %else46 7753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, %eax 7754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_50 7756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#49: ## %cond.store47 7757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm2, 24(%rdi) 7759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_50: ## %else48 7760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, %eax 7761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_52 7763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#51: ## %cond.store49 7764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm2, 25(%rdi) 7766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_52: ## %else50 7767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, %eax 7768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_54 7770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#53: ## %cond.store51 7771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm2, 26(%rdi) 7773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_54: ## %else52 7774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, %eax 7775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_56 7777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#55: ## %cond.store53 7778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm2, 27(%rdi) 7780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_56: ## %else54 7781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, %eax 7782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_58 7784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#57: ## %cond.store55 7785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm2, 28(%rdi) 7787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_58: ## %else56 7788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm0, %eax 7789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_60 7791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#59: ## %cond.store57 7792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm2, 29(%rdi) 7794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_60: ## %else58 7795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm0, %eax 7796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_62 7798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#61: ## %cond.store59 7799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm2 7800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm2, 30(%rdi) 7801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_62: ## %else60 7802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, %eax 7803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 7804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB57_64 7805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#63: ## %cond.store61 7806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 7807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, 31(%rdi) 7808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB57_64: ## %else62 7809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 7810*9880d681SAndroid Build Coastguard Worker; 7811*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_32xi8: 7812*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 7813*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %ymm0, %ymm0 7814*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %ymm0, %k1 7815*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu8 %ymm1, (%rdi) {%k1} 7816*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 7817*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v32i8.p0v32i8(<32 x i8> %val, <32 x i8>* %addr, i32 4, <32 x i1>%mask) 7818*9880d681SAndroid Build Coastguard Worker ret void 7819*9880d681SAndroid Build Coastguard Worker} 7820*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v32i8.p0v32i8(<32 x i8>, <32 x i8>*, i32, <32 x i1>) 7821*9880d681SAndroid Build Coastguard Worker 7822*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_64xi8(<64 x i1> %mask, <64 x i8>* %addr, <64 x i8> %val) { 7823*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_64xi8: 7824*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 7825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movq {{[0-9]+}}(%rsp), %rax 7826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dil 7827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_2 7828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.store 7829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, (%rax) 7830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_2: ## %else 7831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %sil 7832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_4 7833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.store1 7834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, 1(%rax) 7835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_4: ## %else2 7836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_6 7838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.store3 7839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, 2(%rax) 7840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_6: ## %else4 7841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_8 7843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.store5 7844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, 3(%rax) 7845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_8: ## %else6 7846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r8b 7847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_10 7848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.store7 7849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, 4(%rax) 7850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_10: ## %else8 7851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %r9b 7853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_12 7854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.store9 7855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, 5(%rax) 7856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_12: ## %else10 7857*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_14 7860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.store11 7861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, 6(%rax) 7862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_14: ## %else12 7863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_16 7866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.store13 7867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, 7(%rax) 7868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_16: ## %else14 7869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_18 7872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.store15 7873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, 8(%rax) 7874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_18: ## %else16 7875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7876*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7877*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_20 7878*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.store17 7879*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, 9(%rax) 7880*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_20: ## %else18 7881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_22 7884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.store19 7885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, 10(%rax) 7886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_22: ## %else20 7887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7888*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7889*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_24 7890*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.store21 7891*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, 11(%rax) 7892*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_24: ## %else22 7893*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7894*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7895*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_26 7896*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.store23 7897*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, 12(%rax) 7898*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_26: ## %else24 7899*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7900*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7901*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_28 7902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.store25 7903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, 13(%rax) 7904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_28: ## %else26 7905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_30 7908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.store27 7909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, 14(%rax) 7910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_30: ## %else28 7911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_32 7914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.store29 7915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, 15(%rax) 7916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_32: ## %else30 7917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_34 7920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#33: ## %cond.store31 7921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm2, 16(%rax) 7923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_34: ## %else32 7924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_36 7927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#35: ## %cond.store33 7928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm2, 17(%rax) 7930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_36: ## %else34 7931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_38 7934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#37: ## %cond.store35 7935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm2, 18(%rax) 7937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_38: ## %else36 7938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7940*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_40 7941*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#39: ## %cond.store37 7942*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7943*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm2, 19(%rax) 7944*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_40: ## %else38 7945*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7946*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7947*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_42 7948*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#41: ## %cond.store39 7949*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7950*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm2, 20(%rax) 7951*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_42: ## %else40 7952*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7953*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7954*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_44 7955*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#43: ## %cond.store41 7956*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7957*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm2, 21(%rax) 7958*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_44: ## %else42 7959*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7960*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7961*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_46 7962*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#45: ## %cond.store43 7963*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7964*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm2, 22(%rax) 7965*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_46: ## %else44 7966*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7967*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7968*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_48 7969*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#47: ## %cond.store45 7970*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7971*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm2, 23(%rax) 7972*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_48: ## %else46 7973*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7974*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7975*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_50 7976*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#49: ## %cond.store47 7977*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7978*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm2, 24(%rax) 7979*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_50: ## %else48 7980*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7981*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7982*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_52 7983*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#51: ## %cond.store49 7984*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7985*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm2, 25(%rax) 7986*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_52: ## %else50 7987*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 7988*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 7989*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_54 7990*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#53: ## %cond.store51 7991*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7992*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm2, 26(%rax) 7993*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_54: ## %else52 7994*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 7995*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 7996*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_56 7997*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#55: ## %cond.store53 7998*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 7999*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm2, 27(%rax) 8000*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_56: ## %else54 8001*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8002*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8003*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_58 8004*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#57: ## %cond.store55 8005*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 8006*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm2, 28(%rax) 8007*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_58: ## %else56 8008*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8009*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8010*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_60 8011*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#59: ## %cond.store57 8012*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 8013*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm2, 29(%rax) 8014*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_60: ## %else58 8015*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8016*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8017*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_62 8018*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#61: ## %cond.store59 8019*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm2 8020*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm2, 30(%rax) 8021*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_62: ## %else60 8022*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8023*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8024*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_64 8025*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#63: ## %cond.store61 8026*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0 8027*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, 31(%rax) 8028*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_64: ## %else62 8029*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8030*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8031*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_66 8032*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#65: ## %cond.store63 8033*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm1, 32(%rax) 8034*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_66: ## %else64 8035*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8036*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8037*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_68 8038*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#67: ## %cond.store65 8039*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm1, 33(%rax) 8040*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_68: ## %else66 8041*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8042*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8043*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_70 8044*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#69: ## %cond.store67 8045*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm1, 34(%rax) 8046*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_70: ## %else68 8047*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8048*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8049*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_72 8050*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#71: ## %cond.store69 8051*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm1, 35(%rax) 8052*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_72: ## %else70 8053*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8054*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8055*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_74 8056*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#73: ## %cond.store71 8057*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm1, 36(%rax) 8058*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_74: ## %else72 8059*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8060*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8061*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_76 8062*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#75: ## %cond.store73 8063*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm1, 37(%rax) 8064*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_76: ## %else74 8065*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8066*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8067*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_78 8068*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#77: ## %cond.store75 8069*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm1, 38(%rax) 8070*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_78: ## %else76 8071*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8072*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8073*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_80 8074*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#79: ## %cond.store77 8075*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm1, 39(%rax) 8076*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_80: ## %else78 8077*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8078*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8079*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_82 8080*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#81: ## %cond.store79 8081*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm1, 40(%rax) 8082*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_82: ## %else80 8083*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8084*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8085*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_84 8086*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#83: ## %cond.store81 8087*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm1, 41(%rax) 8088*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_84: ## %else82 8089*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8090*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8091*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_86 8092*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#85: ## %cond.store83 8093*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm1, 42(%rax) 8094*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_86: ## %else84 8095*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8096*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8097*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_88 8098*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#87: ## %cond.store85 8099*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm1, 43(%rax) 8100*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_88: ## %else86 8101*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8102*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8103*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_90 8104*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#89: ## %cond.store87 8105*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm1, 44(%rax) 8106*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_90: ## %else88 8107*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8108*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8109*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_92 8110*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#91: ## %cond.store89 8111*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm1, 45(%rax) 8112*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_92: ## %else90 8113*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8114*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8115*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_94 8116*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#93: ## %cond.store91 8117*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm1, 46(%rax) 8118*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_94: ## %else92 8119*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8120*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8121*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_96 8122*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#95: ## %cond.store93 8123*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm1, 47(%rax) 8124*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_96: ## %else94 8125*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8126*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8127*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_98 8128*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#97: ## %cond.store95 8129*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8130*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, 48(%rax) 8131*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_98: ## %else96 8132*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8133*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8134*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_100 8135*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#99: ## %cond.store97 8136*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8137*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, 49(%rax) 8138*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_100: ## %else98 8139*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8140*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8141*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_102 8142*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#101: ## %cond.store99 8143*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8144*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, 50(%rax) 8145*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_102: ## %else100 8146*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8147*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8148*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_104 8149*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#103: ## %cond.store101 8150*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8151*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, 51(%rax) 8152*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_104: ## %else102 8153*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8154*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8155*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_106 8156*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#105: ## %cond.store103 8157*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8158*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, 52(%rax) 8159*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_106: ## %else104 8160*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8161*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8162*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_108 8163*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#107: ## %cond.store105 8164*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8165*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, 53(%rax) 8166*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_108: ## %else106 8167*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8168*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8169*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_110 8170*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#109: ## %cond.store107 8171*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8172*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, 54(%rax) 8173*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_110: ## %else108 8174*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8175*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8176*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_112 8177*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#111: ## %cond.store109 8178*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8179*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, 55(%rax) 8180*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_112: ## %else110 8181*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8182*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8183*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_114 8184*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#113: ## %cond.store111 8185*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8186*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, 56(%rax) 8187*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_114: ## %else112 8188*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8189*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8190*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_116 8191*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#115: ## %cond.store113 8192*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8193*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, 57(%rax) 8194*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_116: ## %else114 8195*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8196*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8197*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_118 8198*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#117: ## %cond.store115 8199*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8200*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, 58(%rax) 8201*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_118: ## %else116 8202*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8203*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8204*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_120 8205*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#119: ## %cond.store117 8206*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8207*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, 59(%rax) 8208*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_120: ## %else118 8209*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8210*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8211*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_122 8212*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#121: ## %cond.store119 8213*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8214*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, 60(%rax) 8215*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_122: ## %else120 8216*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %cl 8217*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8218*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_124 8219*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#123: ## %cond.store121 8220*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8221*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, 61(%rax) 8222*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_124: ## %else122 8223*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movb {{[0-9]+}}(%rsp), %dl 8224*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %cl 8225*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_126 8226*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#125: ## %cond.store123 8227*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8228*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, 62(%rax) 8229*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_126: ## %else124 8230*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %dl 8231*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB58_128 8232*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#127: ## %cond.store125 8233*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 8234*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, 63(%rax) 8235*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB58_128: ## %else126 8236*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 8237*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 8238*9880d681SAndroid Build Coastguard Worker; 8239*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_64xi8: 8240*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 8241*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax 8242*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dil 8243*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_2 8244*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.store 8245*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, (%rax) 8246*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_2: ## %else 8247*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %sil 8248*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_4 8249*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.store1 8250*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, 1(%rax) 8251*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_4: ## %else2 8252*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8253*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_6 8254*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.store3 8255*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, 2(%rax) 8256*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_6: ## %else4 8257*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8258*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_8 8259*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.store5 8260*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, 3(%rax) 8261*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_8: ## %else6 8262*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r8b 8263*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_10 8264*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.store7 8265*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, 4(%rax) 8266*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_10: ## %else8 8267*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8268*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %r9b 8269*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_12 8270*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.store9 8271*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, 5(%rax) 8272*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_12: ## %else10 8273*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8274*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8275*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_14 8276*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.store11 8277*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, 6(%rax) 8278*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_14: ## %else12 8279*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8280*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8281*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_16 8282*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.store13 8283*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, 7(%rax) 8284*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_16: ## %else14 8285*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8286*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8287*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_18 8288*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.store15 8289*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, 8(%rax) 8290*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_18: ## %else16 8291*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8292*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8293*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_20 8294*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.store17 8295*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, 9(%rax) 8296*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_20: ## %else18 8297*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8298*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8299*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_22 8300*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.store19 8301*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, 10(%rax) 8302*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_22: ## %else20 8303*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8304*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8305*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_24 8306*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.store21 8307*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, 11(%rax) 8308*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_24: ## %else22 8309*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8310*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8311*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_26 8312*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.store23 8313*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, 12(%rax) 8314*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_26: ## %else24 8315*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8316*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8317*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_28 8318*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.store25 8319*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, 13(%rax) 8320*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_28: ## %else26 8321*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8322*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8323*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_30 8324*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.store27 8325*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, 14(%rax) 8326*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_30: ## %else28 8327*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8328*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8329*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_32 8330*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.store29 8331*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, 15(%rax) 8332*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_32: ## %else30 8333*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8334*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8335*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_34 8336*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#33: ## %cond.store31 8337*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8338*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm2, 16(%rax) 8339*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_34: ## %else32 8340*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8341*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8342*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_36 8343*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#35: ## %cond.store33 8344*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8345*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm2, 17(%rax) 8346*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_36: ## %else34 8347*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8348*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8349*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_38 8350*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#37: ## %cond.store35 8351*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8352*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm2, 18(%rax) 8353*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_38: ## %else36 8354*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8355*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8356*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_40 8357*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#39: ## %cond.store37 8358*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8359*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm2, 19(%rax) 8360*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_40: ## %else38 8361*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8362*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8363*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_42 8364*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#41: ## %cond.store39 8365*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8366*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm2, 20(%rax) 8367*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_42: ## %else40 8368*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8369*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8370*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_44 8371*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#43: ## %cond.store41 8372*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8373*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm2, 21(%rax) 8374*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_44: ## %else42 8375*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8376*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8377*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_46 8378*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#45: ## %cond.store43 8379*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8380*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm2, 22(%rax) 8381*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_46: ## %else44 8382*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8383*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8384*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_48 8385*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#47: ## %cond.store45 8386*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8387*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm2, 23(%rax) 8388*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_48: ## %else46 8389*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8390*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8391*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_50 8392*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#49: ## %cond.store47 8393*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8394*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm2, 24(%rax) 8395*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_50: ## %else48 8396*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8397*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8398*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_52 8399*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#51: ## %cond.store49 8400*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8401*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm2, 25(%rax) 8402*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_52: ## %else50 8403*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8404*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8405*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_54 8406*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#53: ## %cond.store51 8407*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8408*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm2, 26(%rax) 8409*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_54: ## %else52 8410*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8411*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8412*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_56 8413*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#55: ## %cond.store53 8414*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8415*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm2, 27(%rax) 8416*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_56: ## %else54 8417*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8418*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8419*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_58 8420*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#57: ## %cond.store55 8421*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8422*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm2, 28(%rax) 8423*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_58: ## %else56 8424*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8425*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8426*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_60 8427*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#59: ## %cond.store57 8428*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8429*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm2, 29(%rax) 8430*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_60: ## %else58 8431*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8432*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8433*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_62 8434*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#61: ## %cond.store59 8435*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2 8436*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm2, 30(%rax) 8437*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_62: ## %else60 8438*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8439*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8440*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_64 8441*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#63: ## %cond.store61 8442*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm0 8443*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, 31(%rax) 8444*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_64: ## %else62 8445*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8446*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8447*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_66 8448*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#65: ## %cond.store63 8449*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm1, 32(%rax) 8450*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_66: ## %else64 8451*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8452*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8453*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_68 8454*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#67: ## %cond.store65 8455*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm1, 33(%rax) 8456*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_68: ## %else66 8457*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8458*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8459*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_70 8460*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#69: ## %cond.store67 8461*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm1, 34(%rax) 8462*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_70: ## %else68 8463*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8464*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8465*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_72 8466*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#71: ## %cond.store69 8467*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm1, 35(%rax) 8468*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_72: ## %else70 8469*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8470*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8471*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_74 8472*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#73: ## %cond.store71 8473*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm1, 36(%rax) 8474*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_74: ## %else72 8475*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8476*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_76 8478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#75: ## %cond.store73 8479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm1, 37(%rax) 8480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_76: ## %else74 8481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_78 8484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#77: ## %cond.store75 8485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm1, 38(%rax) 8486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_78: ## %else76 8487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_80 8490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#79: ## %cond.store77 8491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm1, 39(%rax) 8492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_80: ## %else78 8493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_82 8496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#81: ## %cond.store79 8497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm1, 40(%rax) 8498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_82: ## %else80 8499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_84 8502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#83: ## %cond.store81 8503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm1, 41(%rax) 8504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_84: ## %else82 8505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_86 8508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#85: ## %cond.store83 8509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm1, 42(%rax) 8510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_86: ## %else84 8511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_88 8514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#87: ## %cond.store85 8515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm1, 43(%rax) 8516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_88: ## %else86 8517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_90 8520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#89: ## %cond.store87 8521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm1, 44(%rax) 8522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_90: ## %else88 8523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_92 8526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#91: ## %cond.store89 8527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm1, 45(%rax) 8528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_92: ## %else90 8529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_94 8532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#93: ## %cond.store91 8533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm1, 46(%rax) 8534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_94: ## %else92 8535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_96 8538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#95: ## %cond.store93 8539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm1, 47(%rax) 8540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_96: ## %else94 8541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_98 8544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#97: ## %cond.store95 8545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, 48(%rax) 8547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_98: ## %else96 8548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_100 8551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#99: ## %cond.store97 8552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, 49(%rax) 8554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_100: ## %else98 8555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_102 8558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#101: ## %cond.store99 8559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, 50(%rax) 8561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_102: ## %else100 8562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_104 8565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#103: ## %cond.store101 8566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, 51(%rax) 8568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_104: ## %else102 8569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_106 8572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#105: ## %cond.store103 8573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, 52(%rax) 8575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_106: ## %else104 8576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_108 8579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#107: ## %cond.store105 8580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, 53(%rax) 8582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_108: ## %else106 8583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8585*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_110 8586*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#109: ## %cond.store107 8587*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8588*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, 54(%rax) 8589*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_110: ## %else108 8590*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8591*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8592*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_112 8593*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#111: ## %cond.store109 8594*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8595*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, 55(%rax) 8596*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_112: ## %else110 8597*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8598*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8599*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_114 8600*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#113: ## %cond.store111 8601*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8602*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, 56(%rax) 8603*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_114: ## %else112 8604*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8605*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8606*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_116 8607*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#115: ## %cond.store113 8608*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8609*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, 57(%rax) 8610*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_116: ## %else114 8611*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8612*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8613*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_118 8614*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#117: ## %cond.store115 8615*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8616*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, 58(%rax) 8617*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_118: ## %else116 8618*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8619*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8620*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_120 8621*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#119: ## %cond.store117 8622*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8623*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, 59(%rax) 8624*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_120: ## %else118 8625*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8626*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8627*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_122 8628*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#121: ## %cond.store119 8629*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8630*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, 60(%rax) 8631*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_122: ## %else120 8632*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %cl 8633*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8634*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_124 8635*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#123: ## %cond.store121 8636*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8637*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, 61(%rax) 8638*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_124: ## %else122 8639*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movb {{[0-9]+}}(%rsp), %dl 8640*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %cl 8641*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_126 8642*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#125: ## %cond.store123 8643*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8644*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, 62(%rax) 8645*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_126: ## %else124 8646*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %dl 8647*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB58_128 8648*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#127: ## %cond.store125 8649*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 8650*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, 63(%rax) 8651*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB58_128: ## %else126 8652*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 8653*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 8654*9880d681SAndroid Build Coastguard Worker; 8655*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_64xi8: 8656*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 8657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 8658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 8659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 8660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k0, %k1 8661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_2 8665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.store 8666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm4, (%rdi) 8667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_2: ## %else 8668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k0, %k1 8669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_4 8673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.store1 8674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm4, 1(%rdi) 8675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_4: ## %else2 8676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k0, %k1 8677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_6 8681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.store3 8682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm4, 2(%rdi) 8683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_6: ## %else4 8684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k0, %k1 8685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_8 8689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.store5 8690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm4, 3(%rdi) 8691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_8: ## %else6 8692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k0, %k1 8693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_10 8697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.store7 8698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm4, 4(%rdi) 8699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_10: ## %else8 8700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k0, %k1 8701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_12 8705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.store9 8706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm4, 5(%rdi) 8707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_12: ## %else10 8708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k0, %k1 8709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_14 8713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.store11 8714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm4, 6(%rdi) 8715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_14: ## %else12 8716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k1 8717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_16 8721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.store13 8722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm4, 7(%rdi) 8723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_16: ## %else14 8724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k0, %k1 8725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_18 8729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.store15 8730*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm4, 8(%rdi) 8731*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_18: ## %else16 8732*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k0, %k1 8733*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8734*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8735*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8736*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_20 8737*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.store17 8738*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm4, 9(%rdi) 8739*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_20: ## %else18 8740*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k0, %k1 8741*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8742*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8743*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8744*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_22 8745*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.store19 8746*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm4, 10(%rdi) 8747*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_22: ## %else20 8748*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k0, %k1 8749*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8750*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8751*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8752*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_24 8753*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.store21 8754*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm4, 11(%rdi) 8755*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_24: ## %else22 8756*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k0, %k1 8757*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8758*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8759*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8760*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_26 8761*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.store23 8762*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm4, 12(%rdi) 8763*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_26: ## %else24 8764*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm1, %zmm0 8765*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k0, %k1 8766*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8767*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8768*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8769*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_28 8770*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.store25 8771*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm4, 13(%rdi) 8772*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_28: ## %else26 8773*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 8774*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k0, %k1 8775*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8776*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8777*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8778*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_30 8779*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.store27 8780*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm4, 14(%rdi) 8781*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_30: ## %else28 8782*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 8783*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k0, %k0 8784*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8785*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8786*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8787*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_32 8788*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.store29 8789*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm4, 15(%rdi) 8790*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_32: ## %else30 8791*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k1, %k0 8792*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8793*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8794*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8795*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_34 8796*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#33: ## %cond.store31 8797*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8798*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, 16(%rdi) 8799*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_34: ## %else32 8800*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k1, %k0 8801*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8802*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8803*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8804*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_36 8805*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#35: ## %cond.store33 8806*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8807*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, 17(%rdi) 8808*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_36: ## %else34 8809*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k1, %k0 8810*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8811*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8812*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8813*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_38 8814*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#37: ## %cond.store35 8815*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8816*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, 18(%rdi) 8817*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_38: ## %else36 8818*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k1, %k0 8819*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8820*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8821*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8822*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_40 8823*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#39: ## %cond.store37 8824*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8825*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, 19(%rdi) 8826*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_40: ## %else38 8827*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k1, %k0 8828*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8829*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8830*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8831*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_42 8832*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#41: ## %cond.store39 8833*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8834*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, 20(%rdi) 8835*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_42: ## %else40 8836*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k1, %k0 8837*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8838*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8839*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8840*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_44 8841*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#43: ## %cond.store41 8842*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8843*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, 21(%rdi) 8844*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_44: ## %else42 8845*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k1, %k0 8846*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8847*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8848*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8849*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_46 8850*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#45: ## %cond.store43 8851*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8852*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, 22(%rdi) 8853*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_46: ## %else44 8854*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k1, %k0 8855*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8856*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8857*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8858*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_48 8859*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#47: ## %cond.store45 8860*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8861*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, 23(%rdi) 8862*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_48: ## %else46 8863*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k1, %k0 8864*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8865*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8866*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8867*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_50 8868*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#49: ## %cond.store47 8869*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8870*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, 24(%rdi) 8871*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_50: ## %else48 8872*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k1, %k0 8873*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8874*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8875*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8876*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_52 8877*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#51: ## %cond.store49 8878*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8879*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, 25(%rdi) 8880*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_52: ## %else50 8881*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k1, %k0 8882*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8883*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8884*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8885*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_54 8886*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#53: ## %cond.store51 8887*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8888*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, 26(%rdi) 8889*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_54: ## %else52 8890*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k1, %k0 8891*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8892*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8893*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8894*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_56 8895*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#55: ## %cond.store53 8896*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8897*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, 27(%rdi) 8898*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_56: ## %else54 8899*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k1, %k0 8900*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8901*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8902*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8903*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_58 8904*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#57: ## %cond.store55 8905*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8906*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, 28(%rdi) 8907*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_58: ## %else56 8908*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm2, %zmm0 8909*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k1, %k0 8910*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8911*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8912*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8913*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_60 8914*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#59: ## %cond.store57 8915*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm1 8916*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm1, 29(%rdi) 8917*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_60: ## %else58 8918*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 8919*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k1, %k0 8920*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 8921*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 8922*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8923*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_62 8924*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#61: ## %cond.store59 8925*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm1 8926*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm1, 30(%rdi) 8927*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_62: ## %else60 8928*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 8929*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k1, %k1 8930*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8931*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8932*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8933*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_64 8934*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#63: ## %cond.store61 8935*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm4, %xmm0 8936*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, 31(%rdi) 8937*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_64: ## %else62 8938*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k0, %k1 8939*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8940*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8941*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8942*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_66 8943*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#65: ## %cond.store63 8944*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm5, 32(%rdi) 8945*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_66: ## %else64 8946*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k0, %k1 8947*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8948*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8949*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8950*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_68 8951*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#67: ## %cond.store65 8952*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm5, 33(%rdi) 8953*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_68: ## %else66 8954*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k0, %k1 8955*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8956*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8957*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8958*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_70 8959*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#69: ## %cond.store67 8960*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm5, 34(%rdi) 8961*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_70: ## %else68 8962*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k0, %k1 8963*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8964*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8965*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8966*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_72 8967*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#71: ## %cond.store69 8968*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm5, 35(%rdi) 8969*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_72: ## %else70 8970*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k0, %k1 8971*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8972*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8973*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8974*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_74 8975*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#73: ## %cond.store71 8976*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm5, 36(%rdi) 8977*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_74: ## %else72 8978*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k0, %k1 8979*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8980*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8981*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8982*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_76 8983*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#75: ## %cond.store73 8984*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm5, 37(%rdi) 8985*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_76: ## %else74 8986*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k0, %k1 8987*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8988*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8989*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8990*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_78 8991*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#77: ## %cond.store75 8992*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm5, 38(%rdi) 8993*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_78: ## %else76 8994*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k1 8995*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 8996*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 8997*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 8998*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_80 8999*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#79: ## %cond.store77 9000*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm5, 39(%rdi) 9001*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_80: ## %else78 9002*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k0, %k1 9003*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9004*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9005*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9006*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_82 9007*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#81: ## %cond.store79 9008*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm5, 40(%rdi) 9009*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_82: ## %else80 9010*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k0, %k1 9011*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9012*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9013*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9014*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_84 9015*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#83: ## %cond.store81 9016*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm5, 41(%rdi) 9017*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_84: ## %else82 9018*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k0, %k1 9019*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9020*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9021*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9022*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_86 9023*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#85: ## %cond.store83 9024*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm5, 42(%rdi) 9025*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_86: ## %else84 9026*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k0, %k1 9027*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9028*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9029*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9030*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_88 9031*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#87: ## %cond.store85 9032*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm5, 43(%rdi) 9033*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_88: ## %else86 9034*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k0, %k1 9035*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9036*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9037*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9038*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_90 9039*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#89: ## %cond.store87 9040*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm5, 44(%rdi) 9041*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_90: ## %else88 9042*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm3, %zmm0 9043*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k0, %k1 9044*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9045*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9046*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9047*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_92 9048*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#91: ## %cond.store89 9049*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm5, 45(%rdi) 9050*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_92: ## %else90 9051*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 9052*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k0, %k1 9053*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9054*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9055*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9056*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_94 9057*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#93: ## %cond.store91 9058*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm5, 46(%rdi) 9059*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_94: ## %else92 9060*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k1 9061*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k0, %k0 9062*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9063*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9064*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9065*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_96 9066*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#95: ## %cond.store93 9067*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm5, 47(%rdi) 9068*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_96: ## %else94 9069*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k1, %k0 9070*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9071*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9072*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9073*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_98 9074*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#97: ## %cond.store95 9075*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9076*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, 48(%rdi) 9077*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_98: ## %else96 9078*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k1, %k0 9079*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9080*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9081*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9082*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_100 9083*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#99: ## %cond.store97 9084*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9085*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, 49(%rdi) 9086*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_100: ## %else98 9087*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k1, %k0 9088*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9089*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9090*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9091*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_102 9092*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#101: ## %cond.store99 9093*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9094*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, 50(%rdi) 9095*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_102: ## %else100 9096*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k1, %k0 9097*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9098*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9099*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9100*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_104 9101*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#103: ## %cond.store101 9102*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9103*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, 51(%rdi) 9104*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_104: ## %else102 9105*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k1, %k0 9106*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9107*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9108*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9109*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_106 9110*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#105: ## %cond.store103 9111*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9112*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, 52(%rdi) 9113*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_106: ## %else104 9114*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k1, %k0 9115*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9116*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9117*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9118*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_108 9119*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#107: ## %cond.store105 9120*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9121*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, 53(%rdi) 9122*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_108: ## %else106 9123*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k1, %k0 9124*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9125*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9126*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9127*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_110 9128*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#109: ## %cond.store107 9129*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9130*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, 54(%rdi) 9131*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_110: ## %else108 9132*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k1, %k0 9133*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9134*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9135*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9136*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_112 9137*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#111: ## %cond.store109 9138*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9139*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, 55(%rdi) 9140*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_112: ## %else110 9141*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k1, %k0 9142*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9143*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9144*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9145*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_114 9146*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#113: ## %cond.store111 9147*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9148*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, 56(%rdi) 9149*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_114: ## %else112 9150*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k1, %k0 9151*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9152*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9153*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9154*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_116 9155*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#115: ## %cond.store113 9156*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9157*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, 57(%rdi) 9158*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_116: ## %else114 9159*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k1, %k0 9160*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9161*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9162*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9163*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_118 9164*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#117: ## %cond.store115 9165*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9166*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, 58(%rdi) 9167*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_118: ## %else116 9168*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k1, %k0 9169*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9170*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9171*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9172*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_120 9173*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#119: ## %cond.store117 9174*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9175*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, 59(%rdi) 9176*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_120: ## %else118 9177*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k1, %k0 9178*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9179*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9180*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_122 9182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#121: ## %cond.store119 9183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, 60(%rdi) 9185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_122: ## %else120 9186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k1, %k0 9187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_124 9191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#123: ## %cond.store121 9192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm0, 61(%rdi) 9194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_124: ## %else122 9195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k1, %k0 9196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_126 9200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#125: ## %cond.store123 9201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm0, 62(%rdi) 9203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_126: ## %else124 9204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k1, %k0 9205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB58_128 9209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#127: ## %cond.store125 9210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm5, %xmm0 9211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, 63(%rdi) 9212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB58_128: ## %else126 9213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 9214*9880d681SAndroid Build Coastguard Worker; 9215*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_64xi8: 9216*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 9217*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %zmm0, %zmm0 9218*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %zmm0, %k1 9219*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu8 %zmm1, (%rdi) {%k1} 9220*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 9221*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v64i8.p0v64i8(<64 x i8> %val, <64 x i8>* %addr, i32 4, <64 x i1>%mask) 9222*9880d681SAndroid Build Coastguard Worker ret void 9223*9880d681SAndroid Build Coastguard Worker} 9224*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v64i8.p0v64i8(<64 x i8>, <64 x i8>*, i32, <64 x i1>) 9225*9880d681SAndroid Build Coastguard Worker 9226*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_8xi16(<8 x i1> %mask, <8 x i16>* %addr, <8 x i16> %val) { 9227*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_mask_store_8xi16: 9228*9880d681SAndroid Build Coastguard Worker; AVX: ## BB#0: 9229*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $0, %xmm0, %eax 9230*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9231*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_2 9232*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#1: ## %cond.store 9233*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm1, %eax 9234*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movw %ax, (%rdi) 9235*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_2: ## %else 9236*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $2, %xmm0, %eax 9237*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9238*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_4 9239*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#3: ## %cond.store1 9240*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrw $1, %xmm1, 2(%rdi) 9241*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_4: ## %else2 9242*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $4, %xmm0, %eax 9243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_6 9245*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#5: ## %cond.store3 9246*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrw $2, %xmm1, 4(%rdi) 9247*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_6: ## %else4 9248*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $6, %xmm0, %eax 9249*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_8 9251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#7: ## %cond.store5 9252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrw $3, %xmm1, 6(%rdi) 9253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_8: ## %else6 9254*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $8, %xmm0, %eax 9255*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9256*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_10 9257*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#9: ## %cond.store7 9258*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrw $4, %xmm1, 8(%rdi) 9259*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_10: ## %else8 9260*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $10, %xmm0, %eax 9261*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9262*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_12 9263*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#11: ## %cond.store9 9264*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrw $5, %xmm1, 10(%rdi) 9265*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_12: ## %else10 9266*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $12, %xmm0, %eax 9267*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9268*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_14 9269*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#13: ## %cond.store11 9270*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrw $6, %xmm1, 12(%rdi) 9271*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_14: ## %else12 9272*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrb $14, %xmm0, %eax 9273*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: testb $1, %al 9274*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: je LBB59_16 9275*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: ## BB#15: ## %cond.store13 9276*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrw $7, %xmm1, 14(%rdi) 9277*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: LBB59_16: ## %else14 9278*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 9279*9880d681SAndroid Build Coastguard Worker; 9280*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_8xi16: 9281*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 9282*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwq %xmm0, %zmm0 9283*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsllq $63, %zmm0, %zmm0 9284*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmq %zmm0, %zmm0, %k0 9285*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k0, %k1 9286*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9287*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9288*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9289*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_2 9290*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.store 9291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %xmm1, %eax 9292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw %ax, (%rdi) 9293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_2: ## %else 9294*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k0, %k1 9295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_4 9299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.store1 9300*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $1, %xmm1, 2(%rdi) 9301*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_4: ## %else2 9302*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k0, %k1 9303*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9304*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9305*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9306*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_6 9307*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.store3 9308*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $2, %xmm1, 4(%rdi) 9309*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_6: ## %else4 9310*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k0, %k1 9311*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9312*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9313*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9314*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_8 9315*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.store5 9316*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $3, %xmm1, 6(%rdi) 9317*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_8: ## %else6 9318*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k0, %k1 9319*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9320*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9321*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9322*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_10 9323*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.store7 9324*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $4, %xmm1, 8(%rdi) 9325*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_10: ## %else8 9326*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k0, %k1 9327*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9328*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9329*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_12 9331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.store9 9332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $5, %xmm1, 10(%rdi) 9333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_12: ## %else10 9334*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k0, %k1 9335*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9336*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9337*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9338*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_14 9339*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.store11 9340*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $6, %xmm1, 12(%rdi) 9341*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_14: ## %else12 9342*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k0 9343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB59_16 9347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.store13 9348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $7, %xmm1, 14(%rdi) 9349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB59_16: ## %else14 9350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 9351*9880d681SAndroid Build Coastguard Worker; 9352*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_8xi16: 9353*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 9354*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $15, %xmm0, %xmm0 9355*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovw2m %xmm0, %k1 9356*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu16 %xmm1, (%rdi) {%k1} 9357*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 9358*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v8i16.p0v8i16(<8 x i16> %val, <8 x i16>* %addr, i32 4, <8 x i1>%mask) 9359*9880d681SAndroid Build Coastguard Worker ret void 9360*9880d681SAndroid Build Coastguard Worker} 9361*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v8i16.p0v8i16(<8 x i16>, <8 x i16>*, i32, <8 x i1>) 9362*9880d681SAndroid Build Coastguard Worker 9363*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_16xi16(<16 x i1> %mask, <16 x i16>* %addr, <16 x i16> %val) { 9364*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_16xi16: 9365*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 9366*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 9367*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9368*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_2 9369*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.store 9370*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %xmm1, %eax 9371*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movw %ax, (%rdi) 9372*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_2: ## %else 9373*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 9374*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9375*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_4 9376*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.store1 9377*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $1, %xmm1, 2(%rdi) 9378*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_4: ## %else2 9379*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 9380*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9381*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_6 9382*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.store3 9383*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $2, %xmm1, 4(%rdi) 9384*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_6: ## %else4 9385*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 9386*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9387*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_8 9388*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.store5 9389*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $3, %xmm1, 6(%rdi) 9390*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_8: ## %else6 9391*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 9392*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9393*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_10 9394*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.store7 9395*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $4, %xmm1, 8(%rdi) 9396*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_10: ## %else8 9397*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 9398*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9399*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_12 9400*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.store9 9401*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $5, %xmm1, 10(%rdi) 9402*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_12: ## %else10 9403*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 9404*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9405*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_14 9406*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.store11 9407*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $6, %xmm1, 12(%rdi) 9408*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_14: ## %else12 9409*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 9410*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9411*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_16 9412*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.store13 9413*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $7, %xmm1, 14(%rdi) 9414*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_16: ## %else14 9415*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 9416*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9417*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_18 9418*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.store15 9419*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 9420*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %xmm2, %eax 9421*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movw %ax, 16(%rdi) 9422*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_18: ## %else16 9423*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 9424*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9425*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_20 9426*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.store17 9427*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 9428*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $1, %xmm2, 18(%rdi) 9429*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_20: ## %else18 9430*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 9431*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9432*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_22 9433*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.store19 9434*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 9435*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $2, %xmm2, 20(%rdi) 9436*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_22: ## %else20 9437*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 9438*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9439*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_24 9440*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.store21 9441*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 9442*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $3, %xmm2, 22(%rdi) 9443*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_24: ## %else22 9444*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 9445*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9446*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_26 9447*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.store23 9448*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 9449*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $4, %xmm2, 24(%rdi) 9450*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_26: ## %else24 9451*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 9452*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9453*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_28 9454*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.store25 9455*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 9456*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $5, %xmm2, 26(%rdi) 9457*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_28: ## %else26 9458*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 9459*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9460*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_30 9461*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.store27 9462*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2 9463*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $6, %xmm2, 28(%rdi) 9464*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_30: ## %else28 9465*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 9466*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9467*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB60_32 9468*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.store29 9469*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm0 9470*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $7, %xmm0, 30(%rdi) 9471*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB60_32: ## %else30 9472*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 9473*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 9474*9880d681SAndroid Build Coastguard Worker; 9475*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_16xi16: 9476*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 9477*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 9478*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9479*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_2 9480*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.store 9481*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %xmm1, %eax 9482*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movw %ax, (%rdi) 9483*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_2: ## %else 9484*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 9485*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9486*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_4 9487*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.store1 9488*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $1, %xmm1, 2(%rdi) 9489*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_4: ## %else2 9490*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 9491*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9492*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_6 9493*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.store3 9494*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $2, %xmm1, 4(%rdi) 9495*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_6: ## %else4 9496*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 9497*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9498*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_8 9499*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.store5 9500*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $3, %xmm1, 6(%rdi) 9501*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_8: ## %else6 9502*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 9503*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9504*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_10 9505*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.store7 9506*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $4, %xmm1, 8(%rdi) 9507*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_10: ## %else8 9508*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 9509*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9510*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_12 9511*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.store9 9512*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $5, %xmm1, 10(%rdi) 9513*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_12: ## %else10 9514*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 9515*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9516*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_14 9517*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.store11 9518*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $6, %xmm1, 12(%rdi) 9519*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_14: ## %else12 9520*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 9521*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9522*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_16 9523*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.store13 9524*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $7, %xmm1, 14(%rdi) 9525*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_16: ## %else14 9526*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 9527*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9528*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_18 9529*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.store15 9530*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 9531*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %xmm2, %eax 9532*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movw %ax, 16(%rdi) 9533*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_18: ## %else16 9534*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 9535*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9536*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_20 9537*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.store17 9538*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 9539*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $1, %xmm2, 18(%rdi) 9540*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_20: ## %else18 9541*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 9542*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9543*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_22 9544*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.store19 9545*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 9546*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $2, %xmm2, 20(%rdi) 9547*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_22: ## %else20 9548*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 9549*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9550*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_24 9551*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.store21 9552*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 9553*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $3, %xmm2, 22(%rdi) 9554*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_24: ## %else22 9555*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 9556*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9557*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_26 9558*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.store23 9559*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 9560*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $4, %xmm2, 24(%rdi) 9561*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_26: ## %else24 9562*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 9563*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9564*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_28 9565*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.store25 9566*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 9567*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $5, %xmm2, 26(%rdi) 9568*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_28: ## %else26 9569*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 9570*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9571*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_30 9572*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.store27 9573*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2 9574*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $6, %xmm2, 28(%rdi) 9575*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_30: ## %else28 9576*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 9577*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9578*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB60_32 9579*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.store29 9580*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm0 9581*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $7, %xmm0, 30(%rdi) 9582*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB60_32: ## %else30 9583*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 9584*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 9585*9880d681SAndroid Build Coastguard Worker; 9586*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_16xi16: 9587*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 9588*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbd %xmm0, %zmm0 9589*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpslld $31, %zmm0, %zmm0 9590*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vptestmd %zmm0, %zmm0, %k0 9591*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $15, %k0, %k1 9592*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9593*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9594*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9595*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_2 9596*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.store 9597*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %xmm1, %eax 9598*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw %ax, (%rdi) 9599*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_2: ## %else 9600*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $14, %k0, %k1 9601*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9602*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9603*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9604*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_4 9605*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.store1 9606*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $1, %xmm1, 2(%rdi) 9607*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_4: ## %else2 9608*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $13, %k0, %k1 9609*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9610*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9611*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9612*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_6 9613*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.store3 9614*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $2, %xmm1, 4(%rdi) 9615*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_6: ## %else4 9616*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $12, %k0, %k1 9617*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9618*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9619*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9620*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_8 9621*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.store5 9622*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $3, %xmm1, 6(%rdi) 9623*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_8: ## %else6 9624*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $11, %k0, %k1 9625*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9626*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9627*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9628*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_10 9629*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.store7 9630*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $4, %xmm1, 8(%rdi) 9631*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_10: ## %else8 9632*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $10, %k0, %k1 9633*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9634*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9635*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9636*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_12 9637*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.store9 9638*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $5, %xmm1, 10(%rdi) 9639*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_12: ## %else10 9640*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $9, %k0, %k1 9641*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9642*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9643*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9644*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_14 9645*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.store11 9646*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $6, %xmm1, 12(%rdi) 9647*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_14: ## %else12 9648*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $8, %k0, %k1 9649*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9650*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9651*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9652*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_16 9653*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.store13 9654*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $7, %xmm1, 14(%rdi) 9655*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_16: ## %else14 9656*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $7, %k0, %k1 9657*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9658*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9659*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9660*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_18 9661*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.store15 9662*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9663*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %xmm0, %eax 9664*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw %ax, 16(%rdi) 9665*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_18: ## %else16 9666*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $6, %k0, %k1 9667*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9668*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9669*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9670*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_20 9671*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.store17 9672*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9673*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $1, %xmm0, 18(%rdi) 9674*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_20: ## %else18 9675*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $5, %k0, %k1 9676*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9677*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9678*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9679*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_22 9680*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.store19 9681*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9682*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $2, %xmm0, 20(%rdi) 9683*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_22: ## %else20 9684*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $4, %k0, %k1 9685*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9686*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9687*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9688*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_24 9689*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.store21 9690*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9691*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $3, %xmm0, 22(%rdi) 9692*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_24: ## %else22 9693*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $3, %k0, %k1 9694*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9695*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9696*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9697*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_26 9698*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.store23 9699*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9700*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $4, %xmm0, 24(%rdi) 9701*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_26: ## %else24 9702*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $2, %k0, %k1 9703*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9704*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9705*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9706*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_28 9707*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.store25 9708*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9709*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $5, %xmm0, 26(%rdi) 9710*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_28: ## %else26 9711*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $1, %k0, %k1 9712*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k1, %k1 9713*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k1, %eax 9714*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9715*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_30 9716*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.store27 9717*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9718*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $6, %xmm0, 28(%rdi) 9719*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_30: ## %else28 9720*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftlw $0, %k0, %k0 9721*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kshiftrw $15, %k0, %k0 9722*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: kmovw %k0, %eax 9723*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb %al, %al 9724*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB60_32 9725*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.store29 9726*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm0 9727*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $7, %xmm0, 30(%rdi) 9728*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB60_32: ## %else30 9729*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 9730*9880d681SAndroid Build Coastguard Worker; 9731*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_16xi16: 9732*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 9733*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %xmm0, %xmm0 9734*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %xmm0, %k1 9735*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu16 %ymm1, (%rdi) {%k1} 9736*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 9737*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v16i16.p0v16i16(<16 x i16> %val, <16 x i16>* %addr, i32 4, <16 x i1>%mask) 9738*9880d681SAndroid Build Coastguard Worker ret void 9739*9880d681SAndroid Build Coastguard Worker} 9740*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v16i16.p0v16i16(<16 x i16>, <16 x i16>*, i32, <16 x i1>) 9741*9880d681SAndroid Build Coastguard Worker 9742*9880d681SAndroid Build Coastguard Workerdefine void @test_mask_store_32xi16(<32 x i1> %mask, <32 x i16>* %addr, <32 x i16> %val) { 9743*9880d681SAndroid Build Coastguard Worker; AVX1-LABEL: test_mask_store_32xi16: 9744*9880d681SAndroid Build Coastguard Worker; AVX1: ## BB#0: 9745*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 9746*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9747*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_2 9748*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#1: ## %cond.store 9749*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %xmm1, %eax 9750*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movw %ax, (%rdi) 9751*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_2: ## %else 9752*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 9753*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9754*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_4 9755*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#3: ## %cond.store1 9756*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $1, %xmm1, 2(%rdi) 9757*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_4: ## %else2 9758*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 9759*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9760*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_6 9761*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#5: ## %cond.store3 9762*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $2, %xmm1, 4(%rdi) 9763*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_6: ## %else4 9764*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 9765*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9766*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_8 9767*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#7: ## %cond.store5 9768*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $3, %xmm1, 6(%rdi) 9769*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_8: ## %else6 9770*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 9771*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9772*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_10 9773*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#9: ## %cond.store7 9774*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $4, %xmm1, 8(%rdi) 9775*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_10: ## %else8 9776*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 9777*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9778*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_12 9779*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#11: ## %cond.store9 9780*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $5, %xmm1, 10(%rdi) 9781*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_12: ## %else10 9782*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 9783*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9784*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_14 9785*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#13: ## %cond.store11 9786*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $6, %xmm1, 12(%rdi) 9787*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_14: ## %else12 9788*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 9789*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9790*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_16 9791*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#15: ## %cond.store13 9792*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $7, %xmm1, 14(%rdi) 9793*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_16: ## %else14 9794*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 9795*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9796*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_18 9797*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#17: ## %cond.store15 9798*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 9799*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %xmm3, %eax 9800*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movw %ax, 16(%rdi) 9801*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_18: ## %else16 9802*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 9803*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9804*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_20 9805*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#19: ## %cond.store17 9806*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 9807*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $1, %xmm3, 18(%rdi) 9808*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_20: ## %else18 9809*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 9810*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9811*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_22 9812*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#21: ## %cond.store19 9813*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 9814*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $2, %xmm3, 20(%rdi) 9815*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_22: ## %else20 9816*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 9817*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9818*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_24 9819*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#23: ## %cond.store21 9820*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 9821*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $3, %xmm3, 22(%rdi) 9822*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_24: ## %else22 9823*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 9824*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9825*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_26 9826*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#25: ## %cond.store23 9827*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 9828*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $4, %xmm3, 24(%rdi) 9829*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_26: ## %else24 9830*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 9831*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9832*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_28 9833*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#27: ## %cond.store25 9834*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 9835*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $5, %xmm3, 26(%rdi) 9836*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_28: ## %else26 9837*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 9838*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9839*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_30 9840*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#29: ## %cond.store27 9841*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 9842*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $6, %xmm3, 28(%rdi) 9843*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_30: ## %else28 9844*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 9845*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9846*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_32 9847*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#31: ## %cond.store29 9848*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1 9849*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $7, %xmm1, 30(%rdi) 9850*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_32: ## %else30 9851*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0 9852*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $0, %xmm0, %eax 9853*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9854*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_34 9855*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#33: ## %cond.store31 9856*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %xmm2, %eax 9857*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movw %ax, 32(%rdi) 9858*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_34: ## %else32 9859*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $1, %xmm0, %eax 9860*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9861*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_36 9862*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#35: ## %cond.store33 9863*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $1, %xmm2, 34(%rdi) 9864*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_36: ## %else34 9865*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $2, %xmm0, %eax 9866*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9867*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_38 9868*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#37: ## %cond.store35 9869*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $2, %xmm2, 36(%rdi) 9870*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_38: ## %else36 9871*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $3, %xmm0, %eax 9872*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9873*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_40 9874*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#39: ## %cond.store37 9875*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $3, %xmm2, 38(%rdi) 9876*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_40: ## %else38 9877*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $4, %xmm0, %eax 9878*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9879*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_42 9880*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#41: ## %cond.store39 9881*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $4, %xmm2, 40(%rdi) 9882*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_42: ## %else40 9883*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $5, %xmm0, %eax 9884*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9885*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_44 9886*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#43: ## %cond.store41 9887*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $5, %xmm2, 42(%rdi) 9888*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_44: ## %else42 9889*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $6, %xmm0, %eax 9890*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9891*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_46 9892*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#45: ## %cond.store43 9893*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $6, %xmm2, 44(%rdi) 9894*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_46: ## %else44 9895*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $7, %xmm0, %eax 9896*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9897*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_48 9898*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#47: ## %cond.store45 9899*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $7, %xmm2, 46(%rdi) 9900*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_48: ## %else46 9901*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $8, %xmm0, %eax 9902*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9903*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_50 9904*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#49: ## %cond.store47 9905*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm1 9906*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vmovd %xmm1, %eax 9907*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: movw %ax, 48(%rdi) 9908*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_50: ## %else48 9909*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $9, %xmm0, %eax 9910*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9911*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_52 9912*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#51: ## %cond.store49 9913*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm1 9914*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $1, %xmm1, 50(%rdi) 9915*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_52: ## %else50 9916*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $10, %xmm0, %eax 9917*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9918*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_54 9919*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#53: ## %cond.store51 9920*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm1 9921*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $2, %xmm1, 52(%rdi) 9922*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_54: ## %else52 9923*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $11, %xmm0, %eax 9924*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9925*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_56 9926*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#55: ## %cond.store53 9927*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm1 9928*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $3, %xmm1, 54(%rdi) 9929*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_56: ## %else54 9930*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $12, %xmm0, %eax 9931*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9932*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_58 9933*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#57: ## %cond.store55 9934*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm1 9935*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $4, %xmm1, 56(%rdi) 9936*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_58: ## %else56 9937*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $13, %xmm0, %eax 9938*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9939*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_60 9940*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#59: ## %cond.store57 9941*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm1 9942*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $5, %xmm1, 58(%rdi) 9943*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_60: ## %else58 9944*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $14, %xmm0, %eax 9945*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9946*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_62 9947*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#61: ## %cond.store59 9948*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm1 9949*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $6, %xmm1, 60(%rdi) 9950*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_62: ## %else60 9951*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrb $15, %xmm0, %eax 9952*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: testb $1, %al 9953*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: je LBB61_64 9954*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: ## BB#63: ## %cond.store61 9955*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm0 9956*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vpextrw $7, %xmm0, 62(%rdi) 9957*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: LBB61_64: ## %else62 9958*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: vzeroupper 9959*9880d681SAndroid Build Coastguard Worker; AVX1-NEXT: retq 9960*9880d681SAndroid Build Coastguard Worker; 9961*9880d681SAndroid Build Coastguard Worker; AVX2-LABEL: test_mask_store_32xi16: 9962*9880d681SAndroid Build Coastguard Worker; AVX2: ## BB#0: 9963*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 9964*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9965*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_2 9966*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#1: ## %cond.store 9967*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %xmm1, %eax 9968*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movw %ax, (%rdi) 9969*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_2: ## %else 9970*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 9971*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9972*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_4 9973*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#3: ## %cond.store1 9974*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $1, %xmm1, 2(%rdi) 9975*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_4: ## %else2 9976*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 9977*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9978*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_6 9979*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#5: ## %cond.store3 9980*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $2, %xmm1, 4(%rdi) 9981*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_6: ## %else4 9982*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 9983*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9984*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_8 9985*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#7: ## %cond.store5 9986*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $3, %xmm1, 6(%rdi) 9987*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_8: ## %else6 9988*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 9989*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9990*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_10 9991*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#9: ## %cond.store7 9992*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $4, %xmm1, 8(%rdi) 9993*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_10: ## %else8 9994*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 9995*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 9996*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_12 9997*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#11: ## %cond.store9 9998*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $5, %xmm1, 10(%rdi) 9999*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_12: ## %else10 10000*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 10001*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10002*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_14 10003*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#13: ## %cond.store11 10004*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $6, %xmm1, 12(%rdi) 10005*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_14: ## %else12 10006*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 10007*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10008*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_16 10009*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#15: ## %cond.store13 10010*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $7, %xmm1, 14(%rdi) 10011*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_16: ## %else14 10012*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 10013*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10014*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_18 10015*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#17: ## %cond.store15 10016*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 10017*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %xmm3, %eax 10018*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movw %ax, 16(%rdi) 10019*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_18: ## %else16 10020*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 10021*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10022*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_20 10023*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#19: ## %cond.store17 10024*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 10025*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $1, %xmm3, 18(%rdi) 10026*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_20: ## %else18 10027*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 10028*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10029*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_22 10030*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#21: ## %cond.store19 10031*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 10032*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $2, %xmm3, 20(%rdi) 10033*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_22: ## %else20 10034*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 10035*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10036*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_24 10037*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#23: ## %cond.store21 10038*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 10039*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $3, %xmm3, 22(%rdi) 10040*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_24: ## %else22 10041*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 10042*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10043*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_26 10044*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#25: ## %cond.store23 10045*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 10046*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $4, %xmm3, 24(%rdi) 10047*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_26: ## %else24 10048*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 10049*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10050*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_28 10051*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#27: ## %cond.store25 10052*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 10053*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $5, %xmm3, 26(%rdi) 10054*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_28: ## %else26 10055*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 10056*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10057*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_30 10058*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#29: ## %cond.store27 10059*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3 10060*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $6, %xmm3, 28(%rdi) 10061*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_30: ## %else28 10062*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 10063*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10064*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_32 10065*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#31: ## %cond.store29 10066*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm1 10067*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $7, %xmm1, 30(%rdi) 10068*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_32: ## %else30 10069*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm0 10070*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $0, %xmm0, %eax 10071*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10072*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_34 10073*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#33: ## %cond.store31 10074*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %xmm2, %eax 10075*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movw %ax, 32(%rdi) 10076*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_34: ## %else32 10077*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $1, %xmm0, %eax 10078*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10079*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_36 10080*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#35: ## %cond.store33 10081*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $1, %xmm2, 34(%rdi) 10082*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_36: ## %else34 10083*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $2, %xmm0, %eax 10084*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10085*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_38 10086*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#37: ## %cond.store35 10087*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $2, %xmm2, 36(%rdi) 10088*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_38: ## %else36 10089*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $3, %xmm0, %eax 10090*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10091*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_40 10092*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#39: ## %cond.store37 10093*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $3, %xmm2, 38(%rdi) 10094*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_40: ## %else38 10095*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $4, %xmm0, %eax 10096*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10097*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_42 10098*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#41: ## %cond.store39 10099*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $4, %xmm2, 40(%rdi) 10100*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_42: ## %else40 10101*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $5, %xmm0, %eax 10102*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10103*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_44 10104*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#43: ## %cond.store41 10105*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $5, %xmm2, 42(%rdi) 10106*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_44: ## %else42 10107*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $6, %xmm0, %eax 10108*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10109*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_46 10110*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#45: ## %cond.store43 10111*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $6, %xmm2, 44(%rdi) 10112*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_46: ## %else44 10113*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $7, %xmm0, %eax 10114*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10115*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_48 10116*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#47: ## %cond.store45 10117*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $7, %xmm2, 46(%rdi) 10118*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_48: ## %else46 10119*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $8, %xmm0, %eax 10120*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10121*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_50 10122*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#49: ## %cond.store47 10123*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm1 10124*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vmovd %xmm1, %eax 10125*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: movw %ax, 48(%rdi) 10126*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_50: ## %else48 10127*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $9, %xmm0, %eax 10128*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10129*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_52 10130*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#51: ## %cond.store49 10131*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm1 10132*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $1, %xmm1, 50(%rdi) 10133*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_52: ## %else50 10134*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $10, %xmm0, %eax 10135*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10136*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_54 10137*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#53: ## %cond.store51 10138*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm1 10139*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $2, %xmm1, 52(%rdi) 10140*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_54: ## %else52 10141*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $11, %xmm0, %eax 10142*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10143*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_56 10144*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#55: ## %cond.store53 10145*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm1 10146*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $3, %xmm1, 54(%rdi) 10147*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_56: ## %else54 10148*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $12, %xmm0, %eax 10149*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10150*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_58 10151*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#57: ## %cond.store55 10152*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm1 10153*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $4, %xmm1, 56(%rdi) 10154*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_58: ## %else56 10155*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $13, %xmm0, %eax 10156*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10157*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_60 10158*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#59: ## %cond.store57 10159*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm1 10160*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $5, %xmm1, 58(%rdi) 10161*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_60: ## %else58 10162*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $14, %xmm0, %eax 10163*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10164*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_62 10165*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#61: ## %cond.store59 10166*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm1 10167*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $6, %xmm1, 60(%rdi) 10168*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_62: ## %else60 10169*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrb $15, %xmm0, %eax 10170*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: testb $1, %al 10171*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: je LBB61_64 10172*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: ## BB#63: ## %cond.store61 10173*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm0 10174*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vpextrw $7, %xmm0, 62(%rdi) 10175*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: LBB61_64: ## %else62 10176*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: vzeroupper 10177*9880d681SAndroid Build Coastguard Worker; AVX2-NEXT: retq 10178*9880d681SAndroid Build Coastguard Worker; 10179*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_mask_store_32xi16: 10180*9880d681SAndroid Build Coastguard Worker; AVX512F: ## BB#0: 10181*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, %eax 10182*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10183*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_2 10184*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#1: ## %cond.store 10185*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %xmm1, %eax 10186*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw %ax, (%rdi) 10187*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_2: ## %else 10188*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, %eax 10189*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10190*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_4 10191*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#3: ## %cond.store1 10192*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $1, %xmm1, 2(%rdi) 10193*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_4: ## %else2 10194*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, %eax 10195*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10196*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_6 10197*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#5: ## %cond.store3 10198*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $2, %xmm1, 4(%rdi) 10199*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_6: ## %else4 10200*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, %eax 10201*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10202*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_8 10203*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#7: ## %cond.store5 10204*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $3, %xmm1, 6(%rdi) 10205*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_8: ## %else6 10206*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, %eax 10207*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10208*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_10 10209*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#9: ## %cond.store7 10210*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $4, %xmm1, 8(%rdi) 10211*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_10: ## %else8 10212*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, %eax 10213*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10214*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_12 10215*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#11: ## %cond.store9 10216*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $5, %xmm1, 10(%rdi) 10217*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_12: ## %else10 10218*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, %eax 10219*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10220*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_14 10221*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#13: ## %cond.store11 10222*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $6, %xmm1, 12(%rdi) 10223*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_14: ## %else12 10224*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, %eax 10225*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10226*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_16 10227*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#15: ## %cond.store13 10228*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $7, %xmm1, 14(%rdi) 10229*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_16: ## %else14 10230*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, %eax 10231*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10232*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_18 10233*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#17: ## %cond.store15 10234*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 10235*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %xmm3, %eax 10236*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw %ax, 16(%rdi) 10237*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_18: ## %else16 10238*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, %eax 10239*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10240*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_20 10241*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#19: ## %cond.store17 10242*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 10243*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $1, %xmm3, 18(%rdi) 10244*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_20: ## %else18 10245*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, %eax 10246*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10247*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_22 10248*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#21: ## %cond.store19 10249*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 10250*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $2, %xmm3, 20(%rdi) 10251*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_22: ## %else20 10252*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, %eax 10253*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10254*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_24 10255*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#23: ## %cond.store21 10256*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 10257*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $3, %xmm3, 22(%rdi) 10258*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_24: ## %else22 10259*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, %eax 10260*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10261*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_26 10262*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#25: ## %cond.store23 10263*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 10264*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $4, %xmm3, 24(%rdi) 10265*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_26: ## %else24 10266*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm0, %eax 10267*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10268*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_28 10269*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#27: ## %cond.store25 10270*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 10271*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $5, %xmm3, 26(%rdi) 10272*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_28: ## %else26 10273*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm0, %eax 10274*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10275*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_30 10276*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#29: ## %cond.store27 10277*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm3 10278*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $6, %xmm3, 28(%rdi) 10279*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_30: ## %else28 10280*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, %eax 10281*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10282*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_32 10283*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#31: ## %cond.store29 10284*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm1 10285*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $7, %xmm1, 30(%rdi) 10286*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_32: ## %else30 10287*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm0 10288*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $0, %xmm0, %eax 10289*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10290*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_34 10291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#33: ## %cond.store31 10292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %xmm2, %eax 10293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw %ax, 32(%rdi) 10294*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_34: ## %else32 10295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $1, %xmm0, %eax 10296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_36 10298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#35: ## %cond.store33 10299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $1, %xmm2, 34(%rdi) 10300*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_36: ## %else34 10301*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $2, %xmm0, %eax 10302*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10303*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_38 10304*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#37: ## %cond.store35 10305*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $2, %xmm2, 36(%rdi) 10306*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_38: ## %else36 10307*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $3, %xmm0, %eax 10308*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10309*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_40 10310*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#39: ## %cond.store37 10311*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $3, %xmm2, 38(%rdi) 10312*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_40: ## %else38 10313*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $4, %xmm0, %eax 10314*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10315*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_42 10316*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#41: ## %cond.store39 10317*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $4, %xmm2, 40(%rdi) 10318*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_42: ## %else40 10319*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $5, %xmm0, %eax 10320*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10321*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_44 10322*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#43: ## %cond.store41 10323*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $5, %xmm2, 42(%rdi) 10324*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_44: ## %else42 10325*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $6, %xmm0, %eax 10326*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10327*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_46 10328*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#45: ## %cond.store43 10329*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $6, %xmm2, 44(%rdi) 10330*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_46: ## %else44 10331*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $7, %xmm0, %eax 10332*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10333*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_48 10334*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#47: ## %cond.store45 10335*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $7, %xmm2, 46(%rdi) 10336*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_48: ## %else46 10337*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $8, %xmm0, %eax 10338*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10339*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_50 10340*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#49: ## %cond.store47 10341*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm1 10342*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovd %xmm1, %eax 10343*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: movw %ax, 48(%rdi) 10344*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_50: ## %else48 10345*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $9, %xmm0, %eax 10346*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10347*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_52 10348*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#51: ## %cond.store49 10349*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm1 10350*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $1, %xmm1, 50(%rdi) 10351*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_52: ## %else50 10352*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $10, %xmm0, %eax 10353*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10354*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_54 10355*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#53: ## %cond.store51 10356*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm1 10357*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $2, %xmm1, 52(%rdi) 10358*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_54: ## %else52 10359*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $11, %xmm0, %eax 10360*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10361*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_56 10362*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#55: ## %cond.store53 10363*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm1 10364*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $3, %xmm1, 54(%rdi) 10365*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_56: ## %else54 10366*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $12, %xmm0, %eax 10367*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10368*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_58 10369*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#57: ## %cond.store55 10370*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm1 10371*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $4, %xmm1, 56(%rdi) 10372*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_58: ## %else56 10373*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $13, %xmm0, %eax 10374*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10375*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_60 10376*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#59: ## %cond.store57 10377*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm1 10378*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $5, %xmm1, 58(%rdi) 10379*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_60: ## %else58 10380*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $14, %xmm0, %eax 10381*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10382*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_62 10383*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#61: ## %cond.store59 10384*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm1 10385*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $6, %xmm1, 60(%rdi) 10386*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_62: ## %else60 10387*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrb $15, %xmm0, %eax 10388*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: testb $1, %al 10389*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: je LBB61_64 10390*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: ## BB#63: ## %cond.store61 10391*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm0 10392*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpextrw $7, %xmm0, 62(%rdi) 10393*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: LBB61_64: ## %else62 10394*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 10395*9880d681SAndroid Build Coastguard Worker; 10396*9880d681SAndroid Build Coastguard Worker; SKX-LABEL: test_mask_store_32xi16: 10397*9880d681SAndroid Build Coastguard Worker; SKX: ## BB#0: 10398*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpsllw $7, %ymm0, %ymm0 10399*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vpmovb2m %ymm0, %k1 10400*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: vmovdqu16 %zmm1, (%rdi) {%k1} 10401*9880d681SAndroid Build Coastguard Worker; SKX-NEXT: retq 10402*9880d681SAndroid Build Coastguard Worker call void @llvm.masked.store.v32i16.p0v32i16(<32 x i16> %val, <32 x i16>* %addr, i32 4, <32 x i1>%mask) 10403*9880d681SAndroid Build Coastguard Worker ret void 10404*9880d681SAndroid Build Coastguard Worker} 10405*9880d681SAndroid Build Coastguard Worker 10406*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.masked.store.v32i16.p0v32i16(<32 x i16>, <32 x i16>*, i32, <32 x i1>) 10407