1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512F 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512bw | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512BW 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; 6*9880d681SAndroid Build Coastguard Worker; sdiv by 7 7*9880d681SAndroid Build Coastguard Worker; 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @test_div7_8i64(<8 x i64> %a) nounwind { 10*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_div7_8i64: 11*9880d681SAndroid Build Coastguard Worker; AVX: # BB#0: 12*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $3, %zmm0, %xmm1 13*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm1, %rax 14*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movabsq $5270498306774157605, %rcx # imm = 0x4924924924924925 15*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 16*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 17*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 18*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 19*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 20*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm2 21*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm1, %rax 22*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 23*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 24*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 25*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 26*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 27*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm1 28*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0] 29*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $2, %zmm0, %xmm2 30*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm2, %rax 31*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 32*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 33*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 34*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 35*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 36*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm3 37*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm2, %rax 38*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 39*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 40*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 41*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 42*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 43*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm2 44*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0] 45*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1 46*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $1, %zmm0, %xmm2 47*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm2, %rax 48*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 49*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 50*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 51*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 52*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 53*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm3 54*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm2, %rax 55*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 56*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 57*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 58*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 59*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 60*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm2 61*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0] 62*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm0, %rax 63*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 64*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 65*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 66*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 67*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 68*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm3 69*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm0, %rax 70*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rcx 71*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 72*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 73*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 74*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 75*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rdx, %xmm0 76*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm3[0] 77*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 78*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0 79*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 80*9880d681SAndroid Build Coastguard Worker %res = sdiv <8 x i64> %a, <i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7> 81*9880d681SAndroid Build Coastguard Worker ret <8 x i64> %res 82*9880d681SAndroid Build Coastguard Worker} 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @test_div7_16i32(<16 x i32> %a) nounwind { 85*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_div7_16i32: 86*9880d681SAndroid Build Coastguard Worker; AVX: # BB#0: 87*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $3, %zmm0, %xmm1 88*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm1, %eax 89*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 90*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 91*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 92*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 93*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 94*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 95*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 96*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 97*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm1, %ecx 98*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 99*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 100*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 101*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 102*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 103*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 104*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 105*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 106*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm2 107*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm2, %xmm2 108*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm1, %eax 109*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 110*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 111*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 112*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 113*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 114*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 115*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 116*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 117*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm2, %xmm2 118*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm1, %eax 119*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 120*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 121*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 122*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 123*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 124*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 125*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 126*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 127*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm2, %xmm1 128*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $2, %zmm0, %xmm2 129*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm2, %eax 130*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 131*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 132*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 133*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 134*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 135*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 136*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 137*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 138*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm2, %ecx 139*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 140*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 141*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 142*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 143*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 144*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 145*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 146*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 147*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm3 148*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm3, %xmm3 149*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm2, %eax 150*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 151*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 152*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 153*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 154*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 155*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 156*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 157*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 158*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm3, %xmm3 159*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm2, %eax 160*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 161*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 162*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 163*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 164*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 165*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 166*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 167*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 168*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm3, %xmm2 169*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1 170*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $1, %zmm0, %xmm2 171*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm2, %eax 172*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 173*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 174*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 175*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 176*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 177*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 178*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 179*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 180*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm2, %ecx 181*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 182*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 183*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 184*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 185*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 186*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 187*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 188*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 189*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm3 190*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm3, %xmm3 191*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm2, %eax 192*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 193*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 194*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 195*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 196*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 197*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 198*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 199*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 200*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm3, %xmm3 201*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm2, %eax 202*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 203*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 204*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 205*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 206*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 207*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 208*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 209*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 210*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm3, %xmm2 211*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm0, %eax 212*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 213*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 214*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 215*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 216*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 217*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 218*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 219*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 220*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm0, %ecx 221*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 222*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 223*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 224*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 225*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 226*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 227*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 228*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 229*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm3 230*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm3, %xmm3 231*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm0, %eax 232*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 233*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 234*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 235*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 236*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 237*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 238*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 239*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 240*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm3, %xmm3 241*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm0, %eax 242*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 245*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 246*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %eax, %ecx 247*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %ecx 248*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %eax 249*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %eax 250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm3, %xmm0 251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0 253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 254*9880d681SAndroid Build Coastguard Worker %res = sdiv <16 x i32> %a, <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7> 255*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %res 256*9880d681SAndroid Build Coastguard Worker} 257*9880d681SAndroid Build Coastguard Worker 258*9880d681SAndroid Build Coastguard Workerdefine <32 x i16> @test_div7_32i16(<32 x i16> %a) nounwind { 259*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_div7_32i16: 260*9880d681SAndroid Build Coastguard Worker; AVX512F: # BB#0: 261*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725] 262*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmulhw %ymm2, %ymm0, %ymm0 263*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $15, %ymm0, %ymm3 264*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsraw $1, %ymm0, %ymm0 265*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddw %ymm3, %ymm0, %ymm0 266*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmulhw %ymm2, %ymm1, %ymm1 267*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $15, %ymm1, %ymm2 268*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsraw $1, %ymm1, %ymm1 269*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddw %ymm2, %ymm1, %ymm1 270*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 271*9880d681SAndroid Build Coastguard Worker; 272*9880d681SAndroid Build Coastguard Worker; AVX512BW-LABEL: test_div7_32i16: 273*9880d681SAndroid Build Coastguard Worker; AVX512BW: # BB#0: 274*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpmulhw {{.*}}(%rip), %zmm0, %zmm0 275*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpsrlw $15, %zmm0, %zmm1 276*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpsraw $1, %zmm0, %zmm0 277*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpaddw %zmm1, %zmm0, %zmm0 278*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: retq 279*9880d681SAndroid Build Coastguard Worker %res = sdiv <32 x i16> %a, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7> 280*9880d681SAndroid Build Coastguard Worker ret <32 x i16> %res 281*9880d681SAndroid Build Coastguard Worker} 282*9880d681SAndroid Build Coastguard Worker 283*9880d681SAndroid Build Coastguard Workerdefine <64 x i8> @test_div7_64i8(<64 x i8> %a) nounwind { 284*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_div7_64i8: 285*9880d681SAndroid Build Coastguard Worker; AVX512F: # BB#0: 286*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147] 287*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm3 288*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm3, %ymm3 289*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm4 290*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm4, %ymm4 291*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm3, %ymm4, %ymm4 292*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm4, %ymm4 293*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm2 294*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm5 295*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm2, %ymm5, %ymm5 296*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm5, %ymm5 297*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm5[2,3],ymm4[2,3] 298*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm5, %ymm4 299*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpackuswb %ymm6, %ymm4, %ymm4 300*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm0, %ymm4, %ymm0 301*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $7, %ymm0, %ymm4 302*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm5 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] 303*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm5, %ymm4, %ymm4 304*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $2, %ymm0, %ymm0 305*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm6 = [63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63] 306*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm6, %ymm0, %ymm0 307*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm7 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] 308*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm7, %ymm0, %ymm0 309*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubb %ymm7, %ymm0, %ymm0 310*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm4, %ymm0, %ymm0 311*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm4 312*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm4, %ymm4 313*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm3, %ymm4, %ymm3 314*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm3, %ymm3 315*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm4 316*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm2, %ymm4, %ymm2 317*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm2, %ymm2 318*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm2[2,3],ymm3[2,3] 319*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2 320*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpackuswb %ymm4, %ymm2, %ymm2 321*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm1, %ymm2, %ymm1 322*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $7, %ymm1, %ymm2 323*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm5, %ymm2, %ymm2 324*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $2, %ymm1, %ymm1 325*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm6, %ymm1, %ymm1 326*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm7, %ymm1, %ymm1 327*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubb %ymm7, %ymm1, %ymm1 328*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm2, %ymm1, %ymm1 329*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 330*9880d681SAndroid Build Coastguard Worker; 331*9880d681SAndroid Build Coastguard Worker; AVX512BW-LABEL: test_div7_64i8: 332*9880d681SAndroid Build Coastguard Worker; AVX512BW: # BB#0: 333*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vextracti32x4 $3, %zmm0, %xmm1 334*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm1, %eax 335*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 336*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 337*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 338*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 339*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 340*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 341*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 342*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 343*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 344*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm1, %ecx 345*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %cl, %ecx 346*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %edx 347*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %edx 348*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 349*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %ecx, %edx 350*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 351*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %cl 352*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 353*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %ecx 354*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %ecx, %xmm2 355*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %eax, %xmm2, %xmm2 356*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm1, %eax 357*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 358*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 359*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 360*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 361*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 362*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 363*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 364*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 365*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 366*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm2, %xmm2 367*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm1, %eax 368*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 369*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 370*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 371*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 372*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 373*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 374*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 375*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 376*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 377*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm2, %xmm2 378*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm1, %eax 379*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 380*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 381*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 382*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 383*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 384*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 385*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 386*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 387*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 388*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm2, %xmm2 389*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm1, %eax 390*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 391*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 392*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 393*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 394*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 395*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 396*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 397*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 398*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 399*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm2, %xmm2 400*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm1, %eax 401*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 402*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 403*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 404*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 405*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 406*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 407*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 408*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 409*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 410*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm2, %xmm2 411*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm1, %eax 412*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 413*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 414*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 415*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 416*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 417*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 418*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 419*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 420*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 421*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm2, %xmm2 422*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm1, %eax 423*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 424*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 425*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 426*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 427*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 428*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 429*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 430*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 431*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 432*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm2, %xmm2 433*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm1, %eax 434*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 435*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 436*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 437*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 438*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 439*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 440*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 441*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 442*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 443*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm2, %xmm2 444*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm1, %eax 445*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 446*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 447*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 448*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 449*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 450*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 451*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 452*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 453*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 454*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm2, %xmm2 455*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm1, %eax 456*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 457*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 458*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 459*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 460*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 461*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 462*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 463*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 464*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 465*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm2, %xmm2 466*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm1, %eax 467*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 468*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 469*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 470*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 471*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 472*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 473*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 474*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 475*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 476*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm2, %xmm2 477*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm1, %eax 478*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 479*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 480*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 481*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 482*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 483*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 484*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 485*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 486*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 487*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm2, %xmm2 488*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm1, %eax 489*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 490*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 491*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 492*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 493*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 494*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 495*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 496*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 497*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 498*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm2, %xmm2 499*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm1, %eax 500*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 501*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 502*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 503*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 504*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 505*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 506*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 507*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 508*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 509*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm2, %xmm1 510*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vextracti32x4 $2, %zmm0, %xmm2 511*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm2, %eax 512*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 513*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 514*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 515*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 516*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 517*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 518*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 519*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 520*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 521*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm2, %ecx 522*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %cl, %ecx 523*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %edx 524*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %edx 525*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 526*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %ecx, %edx 527*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 528*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %cl 529*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 530*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %ecx 531*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %ecx, %xmm3 532*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %eax, %xmm3, %xmm3 533*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm2, %eax 534*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 535*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 536*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 537*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 538*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 539*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 540*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 541*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 542*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 543*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm3, %xmm3 544*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm2, %eax 545*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 546*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 547*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 548*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 549*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 550*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 551*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 552*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 553*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 554*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm3, %xmm3 555*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm2, %eax 556*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 557*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 558*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 559*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 560*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 561*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 562*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 563*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 564*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 565*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm3, %xmm3 566*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm2, %eax 567*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 568*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 569*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 570*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 571*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 572*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 573*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 574*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 575*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 576*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm3, %xmm3 577*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm2, %eax 578*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 579*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 580*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 581*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 582*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 583*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 584*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 585*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 586*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 587*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm3, %xmm3 588*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm2, %eax 589*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 590*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 591*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 592*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 593*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 594*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 595*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 596*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 597*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 598*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm3, %xmm3 599*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm2, %eax 600*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 601*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 602*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 603*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 604*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 605*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 606*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 607*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 608*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 609*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm3, %xmm3 610*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm2, %eax 611*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 612*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 613*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 614*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 615*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 616*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 617*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 618*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 619*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 620*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm3, %xmm3 621*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm2, %eax 622*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 623*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 624*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 625*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 626*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 627*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 628*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 629*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 630*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 631*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm3, %xmm3 632*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm2, %eax 633*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 634*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 635*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 636*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 637*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 638*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 639*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 640*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 641*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 642*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm3, %xmm3 643*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm2, %eax 644*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 645*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 646*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 647*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 648*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 649*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 650*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 651*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 652*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 653*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm3, %xmm3 654*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm2, %eax 655*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 656*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 657*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 658*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 659*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 660*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 661*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 662*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 663*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 664*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm3, %xmm3 665*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm2, %eax 666*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 667*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 668*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 669*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 670*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 671*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 672*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 673*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 674*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 675*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm3, %xmm3 676*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm2, %eax 677*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 678*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 679*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 680*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 681*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 682*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 683*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 684*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 685*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 686*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm3, %xmm2 687*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1 688*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vextracti32x4 $1, %zmm0, %xmm2 689*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm2, %eax 690*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 691*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 692*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 693*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 694*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 695*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 696*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 697*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 698*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 699*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm2, %ecx 700*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %cl, %ecx 701*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %edx 702*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %edx 703*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 704*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %ecx, %edx 705*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 706*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %cl 707*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 708*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %ecx 709*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %ecx, %xmm3 710*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %eax, %xmm3, %xmm3 711*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm2, %eax 712*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 713*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 714*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 715*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 716*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 717*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 718*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 719*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 720*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 721*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm3, %xmm3 722*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm2, %eax 723*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 724*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 725*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 726*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 727*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 728*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 729*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 730*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 731*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 732*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm3, %xmm3 733*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm2, %eax 734*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 735*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 736*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 737*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 738*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 739*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 740*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 741*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 742*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 743*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm3, %xmm3 744*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm2, %eax 745*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 746*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 747*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 748*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 749*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 750*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 751*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 752*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 753*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 754*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm3, %xmm3 755*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm2, %eax 756*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 757*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 758*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 759*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 760*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 761*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 762*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 763*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 764*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 765*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm3, %xmm3 766*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm2, %eax 767*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 768*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 769*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 770*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 771*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 772*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 773*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 774*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 775*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 776*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm3, %xmm3 777*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm2, %eax 778*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 779*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 780*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 781*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 782*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 783*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 784*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 785*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 786*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 787*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm3, %xmm3 788*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm2, %eax 789*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 790*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 791*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 792*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 793*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 794*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 795*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 796*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 797*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 798*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm3, %xmm3 799*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm2, %eax 800*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 801*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 802*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 803*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 804*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 805*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 806*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 807*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 808*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 809*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm3, %xmm3 810*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm2, %eax 811*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 812*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 813*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 814*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 815*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 816*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 817*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 818*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 819*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 820*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm3, %xmm3 821*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm2, %eax 822*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 823*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 824*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 825*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 826*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 827*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 828*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 829*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 830*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 831*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm3, %xmm3 832*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm2, %eax 833*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 834*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 835*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 836*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 837*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 838*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 839*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 840*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 841*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 842*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm3, %xmm3 843*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm2, %eax 844*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 845*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 846*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 847*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 848*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 849*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 850*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 851*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 852*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 853*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm3, %xmm3 854*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm2, %eax 855*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 856*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 857*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 858*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 859*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 860*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 861*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 862*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 863*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 864*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm3, %xmm2 865*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm0, %eax 866*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 867*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 868*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 869*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 870*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 871*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 872*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 873*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 874*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 875*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm0, %ecx 876*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %cl, %ecx 877*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %edx 878*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %edx 879*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 880*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %ecx, %edx 881*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 882*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %cl 883*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %cl 884*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %ecx 885*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %ecx, %xmm3 886*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %eax, %xmm3, %xmm3 887*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm0, %eax 888*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 889*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 890*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 891*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 892*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 893*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 894*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 895*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 896*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 897*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm3, %xmm3 898*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm0, %eax 899*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 900*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 901*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 902*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 903*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 904*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 905*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 906*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 907*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 908*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm3, %xmm3 909*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm0, %eax 910*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 911*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 912*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 913*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 914*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 915*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 916*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 917*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 918*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 919*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm3, %xmm3 920*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm0, %eax 921*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 922*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 923*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 924*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 925*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 926*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 927*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 928*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 929*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 930*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm3, %xmm3 931*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm0, %eax 932*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 933*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 934*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 935*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 936*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 937*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 938*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 939*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 940*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 941*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm3, %xmm3 942*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm0, %eax 943*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 944*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 945*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 946*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 947*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 948*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 949*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 950*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 951*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 952*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm3, %xmm3 953*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm0, %eax 954*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 955*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 956*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 957*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 958*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 959*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 960*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 961*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 962*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 963*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm3, %xmm3 964*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm0, %eax 965*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 966*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 967*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 968*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 969*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 970*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 971*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 972*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 973*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 974*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm3, %xmm3 975*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm0, %eax 976*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 977*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 978*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 979*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 980*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 981*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 982*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 983*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 984*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 985*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm3, %xmm3 986*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm0, %eax 987*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 988*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 989*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 990*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 991*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 992*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 993*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 994*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 995*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 996*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm3, %xmm3 997*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm0, %eax 998*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 999*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 1000*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 1001*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1002*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1003*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1004*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1005*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1006*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 1007*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm3, %xmm3 1008*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm0, %eax 1009*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 1010*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 1011*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 1012*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1013*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1014*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1015*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1016*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1017*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 1018*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm3, %xmm3 1019*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm0, %eax 1020*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 1021*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 1022*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 1023*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1024*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1025*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1026*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1027*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1028*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 1029*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm3, %xmm3 1030*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm0, %eax 1031*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %eax 1032*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %eax, %ecx 1033*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %ecx 1034*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1035*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1036*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1037*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1038*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1039*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %al, %eax 1040*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm3, %xmm0 1041*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 1042*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0 1043*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: retq 1044*9880d681SAndroid Build Coastguard Worker %res = sdiv <64 x i8> %a, <i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7> 1045*9880d681SAndroid Build Coastguard Worker ret <64 x i8> %res 1046*9880d681SAndroid Build Coastguard Worker} 1047*9880d681SAndroid Build Coastguard Worker 1048*9880d681SAndroid Build Coastguard Worker; 1049*9880d681SAndroid Build Coastguard Worker; srem by 7 1050*9880d681SAndroid Build Coastguard Worker; 1051*9880d681SAndroid Build Coastguard Worker 1052*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @test_rem7_8i64(<8 x i64> %a) nounwind { 1053*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_rem7_8i64: 1054*9880d681SAndroid Build Coastguard Worker; AVX: # BB#0: 1055*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $3, %zmm0, %xmm1 1056*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm1, %rcx 1057*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movabsq $5270498306774157605, %rsi # imm = 0x4924924924924925 1058*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1059*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1060*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1061*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1062*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1063*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1064*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1065*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1066*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1067*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm2 1068*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm1, %rcx 1069*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1070*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1071*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1072*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1073*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1074*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1075*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1076*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1077*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1078*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm1 1079*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0] 1080*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $2, %zmm0, %xmm2 1081*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm2, %rcx 1082*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1083*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1084*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1085*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1086*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1087*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1088*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1089*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1090*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1091*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm3 1092*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm2, %rcx 1093*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1094*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1095*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1096*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1097*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1098*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1099*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1100*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1101*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1102*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm2 1103*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0] 1104*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1 1105*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $1, %zmm0, %xmm2 1106*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm2, %rcx 1107*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1108*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1109*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1110*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1111*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1112*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1113*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1114*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1115*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1116*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm3 1117*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm2, %rcx 1118*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1119*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1120*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1121*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1122*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1123*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1124*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1125*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1126*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1127*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm2 1128*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0] 1129*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrq $1, %xmm0, %rcx 1130*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1131*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1132*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1133*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1134*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1135*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1136*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1137*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1138*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1139*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm3 1140*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %xmm0, %rcx 1141*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rcx, %rax 1142*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq %rsi 1143*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movq %rdx, %rax 1144*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $63, %rax 1145*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarq %rdx 1146*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addq %rax, %rdx 1147*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leaq (,%rdx,8), %rax 1148*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rdx, %rax 1149*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subq %rax, %rcx 1150*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovq %rcx, %xmm0 1151*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm3[0] 1152*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 1153*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0 1154*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1155*9880d681SAndroid Build Coastguard Worker %res = srem <8 x i64> %a, <i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7> 1156*9880d681SAndroid Build Coastguard Worker ret <8 x i64> %res 1157*9880d681SAndroid Build Coastguard Worker} 1158*9880d681SAndroid Build Coastguard Worker 1159*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @test_rem7_16i32(<16 x i32> %a) nounwind { 1160*9880d681SAndroid Build Coastguard Worker; AVX-LABEL: test_rem7_16i32: 1161*9880d681SAndroid Build Coastguard Worker; AVX: # BB#0: 1162*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $3, %zmm0, %xmm1 1163*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm1, %eax 1164*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1165*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1166*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1167*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1168*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1169*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1170*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1171*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1172*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1173*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1174*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1175*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm1, %ecx 1176*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 1177*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 1178*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 1179*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %edx 1180*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %edx, %esi 1181*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %esi 1182*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %edx 1183*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %esi, %edx 1184*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rdx,8), %esi 1185*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %esi 1186*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %esi, %ecx 1187*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm2 1188*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm2, %xmm2 1189*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm1, %eax 1190*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1191*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1192*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1193*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1194*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1195*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1196*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1197*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1198*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1199*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1200*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1201*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm2, %xmm2 1202*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm1, %eax 1203*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1204*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1205*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1206*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1207*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1208*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1209*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1210*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1211*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1212*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1213*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1214*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm2, %xmm1 1215*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $2, %zmm0, %xmm2 1216*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm2, %eax 1217*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1218*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1219*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1220*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1221*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1222*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1223*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1224*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1225*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1226*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1227*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1228*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm2, %ecx 1229*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 1230*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 1231*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 1232*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %edx 1233*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %edx, %esi 1234*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %esi 1235*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %edx 1236*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %esi, %edx 1237*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rdx,8), %esi 1238*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %esi 1239*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %esi, %ecx 1240*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm3 1241*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm3, %xmm3 1242*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm2, %eax 1243*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1244*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1245*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1246*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1247*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1248*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1249*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1250*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1251*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1252*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1253*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1254*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm3, %xmm3 1255*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm2, %eax 1256*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1257*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1258*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1259*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1260*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1261*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1262*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1263*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1264*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1265*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1266*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1267*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm3, %xmm2 1268*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1 1269*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vextracti32x4 $1, %zmm0, %xmm2 1270*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm2, %eax 1271*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1272*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1273*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1274*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1275*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1276*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1277*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1278*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1279*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1280*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1281*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1282*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm2, %ecx 1283*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 1284*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 1285*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 1286*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %edx 1287*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %edx, %esi 1288*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %esi 1289*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %edx 1290*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %esi, %edx 1291*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rdx,8), %esi 1292*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %esi 1293*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %esi, %ecx 1294*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm3 1295*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm3, %xmm3 1296*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm2, %eax 1297*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1298*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1299*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1300*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1301*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1302*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1303*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1304*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1305*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1306*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1307*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1308*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm3, %xmm3 1309*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm2, %eax 1310*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1311*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1312*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1313*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1314*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1315*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1316*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1317*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1318*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1319*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1320*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1321*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm3, %xmm2 1322*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $1, %xmm0, %eax 1323*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1324*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1325*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1326*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1327*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1328*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1329*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1330*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1331*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1332*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1333*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1334*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %xmm0, %ecx 1335*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movslq %ecx, %rcx 1336*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rcx, %rdx # imm = 0x92492493 1337*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rdx 1338*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %ecx, %edx 1339*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %edx, %esi 1340*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %esi 1341*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %edx 1342*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %esi, %edx 1343*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rdx,8), %esi 1344*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %esi 1345*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %esi, %ecx 1346*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vmovd %ecx, %xmm3 1347*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $1, %eax, %xmm3, %xmm3 1348*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $2, %xmm0, %eax 1349*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1350*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1351*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1352*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1353*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1354*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1355*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1356*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1357*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1358*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1359*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1360*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $2, %eax, %xmm3, %xmm3 1361*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpextrd $3, %xmm0, %eax 1362*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: cltq 1363*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: imulq $-1840700269, %rax, %rcx # imm = 0x92492493 1364*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrq $32, %rcx 1365*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %eax, %ecx 1366*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: movl %ecx, %edx 1367*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: shrl $31, %edx 1368*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: sarl $2, %ecx 1369*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: addl %edx, %ecx 1370*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: leal (,%rcx,8), %edx 1371*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %ecx, %edx 1372*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: subl %edx, %eax 1373*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vpinsrd $3, %eax, %xmm3, %xmm0 1374*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 1375*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0 1376*9880d681SAndroid Build Coastguard Worker; AVX-NEXT: retq 1377*9880d681SAndroid Build Coastguard Worker %res = srem <16 x i32> %a, <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7> 1378*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %res 1379*9880d681SAndroid Build Coastguard Worker} 1380*9880d681SAndroid Build Coastguard Worker 1381*9880d681SAndroid Build Coastguard Workerdefine <32 x i16> @test_rem7_32i16(<32 x i16> %a) nounwind { 1382*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_rem7_32i16: 1383*9880d681SAndroid Build Coastguard Worker; AVX512F: # BB#0: 1384*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725,18725] 1385*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmulhw %ymm2, %ymm0, %ymm3 1386*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $15, %ymm3, %ymm4 1387*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsraw $1, %ymm3, %ymm3 1388*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddw %ymm4, %ymm3, %ymm3 1389*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm4 = [7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7] 1390*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm4, %ymm3, %ymm3 1391*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubw %ymm3, %ymm0, %ymm0 1392*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmulhw %ymm2, %ymm1, %ymm2 1393*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $15, %ymm2, %ymm3 1394*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsraw $1, %ymm2, %ymm2 1395*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddw %ymm3, %ymm2, %ymm2 1396*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm4, %ymm2, %ymm2 1397*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubw %ymm2, %ymm1, %ymm1 1398*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1399*9880d681SAndroid Build Coastguard Worker; 1400*9880d681SAndroid Build Coastguard Worker; AVX512BW-LABEL: test_rem7_32i16: 1401*9880d681SAndroid Build Coastguard Worker; AVX512BW: # BB#0: 1402*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpmulhw {{.*}}(%rip), %zmm0, %zmm1 1403*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpsrlw $15, %zmm1, %zmm2 1404*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpsraw $1, %zmm1, %zmm1 1405*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpaddw %zmm2, %zmm1, %zmm1 1406*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpmullw {{.*}}(%rip), %zmm1, %zmm1 1407*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpsubw %zmm1, %zmm0, %zmm0 1408*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: retq 1409*9880d681SAndroid Build Coastguard Worker %res = srem <32 x i16> %a, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7> 1410*9880d681SAndroid Build Coastguard Worker ret <32 x i16> %res 1411*9880d681SAndroid Build Coastguard Worker} 1412*9880d681SAndroid Build Coastguard Worker 1413*9880d681SAndroid Build Coastguard Workerdefine <64 x i8> @test_rem7_64i8(<64 x i8> %a) nounwind { 1414*9880d681SAndroid Build Coastguard Worker; AVX512F-LABEL: test_rem7_64i8: 1415*9880d681SAndroid Build Coastguard Worker; AVX512F: # BB#0: 1416*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm3 = [147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147] 1417*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm2 1418*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm2 1419*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm4 1420*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm4, %ymm4 1421*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm2, %ymm4, %ymm4 1422*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm4, %ymm4 1423*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm3, %ymm3 1424*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm5 1425*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm3, %ymm5, %ymm5 1426*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm5, %ymm5 1427*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm5[2,3],ymm4[2,3] 1428*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm5, %ymm4 1429*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpackuswb %ymm6, %ymm4, %ymm4 1430*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm0, %ymm4, %ymm4 1431*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $7, %ymm4, %ymm6 1432*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm10 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] 1433*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm10, %ymm6, %ymm8 1434*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $2, %ymm4, %ymm4 1435*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm6 = [63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63] 1436*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm6, %ymm4, %ymm4 1437*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vmovdqa {{.*#+}} ymm7 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] 1438*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm7, %ymm4, %ymm4 1439*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubb %ymm7, %ymm4, %ymm4 1440*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm8, %ymm4, %ymm8 1441*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm8, %ymm9 1442*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw {{.*}}(%rip), %ymm4 1443*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm4, %ymm9, %ymm9 1444*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwd %ymm9, %zmm9 1445*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovdb %zmm9, %xmm9 1446*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm8, %xmm5 1447*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm5, %ymm5 1448*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm4, %ymm5, %ymm5 1449*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwd %ymm5, %zmm5 1450*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovdb %zmm5, %xmm5 1451*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm5, %ymm9, %ymm5 1452*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubb %ymm5, %ymm0, %ymm0 1453*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm5 1454*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm5, %ymm5 1455*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm2, %ymm5, %ymm2 1456*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm2, %ymm2 1457*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm5 1458*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm3, %ymm5, %ymm3 1459*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $8, %ymm3, %ymm3 1460*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm3[2,3],ymm2[2,3] 1461*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm3, %ymm2 1462*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpackuswb %ymm5, %ymm2, %ymm2 1463*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm1, %ymm2, %ymm2 1464*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $7, %ymm2, %ymm3 1465*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm10, %ymm3, %ymm3 1466*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsrlw $2, %ymm2, %ymm2 1467*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpand %ymm6, %ymm2, %ymm2 1468*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpxor %ymm7, %ymm2, %ymm2 1469*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubb %ymm7, %ymm2, %ymm2 1470*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpaddb %ymm3, %ymm2, %ymm2 1471*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm3 1472*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm4, %ymm3, %ymm3 1473*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwd %ymm3, %zmm3 1474*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovdb %zmm3, %xmm3 1475*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm2 1476*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm2 1477*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmullw %ymm4, %ymm2, %ymm2 1478*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovsxwd %ymm2, %zmm2 1479*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpmovdb %zmm2, %xmm2 1480*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm3, %ymm2 1481*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: vpsubb %ymm2, %ymm1, %ymm1 1482*9880d681SAndroid Build Coastguard Worker; AVX512F-NEXT: retq 1483*9880d681SAndroid Build Coastguard Worker; 1484*9880d681SAndroid Build Coastguard Worker; AVX512BW-LABEL: test_rem7_64i8: 1485*9880d681SAndroid Build Coastguard Worker; AVX512BW: # BB#0: 1486*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vextracti32x4 $3, %zmm0, %xmm1 1487*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm1, %eax 1488*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %edx 1489*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %edx, %eax 1490*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1491*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1492*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1493*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1494*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1495*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1496*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movb $7, %dil 1497*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1498*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1499*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %dl 1500*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %dl, %edx 1501*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm1, %eax 1502*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %esi 1503*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %esi, %eax 1504*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1505*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %sil, %al 1506*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1507*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1508*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1509*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1510*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1511*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1512*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %sil 1513*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %sil, %eax 1514*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %eax, %xmm2 1515*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %edx, %xmm2, %xmm2 1516*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm1, %eax 1517*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1518*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1519*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1520*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1521*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1522*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1523*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1524*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1525*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1526*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1527*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1528*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1529*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm2, %xmm2 1530*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm1, %eax 1531*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1532*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1533*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1534*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1535*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1536*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1537*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1538*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1539*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1540*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1541*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1542*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1543*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm2, %xmm2 1544*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm1, %eax 1545*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1546*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1547*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1548*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1549*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1550*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1551*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1552*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1553*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1554*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1555*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1556*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1557*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm2, %xmm2 1558*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm1, %eax 1559*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1560*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1561*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1562*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1563*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1564*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1565*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1566*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1567*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1568*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1569*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1570*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1571*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm2, %xmm2 1572*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm1, %eax 1573*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1574*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1575*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1576*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1577*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1578*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1579*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1580*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1581*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1582*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1583*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1584*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1585*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm2, %xmm2 1586*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm1, %eax 1587*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1588*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1589*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1590*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1591*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1592*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1593*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1594*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1595*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1596*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1597*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1598*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1599*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm2, %xmm2 1600*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm1, %eax 1601*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1602*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1603*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1604*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1605*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1606*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1607*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1608*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1609*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1610*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1611*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1612*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1613*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm2, %xmm2 1614*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm1, %eax 1615*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1616*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1617*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1618*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1619*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1620*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1621*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1622*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1623*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1624*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1625*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1626*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1627*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm2, %xmm2 1628*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm1, %eax 1629*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1630*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1631*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1632*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1633*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1634*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1635*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1636*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1637*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1638*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1639*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1640*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1641*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm2, %xmm2 1642*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm1, %eax 1643*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1644*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1645*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1646*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1647*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1648*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1649*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1650*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1651*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1652*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1653*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1654*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1655*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm2, %xmm2 1656*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm1, %eax 1657*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1658*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1659*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1660*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1661*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1662*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1663*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1664*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1665*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1666*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1667*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1668*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1669*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm2, %xmm2 1670*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm1, %eax 1671*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1672*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1673*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1674*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1675*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1676*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1677*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1678*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1679*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1680*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1681*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1682*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1683*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm2, %xmm2 1684*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm1, %eax 1685*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1686*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1687*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1688*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1689*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1690*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1691*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1692*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1693*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1694*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1695*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1696*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1697*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm2, %xmm2 1698*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm1, %eax 1699*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1700*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1701*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1702*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1703*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1704*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1705*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1706*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1707*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1708*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1709*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1710*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1711*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm2, %xmm1 1712*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vextracti32x4 $2, %zmm0, %xmm2 1713*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm2, %eax 1714*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1715*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1716*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1717*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1718*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1719*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1720*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1721*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1722*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1723*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1724*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1725*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %esi 1726*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm2, %eax 1727*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %edx 1728*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %edx, %eax 1729*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1730*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1731*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1732*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1733*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1734*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1735*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1736*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1737*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %dl 1738*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %dl, %eax 1739*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %eax, %xmm3 1740*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %esi, %xmm3, %xmm3 1741*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm2, %eax 1742*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1743*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1744*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1745*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1746*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1747*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1748*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1749*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1750*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1751*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1752*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1753*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1754*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm3, %xmm3 1755*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm2, %eax 1756*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1757*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1758*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1759*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1760*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1761*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1762*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1763*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1764*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1765*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1766*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1767*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1768*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm3, %xmm3 1769*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm2, %eax 1770*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1771*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1772*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1773*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1774*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1775*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1776*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1777*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1778*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1779*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1780*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1781*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1782*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm3, %xmm3 1783*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm2, %eax 1784*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1785*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1786*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1787*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1788*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1789*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1790*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1791*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1792*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1793*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1794*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1795*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1796*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm3, %xmm3 1797*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm2, %eax 1798*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1799*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1800*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1801*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1802*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1803*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1804*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1805*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1806*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1807*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1808*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1809*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1810*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm3, %xmm3 1811*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm2, %eax 1812*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1813*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1814*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1815*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1816*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1817*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1818*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1819*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1820*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1821*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1822*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1823*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1824*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm3, %xmm3 1825*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm2, %eax 1826*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1827*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1828*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1829*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1830*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1831*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1832*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1833*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1834*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1835*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1836*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1837*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1838*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm3, %xmm3 1839*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm2, %eax 1840*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1841*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1842*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1843*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1844*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1845*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1846*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1847*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1848*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1849*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1850*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1851*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1852*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm3, %xmm3 1853*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm2, %eax 1854*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1855*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1856*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1857*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1858*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1859*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1860*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1861*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1862*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1863*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1864*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1865*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1866*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm3, %xmm3 1867*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm2, %eax 1868*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1869*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1870*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1871*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1872*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1873*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1874*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1875*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1876*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1877*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1878*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1879*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1880*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm3, %xmm3 1881*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm2, %eax 1882*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1883*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1884*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1885*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1886*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1887*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1888*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1889*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1890*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1891*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1892*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1893*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1894*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm3, %xmm3 1895*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm2, %eax 1896*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1897*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1898*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1899*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1900*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1901*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1902*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1903*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1904*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1905*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1906*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1907*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1908*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm3, %xmm3 1909*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm2, %eax 1910*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1911*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1912*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1913*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1914*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1915*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1916*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1917*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1918*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1919*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1920*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1921*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1922*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm3, %xmm3 1923*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm2, %eax 1924*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1925*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1926*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1927*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1928*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1929*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1930*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1931*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1932*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1933*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1934*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1935*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1936*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm3, %xmm2 1937*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1 1938*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vextracti32x4 $1, %zmm0, %xmm2 1939*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm2, %eax 1940*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1941*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1942*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1943*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1944*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1945*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1946*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1947*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1948*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1949*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1950*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1951*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %esi 1952*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm2, %eax 1953*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %edx 1954*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %edx, %eax 1955*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1956*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1957*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 1958*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 1959*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1960*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1961*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1962*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1963*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %dl 1964*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %dl, %eax 1965*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %eax, %xmm3 1966*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %esi, %xmm3, %xmm3 1967*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm2, %eax 1968*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1969*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1970*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1971*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1972*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1973*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1974*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1975*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1976*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1977*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1978*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1979*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1980*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm3, %xmm3 1981*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm2, %eax 1982*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1983*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1984*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1985*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 1986*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 1987*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 1988*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 1989*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 1990*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 1991*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 1992*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 1993*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 1994*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm3, %xmm3 1995*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm2, %eax 1996*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 1997*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 1998*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 1999*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2000*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2001*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2002*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2003*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2004*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2005*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2006*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2007*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2008*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm3, %xmm3 2009*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm2, %eax 2010*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2011*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2012*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2013*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2014*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2015*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2016*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2017*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2018*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2019*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2020*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2021*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2022*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm3, %xmm3 2023*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm2, %eax 2024*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2025*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2026*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2027*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2028*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2029*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2030*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2031*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2032*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2033*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2034*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2035*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2036*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm3, %xmm3 2037*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm2, %eax 2038*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2039*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2040*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2041*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2042*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2043*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2044*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2045*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2046*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2047*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2048*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2049*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2050*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm3, %xmm3 2051*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm2, %eax 2052*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2053*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2054*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2055*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2056*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2057*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2058*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2059*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2060*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2061*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2062*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2063*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2064*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm3, %xmm3 2065*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm2, %eax 2066*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2067*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2068*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2069*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2070*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2071*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2072*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2073*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2074*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2075*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2076*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2077*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2078*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm3, %xmm3 2079*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm2, %eax 2080*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2081*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2082*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2083*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2084*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2085*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2086*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2087*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2088*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2089*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2090*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2091*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2092*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm3, %xmm3 2093*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm2, %eax 2094*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2095*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2096*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2097*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2098*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2099*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2100*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2101*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2102*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2103*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2104*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2105*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2106*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm3, %xmm3 2107*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm2, %eax 2108*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2109*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2110*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2111*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2112*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2113*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2114*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2115*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2116*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2117*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2118*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2119*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2120*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm3, %xmm3 2121*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm2, %eax 2122*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2123*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2124*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2125*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2126*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2127*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2128*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2129*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2130*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2131*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2132*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2133*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2134*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm3, %xmm3 2135*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm2, %eax 2136*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2137*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2138*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2139*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2140*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2141*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2142*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2143*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2144*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2145*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2146*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2147*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2148*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm3, %xmm3 2149*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm2, %eax 2150*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2151*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2152*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2153*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2154*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2155*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2156*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2157*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2158*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2159*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2160*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2161*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2162*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm3, %xmm2 2163*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $1, %xmm0, %eax 2164*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2165*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2166*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2167*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2168*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2169*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2170*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2171*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2172*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2173*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2174*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2175*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %esi 2176*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $0, %xmm0, %eax 2177*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %edx 2178*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %edx, %eax 2179*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2180*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2181*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %ecx 2182*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %cl 2183*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2184*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2185*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2186*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2187*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %dl 2188*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %dl, %eax 2189*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vmovd %eax, %xmm3 2190*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $1, %esi, %xmm3, %xmm3 2191*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $2, %xmm0, %eax 2192*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2193*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2194*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2195*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2196*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2197*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2198*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2199*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2200*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2201*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2202*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2203*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2204*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $2, %eax, %xmm3, %xmm3 2205*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $3, %xmm0, %eax 2206*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2207*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2208*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2209*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2210*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2211*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2212*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2213*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2214*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2215*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2216*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2217*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2218*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $3, %eax, %xmm3, %xmm3 2219*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $4, %xmm0, %eax 2220*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2221*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2222*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2223*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2224*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2225*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2226*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2227*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2228*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2229*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2230*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2231*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2232*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $4, %eax, %xmm3, %xmm3 2233*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $5, %xmm0, %eax 2234*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2235*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2236*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2237*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2238*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2239*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2240*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2241*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2242*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2243*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2244*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2245*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2246*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $5, %eax, %xmm3, %xmm3 2247*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $6, %xmm0, %eax 2248*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2249*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2250*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2251*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2252*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2253*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2254*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2255*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2256*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2257*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2258*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2259*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2260*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $6, %eax, %xmm3, %xmm3 2261*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $7, %xmm0, %eax 2262*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2263*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2264*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2265*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2266*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2267*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2268*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2269*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2270*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2271*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2272*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2273*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2274*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $7, %eax, %xmm3, %xmm3 2275*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $8, %xmm0, %eax 2276*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2277*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2278*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2279*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2280*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2281*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2282*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2283*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2284*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2285*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2286*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2287*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2288*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $8, %eax, %xmm3, %xmm3 2289*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $9, %xmm0, %eax 2290*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2291*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2292*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2293*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2294*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2295*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2296*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2297*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2298*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2299*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2300*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2301*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2302*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $9, %eax, %xmm3, %xmm3 2303*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $10, %xmm0, %eax 2304*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2305*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2306*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2307*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2308*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2309*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2310*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2311*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2312*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2313*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2314*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2315*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2316*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $10, %eax, %xmm3, %xmm3 2317*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $11, %xmm0, %eax 2318*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2319*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2320*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2321*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2322*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2323*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2324*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2325*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2326*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2327*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2328*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2329*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2330*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $11, %eax, %xmm3, %xmm3 2331*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $12, %xmm0, %eax 2332*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2333*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2334*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2335*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2336*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2337*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2338*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2339*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2340*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2341*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2342*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2343*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2344*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $12, %eax, %xmm3, %xmm3 2345*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $13, %xmm0, %eax 2346*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2347*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2348*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2349*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2350*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2351*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2352*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2353*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2354*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2355*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2356*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2357*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2358*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $13, %eax, %xmm3, %xmm3 2359*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $14, %xmm0, %eax 2360*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2361*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2362*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2363*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2364*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2365*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2366*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2367*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2368*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2369*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2370*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2371*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2372*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $14, %eax, %xmm3, %xmm3 2373*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpextrb $15, %xmm0, %eax 2374*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movsbl %al, %ecx 2375*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: imull $-109, %ecx, %eax 2376*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrl $8, %eax 2377*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %cl, %al 2378*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movl %eax, %edx 2379*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: shrb $7, %dl 2380*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: sarb $2, %al 2381*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: addb %dl, %al 2382*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 2383*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: mulb %dil 2384*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: subb %al, %cl 2385*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: movzbl %cl, %eax 2386*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vpinsrb $15, %eax, %xmm3, %xmm0 2387*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0 2388*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0 2389*9880d681SAndroid Build Coastguard Worker; AVX512BW-NEXT: retq 2390*9880d681SAndroid Build Coastguard Worker %res = srem <64 x i8> %a, <i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7,i8 7, i8 7, i8 7, i8 7> 2391*9880d681SAndroid Build Coastguard Worker ret <64 x i8> %res 2392*9880d681SAndroid Build Coastguard Worker} 2393