1*4757b351SPierre Pronchery/* Do not modify. This file is auto-generated from rsaz-4k-avxifma.pl. */ 2*4757b351SPierre Pronchery.text 3*4757b351SPierre Pronchery 4*4757b351SPierre Pronchery.globl ossl_rsaz_amm52x40_x1_avxifma256 5*4757b351SPierre Pronchery.type ossl_rsaz_amm52x40_x1_avxifma256,@function 6*4757b351SPierre Pronchery.align 32 7*4757b351SPierre Proncheryossl_rsaz_amm52x40_x1_avxifma256: 8*4757b351SPierre Pronchery.cfi_startproc 9*4757b351SPierre Pronchery.byte 243,15,30,250 10*4757b351SPierre Pronchery pushq %rbx 11*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 12*4757b351SPierre Pronchery.cfi_offset %rbx,-16 13*4757b351SPierre Pronchery pushq %rbp 14*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 15*4757b351SPierre Pronchery.cfi_offset %rbp,-24 16*4757b351SPierre Pronchery pushq %r12 17*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 18*4757b351SPierre Pronchery.cfi_offset %r12,-32 19*4757b351SPierre Pronchery pushq %r13 20*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 21*4757b351SPierre Pronchery.cfi_offset %r13,-40 22*4757b351SPierre Pronchery pushq %r14 23*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 24*4757b351SPierre Pronchery.cfi_offset %r14,-48 25*4757b351SPierre Pronchery pushq %r15 26*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 27*4757b351SPierre Pronchery.cfi_offset %r15,-56 28*4757b351SPierre Pronchery 29*4757b351SPierre Pronchery vpxor %ymm0,%ymm0,%ymm0 30*4757b351SPierre Pronchery vmovapd %ymm0,%ymm3 31*4757b351SPierre Pronchery vmovapd %ymm0,%ymm4 32*4757b351SPierre Pronchery vmovapd %ymm0,%ymm5 33*4757b351SPierre Pronchery vmovapd %ymm0,%ymm6 34*4757b351SPierre Pronchery vmovapd %ymm0,%ymm7 35*4757b351SPierre Pronchery vmovapd %ymm0,%ymm8 36*4757b351SPierre Pronchery vmovapd %ymm0,%ymm9 37*4757b351SPierre Pronchery vmovapd %ymm0,%ymm10 38*4757b351SPierre Pronchery vmovapd %ymm0,%ymm11 39*4757b351SPierre Pronchery vmovapd %ymm0,%ymm12 40*4757b351SPierre Pronchery 41*4757b351SPierre Pronchery xorl %r9d,%r9d 42*4757b351SPierre Pronchery 43*4757b351SPierre Pronchery movq %rdx,%r11 44*4757b351SPierre Pronchery movq $0xfffffffffffff,%rax 45*4757b351SPierre Pronchery 46*4757b351SPierre Pronchery 47*4757b351SPierre Pronchery movl $10,%ebx 48*4757b351SPierre Pronchery 49*4757b351SPierre Pronchery.align 32 50*4757b351SPierre Pronchery.Lloop10: 51*4757b351SPierre Pronchery movq 0(%r11),%r13 52*4757b351SPierre Pronchery 53*4757b351SPierre Pronchery vpbroadcastq 0(%r11),%ymm1 54*4757b351SPierre Pronchery movq 0(%rsi),%rdx 55*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 56*4757b351SPierre Pronchery addq %r13,%r9 57*4757b351SPierre Pronchery movq %r12,%r10 58*4757b351SPierre Pronchery adcq $0,%r10 59*4757b351SPierre Pronchery 60*4757b351SPierre Pronchery movq %r8,%r13 61*4757b351SPierre Pronchery imulq %r9,%r13 62*4757b351SPierre Pronchery andq %rax,%r13 63*4757b351SPierre Pronchery 64*4757b351SPierre Pronchery vmovq %r13,%xmm2 65*4757b351SPierre Pronchery vpbroadcastq %xmm2,%ymm2 66*4757b351SPierre Pronchery movq 0(%rcx),%rdx 67*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 68*4757b351SPierre Pronchery addq %r13,%r9 69*4757b351SPierre Pronchery adcq %r12,%r10 70*4757b351SPierre Pronchery 71*4757b351SPierre Pronchery shrq $52,%r9 72*4757b351SPierre Pronchery salq $12,%r10 73*4757b351SPierre Pronchery orq %r10,%r9 74*4757b351SPierre Pronchery 75*4757b351SPierre Pronchery leaq -328(%rsp),%rsp 76*4757b351SPierre Pronchery 77*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rsi),%ymm1,%ymm3 78*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rsi),%ymm1,%ymm4 79*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rsi),%ymm1,%ymm5 80*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rsi),%ymm1,%ymm6 81*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rsi),%ymm1,%ymm7 82*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rsi),%ymm1,%ymm8 83*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rsi),%ymm1,%ymm9 84*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rsi),%ymm1,%ymm10 85*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rsi),%ymm1,%ymm11 86*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rsi),%ymm1,%ymm12 87*4757b351SPierre Pronchery 88*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rcx),%ymm2,%ymm3 89*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rcx),%ymm2,%ymm4 90*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rcx),%ymm2,%ymm5 91*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rcx),%ymm2,%ymm6 92*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rcx),%ymm2,%ymm7 93*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rcx),%ymm2,%ymm8 94*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rcx),%ymm2,%ymm9 95*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rcx),%ymm2,%ymm10 96*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rcx),%ymm2,%ymm11 97*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rcx),%ymm2,%ymm12 98*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rsp) 99*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rsp) 100*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rsp) 101*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rsp) 102*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rsp) 103*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rsp) 104*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rsp) 105*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rsp) 106*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rsp) 107*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rsp) 108*4757b351SPierre Pronchery movq $0,320(%rsp) 109*4757b351SPierre Pronchery 110*4757b351SPierre Pronchery vmovdqu 8(%rsp),%ymm3 111*4757b351SPierre Pronchery vmovdqu 40(%rsp),%ymm4 112*4757b351SPierre Pronchery vmovdqu 72(%rsp),%ymm5 113*4757b351SPierre Pronchery vmovdqu 104(%rsp),%ymm6 114*4757b351SPierre Pronchery vmovdqu 136(%rsp),%ymm7 115*4757b351SPierre Pronchery vmovdqu 168(%rsp),%ymm8 116*4757b351SPierre Pronchery vmovdqu 200(%rsp),%ymm9 117*4757b351SPierre Pronchery vmovdqu 232(%rsp),%ymm10 118*4757b351SPierre Pronchery vmovdqu 264(%rsp),%ymm11 119*4757b351SPierre Pronchery vmovdqu 296(%rsp),%ymm12 120*4757b351SPierre Pronchery 121*4757b351SPierre Pronchery addq 8(%rsp),%r9 122*4757b351SPierre Pronchery 123*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rsi),%ymm1,%ymm3 124*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rsi),%ymm1,%ymm4 125*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rsi),%ymm1,%ymm5 126*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rsi),%ymm1,%ymm6 127*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rsi),%ymm1,%ymm7 128*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rsi),%ymm1,%ymm8 129*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rsi),%ymm1,%ymm9 130*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rsi),%ymm1,%ymm10 131*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rsi),%ymm1,%ymm11 132*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rsi),%ymm1,%ymm12 133*4757b351SPierre Pronchery 134*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rcx),%ymm2,%ymm3 135*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rcx),%ymm2,%ymm4 136*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rcx),%ymm2,%ymm5 137*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rcx),%ymm2,%ymm6 138*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rcx),%ymm2,%ymm7 139*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rcx),%ymm2,%ymm8 140*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rcx),%ymm2,%ymm9 141*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rcx),%ymm2,%ymm10 142*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rcx),%ymm2,%ymm11 143*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rcx),%ymm2,%ymm12 144*4757b351SPierre Pronchery leaq 328(%rsp),%rsp 145*4757b351SPierre Pronchery movq 8(%r11),%r13 146*4757b351SPierre Pronchery 147*4757b351SPierre Pronchery vpbroadcastq 8(%r11),%ymm1 148*4757b351SPierre Pronchery movq 0(%rsi),%rdx 149*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 150*4757b351SPierre Pronchery addq %r13,%r9 151*4757b351SPierre Pronchery movq %r12,%r10 152*4757b351SPierre Pronchery adcq $0,%r10 153*4757b351SPierre Pronchery 154*4757b351SPierre Pronchery movq %r8,%r13 155*4757b351SPierre Pronchery imulq %r9,%r13 156*4757b351SPierre Pronchery andq %rax,%r13 157*4757b351SPierre Pronchery 158*4757b351SPierre Pronchery vmovq %r13,%xmm2 159*4757b351SPierre Pronchery vpbroadcastq %xmm2,%ymm2 160*4757b351SPierre Pronchery movq 0(%rcx),%rdx 161*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 162*4757b351SPierre Pronchery addq %r13,%r9 163*4757b351SPierre Pronchery adcq %r12,%r10 164*4757b351SPierre Pronchery 165*4757b351SPierre Pronchery shrq $52,%r9 166*4757b351SPierre Pronchery salq $12,%r10 167*4757b351SPierre Pronchery orq %r10,%r9 168*4757b351SPierre Pronchery 169*4757b351SPierre Pronchery leaq -328(%rsp),%rsp 170*4757b351SPierre Pronchery 171*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rsi),%ymm1,%ymm3 172*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rsi),%ymm1,%ymm4 173*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rsi),%ymm1,%ymm5 174*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rsi),%ymm1,%ymm6 175*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rsi),%ymm1,%ymm7 176*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rsi),%ymm1,%ymm8 177*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rsi),%ymm1,%ymm9 178*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rsi),%ymm1,%ymm10 179*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rsi),%ymm1,%ymm11 180*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rsi),%ymm1,%ymm12 181*4757b351SPierre Pronchery 182*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rcx),%ymm2,%ymm3 183*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rcx),%ymm2,%ymm4 184*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rcx),%ymm2,%ymm5 185*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rcx),%ymm2,%ymm6 186*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rcx),%ymm2,%ymm7 187*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rcx),%ymm2,%ymm8 188*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rcx),%ymm2,%ymm9 189*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rcx),%ymm2,%ymm10 190*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rcx),%ymm2,%ymm11 191*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rcx),%ymm2,%ymm12 192*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rsp) 193*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rsp) 194*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rsp) 195*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rsp) 196*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rsp) 197*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rsp) 198*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rsp) 199*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rsp) 200*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rsp) 201*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rsp) 202*4757b351SPierre Pronchery movq $0,320(%rsp) 203*4757b351SPierre Pronchery 204*4757b351SPierre Pronchery vmovdqu 8(%rsp),%ymm3 205*4757b351SPierre Pronchery vmovdqu 40(%rsp),%ymm4 206*4757b351SPierre Pronchery vmovdqu 72(%rsp),%ymm5 207*4757b351SPierre Pronchery vmovdqu 104(%rsp),%ymm6 208*4757b351SPierre Pronchery vmovdqu 136(%rsp),%ymm7 209*4757b351SPierre Pronchery vmovdqu 168(%rsp),%ymm8 210*4757b351SPierre Pronchery vmovdqu 200(%rsp),%ymm9 211*4757b351SPierre Pronchery vmovdqu 232(%rsp),%ymm10 212*4757b351SPierre Pronchery vmovdqu 264(%rsp),%ymm11 213*4757b351SPierre Pronchery vmovdqu 296(%rsp),%ymm12 214*4757b351SPierre Pronchery 215*4757b351SPierre Pronchery addq 8(%rsp),%r9 216*4757b351SPierre Pronchery 217*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rsi),%ymm1,%ymm3 218*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rsi),%ymm1,%ymm4 219*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rsi),%ymm1,%ymm5 220*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rsi),%ymm1,%ymm6 221*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rsi),%ymm1,%ymm7 222*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rsi),%ymm1,%ymm8 223*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rsi),%ymm1,%ymm9 224*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rsi),%ymm1,%ymm10 225*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rsi),%ymm1,%ymm11 226*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rsi),%ymm1,%ymm12 227*4757b351SPierre Pronchery 228*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rcx),%ymm2,%ymm3 229*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rcx),%ymm2,%ymm4 230*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rcx),%ymm2,%ymm5 231*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rcx),%ymm2,%ymm6 232*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rcx),%ymm2,%ymm7 233*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rcx),%ymm2,%ymm8 234*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rcx),%ymm2,%ymm9 235*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rcx),%ymm2,%ymm10 236*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rcx),%ymm2,%ymm11 237*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rcx),%ymm2,%ymm12 238*4757b351SPierre Pronchery leaq 328(%rsp),%rsp 239*4757b351SPierre Pronchery movq 16(%r11),%r13 240*4757b351SPierre Pronchery 241*4757b351SPierre Pronchery vpbroadcastq 16(%r11),%ymm1 242*4757b351SPierre Pronchery movq 0(%rsi),%rdx 243*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 244*4757b351SPierre Pronchery addq %r13,%r9 245*4757b351SPierre Pronchery movq %r12,%r10 246*4757b351SPierre Pronchery adcq $0,%r10 247*4757b351SPierre Pronchery 248*4757b351SPierre Pronchery movq %r8,%r13 249*4757b351SPierre Pronchery imulq %r9,%r13 250*4757b351SPierre Pronchery andq %rax,%r13 251*4757b351SPierre Pronchery 252*4757b351SPierre Pronchery vmovq %r13,%xmm2 253*4757b351SPierre Pronchery vpbroadcastq %xmm2,%ymm2 254*4757b351SPierre Pronchery movq 0(%rcx),%rdx 255*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 256*4757b351SPierre Pronchery addq %r13,%r9 257*4757b351SPierre Pronchery adcq %r12,%r10 258*4757b351SPierre Pronchery 259*4757b351SPierre Pronchery shrq $52,%r9 260*4757b351SPierre Pronchery salq $12,%r10 261*4757b351SPierre Pronchery orq %r10,%r9 262*4757b351SPierre Pronchery 263*4757b351SPierre Pronchery leaq -328(%rsp),%rsp 264*4757b351SPierre Pronchery 265*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rsi),%ymm1,%ymm3 266*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rsi),%ymm1,%ymm4 267*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rsi),%ymm1,%ymm5 268*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rsi),%ymm1,%ymm6 269*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rsi),%ymm1,%ymm7 270*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rsi),%ymm1,%ymm8 271*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rsi),%ymm1,%ymm9 272*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rsi),%ymm1,%ymm10 273*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rsi),%ymm1,%ymm11 274*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rsi),%ymm1,%ymm12 275*4757b351SPierre Pronchery 276*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rcx),%ymm2,%ymm3 277*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rcx),%ymm2,%ymm4 278*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rcx),%ymm2,%ymm5 279*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rcx),%ymm2,%ymm6 280*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rcx),%ymm2,%ymm7 281*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rcx),%ymm2,%ymm8 282*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rcx),%ymm2,%ymm9 283*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rcx),%ymm2,%ymm10 284*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rcx),%ymm2,%ymm11 285*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rcx),%ymm2,%ymm12 286*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rsp) 287*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rsp) 288*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rsp) 289*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rsp) 290*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rsp) 291*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rsp) 292*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rsp) 293*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rsp) 294*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rsp) 295*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rsp) 296*4757b351SPierre Pronchery movq $0,320(%rsp) 297*4757b351SPierre Pronchery 298*4757b351SPierre Pronchery vmovdqu 8(%rsp),%ymm3 299*4757b351SPierre Pronchery vmovdqu 40(%rsp),%ymm4 300*4757b351SPierre Pronchery vmovdqu 72(%rsp),%ymm5 301*4757b351SPierre Pronchery vmovdqu 104(%rsp),%ymm6 302*4757b351SPierre Pronchery vmovdqu 136(%rsp),%ymm7 303*4757b351SPierre Pronchery vmovdqu 168(%rsp),%ymm8 304*4757b351SPierre Pronchery vmovdqu 200(%rsp),%ymm9 305*4757b351SPierre Pronchery vmovdqu 232(%rsp),%ymm10 306*4757b351SPierre Pronchery vmovdqu 264(%rsp),%ymm11 307*4757b351SPierre Pronchery vmovdqu 296(%rsp),%ymm12 308*4757b351SPierre Pronchery 309*4757b351SPierre Pronchery addq 8(%rsp),%r9 310*4757b351SPierre Pronchery 311*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rsi),%ymm1,%ymm3 312*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rsi),%ymm1,%ymm4 313*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rsi),%ymm1,%ymm5 314*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rsi),%ymm1,%ymm6 315*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rsi),%ymm1,%ymm7 316*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rsi),%ymm1,%ymm8 317*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rsi),%ymm1,%ymm9 318*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rsi),%ymm1,%ymm10 319*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rsi),%ymm1,%ymm11 320*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rsi),%ymm1,%ymm12 321*4757b351SPierre Pronchery 322*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rcx),%ymm2,%ymm3 323*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rcx),%ymm2,%ymm4 324*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rcx),%ymm2,%ymm5 325*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rcx),%ymm2,%ymm6 326*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rcx),%ymm2,%ymm7 327*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rcx),%ymm2,%ymm8 328*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rcx),%ymm2,%ymm9 329*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rcx),%ymm2,%ymm10 330*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rcx),%ymm2,%ymm11 331*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rcx),%ymm2,%ymm12 332*4757b351SPierre Pronchery leaq 328(%rsp),%rsp 333*4757b351SPierre Pronchery movq 24(%r11),%r13 334*4757b351SPierre Pronchery 335*4757b351SPierre Pronchery vpbroadcastq 24(%r11),%ymm1 336*4757b351SPierre Pronchery movq 0(%rsi),%rdx 337*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 338*4757b351SPierre Pronchery addq %r13,%r9 339*4757b351SPierre Pronchery movq %r12,%r10 340*4757b351SPierre Pronchery adcq $0,%r10 341*4757b351SPierre Pronchery 342*4757b351SPierre Pronchery movq %r8,%r13 343*4757b351SPierre Pronchery imulq %r9,%r13 344*4757b351SPierre Pronchery andq %rax,%r13 345*4757b351SPierre Pronchery 346*4757b351SPierre Pronchery vmovq %r13,%xmm2 347*4757b351SPierre Pronchery vpbroadcastq %xmm2,%ymm2 348*4757b351SPierre Pronchery movq 0(%rcx),%rdx 349*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 350*4757b351SPierre Pronchery addq %r13,%r9 351*4757b351SPierre Pronchery adcq %r12,%r10 352*4757b351SPierre Pronchery 353*4757b351SPierre Pronchery shrq $52,%r9 354*4757b351SPierre Pronchery salq $12,%r10 355*4757b351SPierre Pronchery orq %r10,%r9 356*4757b351SPierre Pronchery 357*4757b351SPierre Pronchery leaq -328(%rsp),%rsp 358*4757b351SPierre Pronchery 359*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rsi),%ymm1,%ymm3 360*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rsi),%ymm1,%ymm4 361*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rsi),%ymm1,%ymm5 362*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rsi),%ymm1,%ymm6 363*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rsi),%ymm1,%ymm7 364*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rsi),%ymm1,%ymm8 365*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rsi),%ymm1,%ymm9 366*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rsi),%ymm1,%ymm10 367*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rsi),%ymm1,%ymm11 368*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rsi),%ymm1,%ymm12 369*4757b351SPierre Pronchery 370*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rcx),%ymm2,%ymm3 371*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rcx),%ymm2,%ymm4 372*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rcx),%ymm2,%ymm5 373*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rcx),%ymm2,%ymm6 374*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rcx),%ymm2,%ymm7 375*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rcx),%ymm2,%ymm8 376*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rcx),%ymm2,%ymm9 377*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rcx),%ymm2,%ymm10 378*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rcx),%ymm2,%ymm11 379*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rcx),%ymm2,%ymm12 380*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rsp) 381*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rsp) 382*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rsp) 383*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rsp) 384*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rsp) 385*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rsp) 386*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rsp) 387*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rsp) 388*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rsp) 389*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rsp) 390*4757b351SPierre Pronchery movq $0,320(%rsp) 391*4757b351SPierre Pronchery 392*4757b351SPierre Pronchery vmovdqu 8(%rsp),%ymm3 393*4757b351SPierre Pronchery vmovdqu 40(%rsp),%ymm4 394*4757b351SPierre Pronchery vmovdqu 72(%rsp),%ymm5 395*4757b351SPierre Pronchery vmovdqu 104(%rsp),%ymm6 396*4757b351SPierre Pronchery vmovdqu 136(%rsp),%ymm7 397*4757b351SPierre Pronchery vmovdqu 168(%rsp),%ymm8 398*4757b351SPierre Pronchery vmovdqu 200(%rsp),%ymm9 399*4757b351SPierre Pronchery vmovdqu 232(%rsp),%ymm10 400*4757b351SPierre Pronchery vmovdqu 264(%rsp),%ymm11 401*4757b351SPierre Pronchery vmovdqu 296(%rsp),%ymm12 402*4757b351SPierre Pronchery 403*4757b351SPierre Pronchery addq 8(%rsp),%r9 404*4757b351SPierre Pronchery 405*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rsi),%ymm1,%ymm3 406*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rsi),%ymm1,%ymm4 407*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rsi),%ymm1,%ymm5 408*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rsi),%ymm1,%ymm6 409*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rsi),%ymm1,%ymm7 410*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rsi),%ymm1,%ymm8 411*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rsi),%ymm1,%ymm9 412*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rsi),%ymm1,%ymm10 413*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rsi),%ymm1,%ymm11 414*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rsi),%ymm1,%ymm12 415*4757b351SPierre Pronchery 416*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rcx),%ymm2,%ymm3 417*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rcx),%ymm2,%ymm4 418*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rcx),%ymm2,%ymm5 419*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rcx),%ymm2,%ymm6 420*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rcx),%ymm2,%ymm7 421*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rcx),%ymm2,%ymm8 422*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rcx),%ymm2,%ymm9 423*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rcx),%ymm2,%ymm10 424*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rcx),%ymm2,%ymm11 425*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rcx),%ymm2,%ymm12 426*4757b351SPierre Pronchery leaq 328(%rsp),%rsp 427*4757b351SPierre Pronchery leaq 32(%r11),%r11 428*4757b351SPierre Pronchery decl %ebx 429*4757b351SPierre Pronchery jne .Lloop10 430*4757b351SPierre Pronchery 431*4757b351SPierre Pronchery vmovq %r9,%xmm0 432*4757b351SPierre Pronchery vpbroadcastq %xmm0,%ymm0 433*4757b351SPierre Pronchery vpblendd $3,%ymm0,%ymm3,%ymm3 434*4757b351SPierre Pronchery 435*4757b351SPierre Pronchery leaq -640(%rsp),%rsp 436*4757b351SPierre Pronchery vmovupd %ymm3,0(%rsp) 437*4757b351SPierre Pronchery vmovupd %ymm4,32(%rsp) 438*4757b351SPierre Pronchery vmovupd %ymm5,64(%rsp) 439*4757b351SPierre Pronchery vmovupd %ymm6,96(%rsp) 440*4757b351SPierre Pronchery vmovupd %ymm7,128(%rsp) 441*4757b351SPierre Pronchery vmovupd %ymm8,160(%rsp) 442*4757b351SPierre Pronchery vmovupd %ymm9,192(%rsp) 443*4757b351SPierre Pronchery vmovupd %ymm10,224(%rsp) 444*4757b351SPierre Pronchery vmovupd %ymm11,256(%rsp) 445*4757b351SPierre Pronchery vmovupd %ymm12,288(%rsp) 446*4757b351SPierre Pronchery 447*4757b351SPierre Pronchery 448*4757b351SPierre Pronchery 449*4757b351SPierre Pronchery vpsrlq $52,%ymm3,%ymm3 450*4757b351SPierre Pronchery vpsrlq $52,%ymm4,%ymm4 451*4757b351SPierre Pronchery vpsrlq $52,%ymm5,%ymm5 452*4757b351SPierre Pronchery vpsrlq $52,%ymm6,%ymm6 453*4757b351SPierre Pronchery vpsrlq $52,%ymm7,%ymm7 454*4757b351SPierre Pronchery vpsrlq $52,%ymm8,%ymm8 455*4757b351SPierre Pronchery vpsrlq $52,%ymm9,%ymm9 456*4757b351SPierre Pronchery vpsrlq $52,%ymm10,%ymm10 457*4757b351SPierre Pronchery vpsrlq $52,%ymm11,%ymm11 458*4757b351SPierre Pronchery vpsrlq $52,%ymm12,%ymm12 459*4757b351SPierre Pronchery 460*4757b351SPierre Pronchery 461*4757b351SPierre Pronchery vpermq $144,%ymm12,%ymm12 462*4757b351SPierre Pronchery vpermq $3,%ymm11,%ymm13 463*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm12,%ymm12 464*4757b351SPierre Pronchery 465*4757b351SPierre Pronchery vpermq $144,%ymm11,%ymm11 466*4757b351SPierre Pronchery vpermq $3,%ymm10,%ymm13 467*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm11,%ymm11 468*4757b351SPierre Pronchery 469*4757b351SPierre Pronchery vpermq $144,%ymm10,%ymm10 470*4757b351SPierre Pronchery vpermq $3,%ymm9,%ymm13 471*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm10,%ymm10 472*4757b351SPierre Pronchery 473*4757b351SPierre Pronchery vpermq $144,%ymm9,%ymm9 474*4757b351SPierre Pronchery vpermq $3,%ymm8,%ymm13 475*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm9,%ymm9 476*4757b351SPierre Pronchery 477*4757b351SPierre Pronchery vpermq $144,%ymm8,%ymm8 478*4757b351SPierre Pronchery vpermq $3,%ymm7,%ymm13 479*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm8,%ymm8 480*4757b351SPierre Pronchery 481*4757b351SPierre Pronchery vpermq $144,%ymm7,%ymm7 482*4757b351SPierre Pronchery vpermq $3,%ymm6,%ymm13 483*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm7,%ymm7 484*4757b351SPierre Pronchery 485*4757b351SPierre Pronchery vpermq $144,%ymm6,%ymm6 486*4757b351SPierre Pronchery vpermq $3,%ymm5,%ymm13 487*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm6,%ymm6 488*4757b351SPierre Pronchery 489*4757b351SPierre Pronchery vpermq $144,%ymm5,%ymm5 490*4757b351SPierre Pronchery vpermq $3,%ymm4,%ymm13 491*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm5,%ymm5 492*4757b351SPierre Pronchery 493*4757b351SPierre Pronchery vpermq $144,%ymm4,%ymm4 494*4757b351SPierre Pronchery vpermq $3,%ymm3,%ymm13 495*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm4,%ymm4 496*4757b351SPierre Pronchery 497*4757b351SPierre Pronchery vpermq $144,%ymm3,%ymm3 498*4757b351SPierre Pronchery vpand .Lhigh64x3(%rip),%ymm3,%ymm3 499*4757b351SPierre Pronchery 500*4757b351SPierre Pronchery vmovupd %ymm3,320(%rsp) 501*4757b351SPierre Pronchery vmovupd %ymm4,352(%rsp) 502*4757b351SPierre Pronchery vmovupd %ymm5,384(%rsp) 503*4757b351SPierre Pronchery vmovupd %ymm6,416(%rsp) 504*4757b351SPierre Pronchery vmovupd %ymm7,448(%rsp) 505*4757b351SPierre Pronchery vmovupd %ymm8,480(%rsp) 506*4757b351SPierre Pronchery vmovupd %ymm9,512(%rsp) 507*4757b351SPierre Pronchery vmovupd %ymm10,544(%rsp) 508*4757b351SPierre Pronchery vmovupd %ymm11,576(%rsp) 509*4757b351SPierre Pronchery vmovupd %ymm12,608(%rsp) 510*4757b351SPierre Pronchery 511*4757b351SPierre Pronchery vmovupd 0(%rsp),%ymm3 512*4757b351SPierre Pronchery vmovupd 32(%rsp),%ymm4 513*4757b351SPierre Pronchery vmovupd 64(%rsp),%ymm5 514*4757b351SPierre Pronchery vmovupd 96(%rsp),%ymm6 515*4757b351SPierre Pronchery vmovupd 128(%rsp),%ymm7 516*4757b351SPierre Pronchery vmovupd 160(%rsp),%ymm8 517*4757b351SPierre Pronchery vmovupd 192(%rsp),%ymm9 518*4757b351SPierre Pronchery vmovupd 224(%rsp),%ymm10 519*4757b351SPierre Pronchery vmovupd 256(%rsp),%ymm11 520*4757b351SPierre Pronchery vmovupd 288(%rsp),%ymm12 521*4757b351SPierre Pronchery 522*4757b351SPierre Pronchery 523*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm3,%ymm3 524*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm4,%ymm4 525*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm5,%ymm5 526*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm6,%ymm6 527*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm7,%ymm7 528*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm8,%ymm8 529*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm9,%ymm9 530*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm10,%ymm10 531*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm11,%ymm11 532*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm12,%ymm12 533*4757b351SPierre Pronchery 534*4757b351SPierre Pronchery 535*4757b351SPierre Pronchery vpaddq 320(%rsp),%ymm3,%ymm3 536*4757b351SPierre Pronchery vpaddq 352(%rsp),%ymm4,%ymm4 537*4757b351SPierre Pronchery vpaddq 384(%rsp),%ymm5,%ymm5 538*4757b351SPierre Pronchery vpaddq 416(%rsp),%ymm6,%ymm6 539*4757b351SPierre Pronchery vpaddq 448(%rsp),%ymm7,%ymm7 540*4757b351SPierre Pronchery vpaddq 480(%rsp),%ymm8,%ymm8 541*4757b351SPierre Pronchery vpaddq 512(%rsp),%ymm9,%ymm9 542*4757b351SPierre Pronchery vpaddq 544(%rsp),%ymm10,%ymm10 543*4757b351SPierre Pronchery vpaddq 576(%rsp),%ymm11,%ymm11 544*4757b351SPierre Pronchery vpaddq 608(%rsp),%ymm12,%ymm12 545*4757b351SPierre Pronchery 546*4757b351SPierre Pronchery leaq 640(%rsp),%rsp 547*4757b351SPierre Pronchery 548*4757b351SPierre Pronchery 549*4757b351SPierre Pronchery 550*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm3,%ymm13 551*4757b351SPierre Pronchery vmovmskpd %ymm13,%r14d 552*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm4,%ymm13 553*4757b351SPierre Pronchery vmovmskpd %ymm13,%r13d 554*4757b351SPierre Pronchery shlb $4,%r13b 555*4757b351SPierre Pronchery orb %r13b,%r14b 556*4757b351SPierre Pronchery 557*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm5,%ymm13 558*4757b351SPierre Pronchery vmovmskpd %ymm13,%r13d 559*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm6,%ymm13 560*4757b351SPierre Pronchery vmovmskpd %ymm13,%r12d 561*4757b351SPierre Pronchery shlb $4,%r12b 562*4757b351SPierre Pronchery orb %r12b,%r13b 563*4757b351SPierre Pronchery 564*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm7,%ymm13 565*4757b351SPierre Pronchery vmovmskpd %ymm13,%r12d 566*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm8,%ymm13 567*4757b351SPierre Pronchery vmovmskpd %ymm13,%r11d 568*4757b351SPierre Pronchery shlb $4,%r11b 569*4757b351SPierre Pronchery orb %r11b,%r12b 570*4757b351SPierre Pronchery 571*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm9,%ymm13 572*4757b351SPierre Pronchery vmovmskpd %ymm13,%r11d 573*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm10,%ymm13 574*4757b351SPierre Pronchery vmovmskpd %ymm13,%r10d 575*4757b351SPierre Pronchery shlb $4,%r10b 576*4757b351SPierre Pronchery orb %r10b,%r11b 577*4757b351SPierre Pronchery 578*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm11,%ymm13 579*4757b351SPierre Pronchery vmovmskpd %ymm13,%r10d 580*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm12,%ymm13 581*4757b351SPierre Pronchery vmovmskpd %ymm13,%r9d 582*4757b351SPierre Pronchery shlb $4,%r9b 583*4757b351SPierre Pronchery orb %r9b,%r10b 584*4757b351SPierre Pronchery 585*4757b351SPierre Pronchery addb %r14b,%r14b 586*4757b351SPierre Pronchery adcb %r13b,%r13b 587*4757b351SPierre Pronchery adcb %r12b,%r12b 588*4757b351SPierre Pronchery adcb %r11b,%r11b 589*4757b351SPierre Pronchery adcb %r10b,%r10b 590*4757b351SPierre Pronchery 591*4757b351SPierre Pronchery 592*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm3,%ymm13 593*4757b351SPierre Pronchery vmovmskpd %ymm13,%r9d 594*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm4,%ymm13 595*4757b351SPierre Pronchery vmovmskpd %ymm13,%r8d 596*4757b351SPierre Pronchery shlb $4,%r8b 597*4757b351SPierre Pronchery orb %r8b,%r9b 598*4757b351SPierre Pronchery 599*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm5,%ymm13 600*4757b351SPierre Pronchery vmovmskpd %ymm13,%r8d 601*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm6,%ymm13 602*4757b351SPierre Pronchery vmovmskpd %ymm13,%edx 603*4757b351SPierre Pronchery shlb $4,%dl 604*4757b351SPierre Pronchery orb %dl,%r8b 605*4757b351SPierre Pronchery 606*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm7,%ymm13 607*4757b351SPierre Pronchery vmovmskpd %ymm13,%edx 608*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm8,%ymm13 609*4757b351SPierre Pronchery vmovmskpd %ymm13,%ecx 610*4757b351SPierre Pronchery shlb $4,%cl 611*4757b351SPierre Pronchery orb %cl,%dl 612*4757b351SPierre Pronchery 613*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm9,%ymm13 614*4757b351SPierre Pronchery vmovmskpd %ymm13,%ecx 615*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm10,%ymm13 616*4757b351SPierre Pronchery vmovmskpd %ymm13,%ebx 617*4757b351SPierre Pronchery shlb $4,%bl 618*4757b351SPierre Pronchery orb %bl,%cl 619*4757b351SPierre Pronchery 620*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm11,%ymm13 621*4757b351SPierre Pronchery vmovmskpd %ymm13,%ebx 622*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm12,%ymm13 623*4757b351SPierre Pronchery vmovmskpd %ymm13,%eax 624*4757b351SPierre Pronchery shlb $4,%al 625*4757b351SPierre Pronchery orb %al,%bl 626*4757b351SPierre Pronchery 627*4757b351SPierre Pronchery addb %r9b,%r14b 628*4757b351SPierre Pronchery adcb %r8b,%r13b 629*4757b351SPierre Pronchery adcb %dl,%r12b 630*4757b351SPierre Pronchery adcb %cl,%r11b 631*4757b351SPierre Pronchery adcb %bl,%r10b 632*4757b351SPierre Pronchery 633*4757b351SPierre Pronchery xorb %r9b,%r14b 634*4757b351SPierre Pronchery xorb %r8b,%r13b 635*4757b351SPierre Pronchery xorb %dl,%r12b 636*4757b351SPierre Pronchery xorb %cl,%r11b 637*4757b351SPierre Pronchery xorb %bl,%r10b 638*4757b351SPierre Pronchery 639*4757b351SPierre Pronchery pushq %r9 640*4757b351SPierre Pronchery pushq %r8 641*4757b351SPierre Pronchery 642*4757b351SPierre Pronchery leaq .Lkmasklut(%rip),%r8 643*4757b351SPierre Pronchery 644*4757b351SPierre Pronchery movb %r14b,%r9b 645*4757b351SPierre Pronchery andq $0xf,%r14 646*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm3,%ymm13 647*4757b351SPierre Pronchery shlq $5,%r14 648*4757b351SPierre Pronchery vmovapd (%r8,%r14,1),%ymm14 649*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm3,%ymm3 650*4757b351SPierre Pronchery 651*4757b351SPierre Pronchery shrb $4,%r9b 652*4757b351SPierre Pronchery andq $0xf,%r9 653*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm4,%ymm13 654*4757b351SPierre Pronchery shlq $5,%r9 655*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 656*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm4,%ymm4 657*4757b351SPierre Pronchery 658*4757b351SPierre Pronchery movb %r13b,%r9b 659*4757b351SPierre Pronchery andq $0xf,%r13 660*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm5,%ymm13 661*4757b351SPierre Pronchery shlq $5,%r13 662*4757b351SPierre Pronchery vmovapd (%r8,%r13,1),%ymm14 663*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm5,%ymm5 664*4757b351SPierre Pronchery 665*4757b351SPierre Pronchery shrb $4,%r9b 666*4757b351SPierre Pronchery andq $0xf,%r9 667*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm6,%ymm13 668*4757b351SPierre Pronchery shlq $5,%r9 669*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 670*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm6,%ymm6 671*4757b351SPierre Pronchery 672*4757b351SPierre Pronchery movb %r12b,%r9b 673*4757b351SPierre Pronchery andq $0xf,%r12 674*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm7,%ymm13 675*4757b351SPierre Pronchery shlq $5,%r12 676*4757b351SPierre Pronchery vmovapd (%r8,%r12,1),%ymm14 677*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm7,%ymm7 678*4757b351SPierre Pronchery 679*4757b351SPierre Pronchery shrb $4,%r9b 680*4757b351SPierre Pronchery andq $0xf,%r9 681*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm8,%ymm13 682*4757b351SPierre Pronchery shlq $5,%r9 683*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 684*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm8,%ymm8 685*4757b351SPierre Pronchery 686*4757b351SPierre Pronchery movb %r11b,%r9b 687*4757b351SPierre Pronchery andq $0xf,%r11 688*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm9,%ymm13 689*4757b351SPierre Pronchery shlq $5,%r11 690*4757b351SPierre Pronchery vmovapd (%r8,%r11,1),%ymm14 691*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm9,%ymm9 692*4757b351SPierre Pronchery 693*4757b351SPierre Pronchery shrb $4,%r9b 694*4757b351SPierre Pronchery andq $0xf,%r9 695*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm10,%ymm13 696*4757b351SPierre Pronchery shlq $5,%r9 697*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 698*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm10,%ymm10 699*4757b351SPierre Pronchery 700*4757b351SPierre Pronchery movb %r10b,%r9b 701*4757b351SPierre Pronchery andq $0xf,%r10 702*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm11,%ymm13 703*4757b351SPierre Pronchery shlq $5,%r10 704*4757b351SPierre Pronchery vmovapd (%r8,%r10,1),%ymm14 705*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm11,%ymm11 706*4757b351SPierre Pronchery 707*4757b351SPierre Pronchery shrb $4,%r9b 708*4757b351SPierre Pronchery andq $0xf,%r9 709*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm12,%ymm13 710*4757b351SPierre Pronchery shlq $5,%r9 711*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 712*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm12,%ymm12 713*4757b351SPierre Pronchery 714*4757b351SPierre Pronchery popq %r8 715*4757b351SPierre Pronchery popq %r9 716*4757b351SPierre Pronchery 717*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm3,%ymm3 718*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm4,%ymm4 719*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm5,%ymm5 720*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm6,%ymm6 721*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm7,%ymm7 722*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm8,%ymm8 723*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm9,%ymm9 724*4757b351SPierre Pronchery 725*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm10,%ymm10 726*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm11,%ymm11 727*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm12,%ymm12 728*4757b351SPierre Pronchery 729*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rdi) 730*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rdi) 731*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rdi) 732*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rdi) 733*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rdi) 734*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rdi) 735*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rdi) 736*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rdi) 737*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rdi) 738*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rdi) 739*4757b351SPierre Pronchery 740*4757b351SPierre Pronchery vzeroupper 741*4757b351SPierre Pronchery leaq (%rsp),%rax 742*4757b351SPierre Pronchery.cfi_def_cfa_register %rax 743*4757b351SPierre Pronchery movq 0(%rax),%r15 744*4757b351SPierre Pronchery.cfi_restore %r15 745*4757b351SPierre Pronchery movq 8(%rax),%r14 746*4757b351SPierre Pronchery.cfi_restore %r14 747*4757b351SPierre Pronchery movq 16(%rax),%r13 748*4757b351SPierre Pronchery.cfi_restore %r13 749*4757b351SPierre Pronchery movq 24(%rax),%r12 750*4757b351SPierre Pronchery.cfi_restore %r12 751*4757b351SPierre Pronchery movq 32(%rax),%rbp 752*4757b351SPierre Pronchery.cfi_restore %rbp 753*4757b351SPierre Pronchery movq 40(%rax),%rbx 754*4757b351SPierre Pronchery.cfi_restore %rbx 755*4757b351SPierre Pronchery leaq 48(%rax),%rsp 756*4757b351SPierre Pronchery.cfi_def_cfa %rsp,8 757*4757b351SPierre Pronchery.Lossl_rsaz_amm52x40_x1_avxifma256_epilogue: 758*4757b351SPierre Pronchery 759*4757b351SPierre Pronchery .byte 0xf3,0xc3 760*4757b351SPierre Pronchery.cfi_endproc 761*4757b351SPierre Pronchery.size ossl_rsaz_amm52x40_x1_avxifma256, .-ossl_rsaz_amm52x40_x1_avxifma256 762*4757b351SPierre Pronchery.section .rodata 763*4757b351SPierre Pronchery.align 32 764*4757b351SPierre Pronchery.Lmask52x4: 765*4757b351SPierre Pronchery.quad 0xfffffffffffff 766*4757b351SPierre Pronchery.quad 0xfffffffffffff 767*4757b351SPierre Pronchery.quad 0xfffffffffffff 768*4757b351SPierre Pronchery.quad 0xfffffffffffff 769*4757b351SPierre Pronchery.Lhigh64x3: 770*4757b351SPierre Pronchery.quad 0x0 771*4757b351SPierre Pronchery.quad 0xffffffffffffffff 772*4757b351SPierre Pronchery.quad 0xffffffffffffffff 773*4757b351SPierre Pronchery.quad 0xffffffffffffffff 774*4757b351SPierre Pronchery.Lkmasklut: 775*4757b351SPierre Pronchery 776*4757b351SPierre Pronchery.quad 0x0 777*4757b351SPierre Pronchery.quad 0x0 778*4757b351SPierre Pronchery.quad 0x0 779*4757b351SPierre Pronchery.quad 0x0 780*4757b351SPierre Pronchery 781*4757b351SPierre Pronchery.quad 0xffffffffffffffff 782*4757b351SPierre Pronchery.quad 0x0 783*4757b351SPierre Pronchery.quad 0x0 784*4757b351SPierre Pronchery.quad 0x0 785*4757b351SPierre Pronchery 786*4757b351SPierre Pronchery.quad 0x0 787*4757b351SPierre Pronchery.quad 0xffffffffffffffff 788*4757b351SPierre Pronchery.quad 0x0 789*4757b351SPierre Pronchery.quad 0x0 790*4757b351SPierre Pronchery 791*4757b351SPierre Pronchery.quad 0xffffffffffffffff 792*4757b351SPierre Pronchery.quad 0xffffffffffffffff 793*4757b351SPierre Pronchery.quad 0x0 794*4757b351SPierre Pronchery.quad 0x0 795*4757b351SPierre Pronchery 796*4757b351SPierre Pronchery.quad 0x0 797*4757b351SPierre Pronchery.quad 0x0 798*4757b351SPierre Pronchery.quad 0xffffffffffffffff 799*4757b351SPierre Pronchery.quad 0x0 800*4757b351SPierre Pronchery 801*4757b351SPierre Pronchery.quad 0xffffffffffffffff 802*4757b351SPierre Pronchery.quad 0x0 803*4757b351SPierre Pronchery.quad 0xffffffffffffffff 804*4757b351SPierre Pronchery.quad 0x0 805*4757b351SPierre Pronchery 806*4757b351SPierre Pronchery.quad 0x0 807*4757b351SPierre Pronchery.quad 0xffffffffffffffff 808*4757b351SPierre Pronchery.quad 0xffffffffffffffff 809*4757b351SPierre Pronchery.quad 0x0 810*4757b351SPierre Pronchery 811*4757b351SPierre Pronchery.quad 0xffffffffffffffff 812*4757b351SPierre Pronchery.quad 0xffffffffffffffff 813*4757b351SPierre Pronchery.quad 0xffffffffffffffff 814*4757b351SPierre Pronchery.quad 0x0 815*4757b351SPierre Pronchery 816*4757b351SPierre Pronchery.quad 0x0 817*4757b351SPierre Pronchery.quad 0x0 818*4757b351SPierre Pronchery.quad 0x0 819*4757b351SPierre Pronchery.quad 0xffffffffffffffff 820*4757b351SPierre Pronchery 821*4757b351SPierre Pronchery.quad 0xffffffffffffffff 822*4757b351SPierre Pronchery.quad 0x0 823*4757b351SPierre Pronchery.quad 0x0 824*4757b351SPierre Pronchery.quad 0xffffffffffffffff 825*4757b351SPierre Pronchery 826*4757b351SPierre Pronchery.quad 0x0 827*4757b351SPierre Pronchery.quad 0xffffffffffffffff 828*4757b351SPierre Pronchery.quad 0x0 829*4757b351SPierre Pronchery.quad 0xffffffffffffffff 830*4757b351SPierre Pronchery 831*4757b351SPierre Pronchery.quad 0xffffffffffffffff 832*4757b351SPierre Pronchery.quad 0xffffffffffffffff 833*4757b351SPierre Pronchery.quad 0x0 834*4757b351SPierre Pronchery.quad 0xffffffffffffffff 835*4757b351SPierre Pronchery 836*4757b351SPierre Pronchery.quad 0x0 837*4757b351SPierre Pronchery.quad 0x0 838*4757b351SPierre Pronchery.quad 0xffffffffffffffff 839*4757b351SPierre Pronchery.quad 0xffffffffffffffff 840*4757b351SPierre Pronchery 841*4757b351SPierre Pronchery.quad 0xffffffffffffffff 842*4757b351SPierre Pronchery.quad 0x0 843*4757b351SPierre Pronchery.quad 0xffffffffffffffff 844*4757b351SPierre Pronchery.quad 0xffffffffffffffff 845*4757b351SPierre Pronchery 846*4757b351SPierre Pronchery.quad 0x0 847*4757b351SPierre Pronchery.quad 0xffffffffffffffff 848*4757b351SPierre Pronchery.quad 0xffffffffffffffff 849*4757b351SPierre Pronchery.quad 0xffffffffffffffff 850*4757b351SPierre Pronchery 851*4757b351SPierre Pronchery.quad 0xffffffffffffffff 852*4757b351SPierre Pronchery.quad 0xffffffffffffffff 853*4757b351SPierre Pronchery.quad 0xffffffffffffffff 854*4757b351SPierre Pronchery.quad 0xffffffffffffffff 855*4757b351SPierre Pronchery.text 856*4757b351SPierre Pronchery 857*4757b351SPierre Pronchery.globl ossl_rsaz_amm52x40_x2_avxifma256 858*4757b351SPierre Pronchery.type ossl_rsaz_amm52x40_x2_avxifma256,@function 859*4757b351SPierre Pronchery.align 32 860*4757b351SPierre Proncheryossl_rsaz_amm52x40_x2_avxifma256: 861*4757b351SPierre Pronchery.cfi_startproc 862*4757b351SPierre Pronchery.byte 243,15,30,250 863*4757b351SPierre Pronchery pushq %rbx 864*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 865*4757b351SPierre Pronchery.cfi_offset %rbx,-16 866*4757b351SPierre Pronchery pushq %rbp 867*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 868*4757b351SPierre Pronchery.cfi_offset %rbp,-24 869*4757b351SPierre Pronchery pushq %r12 870*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 871*4757b351SPierre Pronchery.cfi_offset %r12,-32 872*4757b351SPierre Pronchery pushq %r13 873*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 874*4757b351SPierre Pronchery.cfi_offset %r13,-40 875*4757b351SPierre Pronchery pushq %r14 876*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 877*4757b351SPierre Pronchery.cfi_offset %r14,-48 878*4757b351SPierre Pronchery pushq %r15 879*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 880*4757b351SPierre Pronchery.cfi_offset %r15,-56 881*4757b351SPierre Pronchery 882*4757b351SPierre Pronchery vpxor %ymm0,%ymm0,%ymm0 883*4757b351SPierre Pronchery vmovapd %ymm0,%ymm3 884*4757b351SPierre Pronchery vmovapd %ymm0,%ymm4 885*4757b351SPierre Pronchery vmovapd %ymm0,%ymm5 886*4757b351SPierre Pronchery vmovapd %ymm0,%ymm6 887*4757b351SPierre Pronchery vmovapd %ymm0,%ymm7 888*4757b351SPierre Pronchery vmovapd %ymm0,%ymm8 889*4757b351SPierre Pronchery vmovapd %ymm0,%ymm9 890*4757b351SPierre Pronchery vmovapd %ymm0,%ymm10 891*4757b351SPierre Pronchery vmovapd %ymm0,%ymm11 892*4757b351SPierre Pronchery vmovapd %ymm0,%ymm12 893*4757b351SPierre Pronchery 894*4757b351SPierre Pronchery xorl %r9d,%r9d 895*4757b351SPierre Pronchery 896*4757b351SPierre Pronchery movq %rdx,%r11 897*4757b351SPierre Pronchery movq $0xfffffffffffff,%rax 898*4757b351SPierre Pronchery 899*4757b351SPierre Pronchery movl $40,%ebx 900*4757b351SPierre Pronchery 901*4757b351SPierre Pronchery.align 32 902*4757b351SPierre Pronchery.Lloop40: 903*4757b351SPierre Pronchery movq 0(%r11),%r13 904*4757b351SPierre Pronchery 905*4757b351SPierre Pronchery vpbroadcastq 0(%r11),%ymm1 906*4757b351SPierre Pronchery movq 0(%rsi),%rdx 907*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 908*4757b351SPierre Pronchery addq %r13,%r9 909*4757b351SPierre Pronchery movq %r12,%r10 910*4757b351SPierre Pronchery adcq $0,%r10 911*4757b351SPierre Pronchery 912*4757b351SPierre Pronchery movq (%r8),%r13 913*4757b351SPierre Pronchery imulq %r9,%r13 914*4757b351SPierre Pronchery andq %rax,%r13 915*4757b351SPierre Pronchery 916*4757b351SPierre Pronchery vmovq %r13,%xmm2 917*4757b351SPierre Pronchery vpbroadcastq %xmm2,%ymm2 918*4757b351SPierre Pronchery movq 0(%rcx),%rdx 919*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 920*4757b351SPierre Pronchery addq %r13,%r9 921*4757b351SPierre Pronchery adcq %r12,%r10 922*4757b351SPierre Pronchery 923*4757b351SPierre Pronchery shrq $52,%r9 924*4757b351SPierre Pronchery salq $12,%r10 925*4757b351SPierre Pronchery orq %r10,%r9 926*4757b351SPierre Pronchery 927*4757b351SPierre Pronchery leaq -328(%rsp),%rsp 928*4757b351SPierre Pronchery 929*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rsi),%ymm1,%ymm3 930*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rsi),%ymm1,%ymm4 931*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rsi),%ymm1,%ymm5 932*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rsi),%ymm1,%ymm6 933*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rsi),%ymm1,%ymm7 934*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rsi),%ymm1,%ymm8 935*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rsi),%ymm1,%ymm9 936*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rsi),%ymm1,%ymm10 937*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rsi),%ymm1,%ymm11 938*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rsi),%ymm1,%ymm12 939*4757b351SPierre Pronchery 940*4757b351SPierre Pronchery{vex} vpmadd52luq 0(%rcx),%ymm2,%ymm3 941*4757b351SPierre Pronchery{vex} vpmadd52luq 32(%rcx),%ymm2,%ymm4 942*4757b351SPierre Pronchery{vex} vpmadd52luq 64(%rcx),%ymm2,%ymm5 943*4757b351SPierre Pronchery{vex} vpmadd52luq 96(%rcx),%ymm2,%ymm6 944*4757b351SPierre Pronchery{vex} vpmadd52luq 128(%rcx),%ymm2,%ymm7 945*4757b351SPierre Pronchery{vex} vpmadd52luq 160(%rcx),%ymm2,%ymm8 946*4757b351SPierre Pronchery{vex} vpmadd52luq 192(%rcx),%ymm2,%ymm9 947*4757b351SPierre Pronchery{vex} vpmadd52luq 224(%rcx),%ymm2,%ymm10 948*4757b351SPierre Pronchery{vex} vpmadd52luq 256(%rcx),%ymm2,%ymm11 949*4757b351SPierre Pronchery{vex} vpmadd52luq 288(%rcx),%ymm2,%ymm12 950*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rsp) 951*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rsp) 952*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rsp) 953*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rsp) 954*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rsp) 955*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rsp) 956*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rsp) 957*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rsp) 958*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rsp) 959*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rsp) 960*4757b351SPierre Pronchery movq $0,320(%rsp) 961*4757b351SPierre Pronchery 962*4757b351SPierre Pronchery vmovdqu 8(%rsp),%ymm3 963*4757b351SPierre Pronchery vmovdqu 40(%rsp),%ymm4 964*4757b351SPierre Pronchery vmovdqu 72(%rsp),%ymm5 965*4757b351SPierre Pronchery vmovdqu 104(%rsp),%ymm6 966*4757b351SPierre Pronchery vmovdqu 136(%rsp),%ymm7 967*4757b351SPierre Pronchery vmovdqu 168(%rsp),%ymm8 968*4757b351SPierre Pronchery vmovdqu 200(%rsp),%ymm9 969*4757b351SPierre Pronchery vmovdqu 232(%rsp),%ymm10 970*4757b351SPierre Pronchery vmovdqu 264(%rsp),%ymm11 971*4757b351SPierre Pronchery vmovdqu 296(%rsp),%ymm12 972*4757b351SPierre Pronchery 973*4757b351SPierre Pronchery addq 8(%rsp),%r9 974*4757b351SPierre Pronchery 975*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rsi),%ymm1,%ymm3 976*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rsi),%ymm1,%ymm4 977*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rsi),%ymm1,%ymm5 978*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rsi),%ymm1,%ymm6 979*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rsi),%ymm1,%ymm7 980*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rsi),%ymm1,%ymm8 981*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rsi),%ymm1,%ymm9 982*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rsi),%ymm1,%ymm10 983*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rsi),%ymm1,%ymm11 984*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rsi),%ymm1,%ymm12 985*4757b351SPierre Pronchery 986*4757b351SPierre Pronchery{vex} vpmadd52huq 0(%rcx),%ymm2,%ymm3 987*4757b351SPierre Pronchery{vex} vpmadd52huq 32(%rcx),%ymm2,%ymm4 988*4757b351SPierre Pronchery{vex} vpmadd52huq 64(%rcx),%ymm2,%ymm5 989*4757b351SPierre Pronchery{vex} vpmadd52huq 96(%rcx),%ymm2,%ymm6 990*4757b351SPierre Pronchery{vex} vpmadd52huq 128(%rcx),%ymm2,%ymm7 991*4757b351SPierre Pronchery{vex} vpmadd52huq 160(%rcx),%ymm2,%ymm8 992*4757b351SPierre Pronchery{vex} vpmadd52huq 192(%rcx),%ymm2,%ymm9 993*4757b351SPierre Pronchery{vex} vpmadd52huq 224(%rcx),%ymm2,%ymm10 994*4757b351SPierre Pronchery{vex} vpmadd52huq 256(%rcx),%ymm2,%ymm11 995*4757b351SPierre Pronchery{vex} vpmadd52huq 288(%rcx),%ymm2,%ymm12 996*4757b351SPierre Pronchery leaq 328(%rsp),%rsp 997*4757b351SPierre Pronchery leaq 8(%r11),%r11 998*4757b351SPierre Pronchery decl %ebx 999*4757b351SPierre Pronchery jne .Lloop40 1000*4757b351SPierre Pronchery 1001*4757b351SPierre Pronchery pushq %r11 1002*4757b351SPierre Pronchery pushq %rsi 1003*4757b351SPierre Pronchery pushq %rcx 1004*4757b351SPierre Pronchery pushq %r8 1005*4757b351SPierre Pronchery 1006*4757b351SPierre Pronchery vmovq %r9,%xmm0 1007*4757b351SPierre Pronchery vpbroadcastq %xmm0,%ymm0 1008*4757b351SPierre Pronchery vpblendd $3,%ymm0,%ymm3,%ymm3 1009*4757b351SPierre Pronchery 1010*4757b351SPierre Pronchery leaq -640(%rsp),%rsp 1011*4757b351SPierre Pronchery vmovupd %ymm3,0(%rsp) 1012*4757b351SPierre Pronchery vmovupd %ymm4,32(%rsp) 1013*4757b351SPierre Pronchery vmovupd %ymm5,64(%rsp) 1014*4757b351SPierre Pronchery vmovupd %ymm6,96(%rsp) 1015*4757b351SPierre Pronchery vmovupd %ymm7,128(%rsp) 1016*4757b351SPierre Pronchery vmovupd %ymm8,160(%rsp) 1017*4757b351SPierre Pronchery vmovupd %ymm9,192(%rsp) 1018*4757b351SPierre Pronchery vmovupd %ymm10,224(%rsp) 1019*4757b351SPierre Pronchery vmovupd %ymm11,256(%rsp) 1020*4757b351SPierre Pronchery vmovupd %ymm12,288(%rsp) 1021*4757b351SPierre Pronchery 1022*4757b351SPierre Pronchery 1023*4757b351SPierre Pronchery 1024*4757b351SPierre Pronchery vpsrlq $52,%ymm3,%ymm3 1025*4757b351SPierre Pronchery vpsrlq $52,%ymm4,%ymm4 1026*4757b351SPierre Pronchery vpsrlq $52,%ymm5,%ymm5 1027*4757b351SPierre Pronchery vpsrlq $52,%ymm6,%ymm6 1028*4757b351SPierre Pronchery vpsrlq $52,%ymm7,%ymm7 1029*4757b351SPierre Pronchery vpsrlq $52,%ymm8,%ymm8 1030*4757b351SPierre Pronchery vpsrlq $52,%ymm9,%ymm9 1031*4757b351SPierre Pronchery vpsrlq $52,%ymm10,%ymm10 1032*4757b351SPierre Pronchery vpsrlq $52,%ymm11,%ymm11 1033*4757b351SPierre Pronchery vpsrlq $52,%ymm12,%ymm12 1034*4757b351SPierre Pronchery 1035*4757b351SPierre Pronchery 1036*4757b351SPierre Pronchery vpermq $144,%ymm12,%ymm12 1037*4757b351SPierre Pronchery vpermq $3,%ymm11,%ymm13 1038*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm12,%ymm12 1039*4757b351SPierre Pronchery 1040*4757b351SPierre Pronchery vpermq $144,%ymm11,%ymm11 1041*4757b351SPierre Pronchery vpermq $3,%ymm10,%ymm13 1042*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm11,%ymm11 1043*4757b351SPierre Pronchery 1044*4757b351SPierre Pronchery vpermq $144,%ymm10,%ymm10 1045*4757b351SPierre Pronchery vpermq $3,%ymm9,%ymm13 1046*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm10,%ymm10 1047*4757b351SPierre Pronchery 1048*4757b351SPierre Pronchery vpermq $144,%ymm9,%ymm9 1049*4757b351SPierre Pronchery vpermq $3,%ymm8,%ymm13 1050*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm9,%ymm9 1051*4757b351SPierre Pronchery 1052*4757b351SPierre Pronchery vpermq $144,%ymm8,%ymm8 1053*4757b351SPierre Pronchery vpermq $3,%ymm7,%ymm13 1054*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm8,%ymm8 1055*4757b351SPierre Pronchery 1056*4757b351SPierre Pronchery vpermq $144,%ymm7,%ymm7 1057*4757b351SPierre Pronchery vpermq $3,%ymm6,%ymm13 1058*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm7,%ymm7 1059*4757b351SPierre Pronchery 1060*4757b351SPierre Pronchery vpermq $144,%ymm6,%ymm6 1061*4757b351SPierre Pronchery vpermq $3,%ymm5,%ymm13 1062*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm6,%ymm6 1063*4757b351SPierre Pronchery 1064*4757b351SPierre Pronchery vpermq $144,%ymm5,%ymm5 1065*4757b351SPierre Pronchery vpermq $3,%ymm4,%ymm13 1066*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm5,%ymm5 1067*4757b351SPierre Pronchery 1068*4757b351SPierre Pronchery vpermq $144,%ymm4,%ymm4 1069*4757b351SPierre Pronchery vpermq $3,%ymm3,%ymm13 1070*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm4,%ymm4 1071*4757b351SPierre Pronchery 1072*4757b351SPierre Pronchery vpermq $144,%ymm3,%ymm3 1073*4757b351SPierre Pronchery vpand .Lhigh64x3(%rip),%ymm3,%ymm3 1074*4757b351SPierre Pronchery 1075*4757b351SPierre Pronchery vmovupd %ymm3,320(%rsp) 1076*4757b351SPierre Pronchery vmovupd %ymm4,352(%rsp) 1077*4757b351SPierre Pronchery vmovupd %ymm5,384(%rsp) 1078*4757b351SPierre Pronchery vmovupd %ymm6,416(%rsp) 1079*4757b351SPierre Pronchery vmovupd %ymm7,448(%rsp) 1080*4757b351SPierre Pronchery vmovupd %ymm8,480(%rsp) 1081*4757b351SPierre Pronchery vmovupd %ymm9,512(%rsp) 1082*4757b351SPierre Pronchery vmovupd %ymm10,544(%rsp) 1083*4757b351SPierre Pronchery vmovupd %ymm11,576(%rsp) 1084*4757b351SPierre Pronchery vmovupd %ymm12,608(%rsp) 1085*4757b351SPierre Pronchery 1086*4757b351SPierre Pronchery vmovupd 0(%rsp),%ymm3 1087*4757b351SPierre Pronchery vmovupd 32(%rsp),%ymm4 1088*4757b351SPierre Pronchery vmovupd 64(%rsp),%ymm5 1089*4757b351SPierre Pronchery vmovupd 96(%rsp),%ymm6 1090*4757b351SPierre Pronchery vmovupd 128(%rsp),%ymm7 1091*4757b351SPierre Pronchery vmovupd 160(%rsp),%ymm8 1092*4757b351SPierre Pronchery vmovupd 192(%rsp),%ymm9 1093*4757b351SPierre Pronchery vmovupd 224(%rsp),%ymm10 1094*4757b351SPierre Pronchery vmovupd 256(%rsp),%ymm11 1095*4757b351SPierre Pronchery vmovupd 288(%rsp),%ymm12 1096*4757b351SPierre Pronchery 1097*4757b351SPierre Pronchery 1098*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm3,%ymm3 1099*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm4,%ymm4 1100*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm5,%ymm5 1101*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm6,%ymm6 1102*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm7,%ymm7 1103*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm8,%ymm8 1104*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm9,%ymm9 1105*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm10,%ymm10 1106*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm11,%ymm11 1107*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm12,%ymm12 1108*4757b351SPierre Pronchery 1109*4757b351SPierre Pronchery 1110*4757b351SPierre Pronchery vpaddq 320(%rsp),%ymm3,%ymm3 1111*4757b351SPierre Pronchery vpaddq 352(%rsp),%ymm4,%ymm4 1112*4757b351SPierre Pronchery vpaddq 384(%rsp),%ymm5,%ymm5 1113*4757b351SPierre Pronchery vpaddq 416(%rsp),%ymm6,%ymm6 1114*4757b351SPierre Pronchery vpaddq 448(%rsp),%ymm7,%ymm7 1115*4757b351SPierre Pronchery vpaddq 480(%rsp),%ymm8,%ymm8 1116*4757b351SPierre Pronchery vpaddq 512(%rsp),%ymm9,%ymm9 1117*4757b351SPierre Pronchery vpaddq 544(%rsp),%ymm10,%ymm10 1118*4757b351SPierre Pronchery vpaddq 576(%rsp),%ymm11,%ymm11 1119*4757b351SPierre Pronchery vpaddq 608(%rsp),%ymm12,%ymm12 1120*4757b351SPierre Pronchery 1121*4757b351SPierre Pronchery leaq 640(%rsp),%rsp 1122*4757b351SPierre Pronchery 1123*4757b351SPierre Pronchery 1124*4757b351SPierre Pronchery 1125*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm3,%ymm13 1126*4757b351SPierre Pronchery vmovmskpd %ymm13,%r14d 1127*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm4,%ymm13 1128*4757b351SPierre Pronchery vmovmskpd %ymm13,%r13d 1129*4757b351SPierre Pronchery shlb $4,%r13b 1130*4757b351SPierre Pronchery orb %r13b,%r14b 1131*4757b351SPierre Pronchery 1132*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm5,%ymm13 1133*4757b351SPierre Pronchery vmovmskpd %ymm13,%r13d 1134*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm6,%ymm13 1135*4757b351SPierre Pronchery vmovmskpd %ymm13,%r12d 1136*4757b351SPierre Pronchery shlb $4,%r12b 1137*4757b351SPierre Pronchery orb %r12b,%r13b 1138*4757b351SPierre Pronchery 1139*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm7,%ymm13 1140*4757b351SPierre Pronchery vmovmskpd %ymm13,%r12d 1141*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm8,%ymm13 1142*4757b351SPierre Pronchery vmovmskpd %ymm13,%r11d 1143*4757b351SPierre Pronchery shlb $4,%r11b 1144*4757b351SPierre Pronchery orb %r11b,%r12b 1145*4757b351SPierre Pronchery 1146*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm9,%ymm13 1147*4757b351SPierre Pronchery vmovmskpd %ymm13,%r11d 1148*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm10,%ymm13 1149*4757b351SPierre Pronchery vmovmskpd %ymm13,%r10d 1150*4757b351SPierre Pronchery shlb $4,%r10b 1151*4757b351SPierre Pronchery orb %r10b,%r11b 1152*4757b351SPierre Pronchery 1153*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm11,%ymm13 1154*4757b351SPierre Pronchery vmovmskpd %ymm13,%r10d 1155*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm12,%ymm13 1156*4757b351SPierre Pronchery vmovmskpd %ymm13,%r9d 1157*4757b351SPierre Pronchery shlb $4,%r9b 1158*4757b351SPierre Pronchery orb %r9b,%r10b 1159*4757b351SPierre Pronchery 1160*4757b351SPierre Pronchery addb %r14b,%r14b 1161*4757b351SPierre Pronchery adcb %r13b,%r13b 1162*4757b351SPierre Pronchery adcb %r12b,%r12b 1163*4757b351SPierre Pronchery adcb %r11b,%r11b 1164*4757b351SPierre Pronchery adcb %r10b,%r10b 1165*4757b351SPierre Pronchery 1166*4757b351SPierre Pronchery 1167*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm3,%ymm13 1168*4757b351SPierre Pronchery vmovmskpd %ymm13,%r9d 1169*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm4,%ymm13 1170*4757b351SPierre Pronchery vmovmskpd %ymm13,%r8d 1171*4757b351SPierre Pronchery shlb $4,%r8b 1172*4757b351SPierre Pronchery orb %r8b,%r9b 1173*4757b351SPierre Pronchery 1174*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm5,%ymm13 1175*4757b351SPierre Pronchery vmovmskpd %ymm13,%r8d 1176*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm6,%ymm13 1177*4757b351SPierre Pronchery vmovmskpd %ymm13,%edx 1178*4757b351SPierre Pronchery shlb $4,%dl 1179*4757b351SPierre Pronchery orb %dl,%r8b 1180*4757b351SPierre Pronchery 1181*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm7,%ymm13 1182*4757b351SPierre Pronchery vmovmskpd %ymm13,%edx 1183*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm8,%ymm13 1184*4757b351SPierre Pronchery vmovmskpd %ymm13,%ecx 1185*4757b351SPierre Pronchery shlb $4,%cl 1186*4757b351SPierre Pronchery orb %cl,%dl 1187*4757b351SPierre Pronchery 1188*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm9,%ymm13 1189*4757b351SPierre Pronchery vmovmskpd %ymm13,%ecx 1190*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm10,%ymm13 1191*4757b351SPierre Pronchery vmovmskpd %ymm13,%ebx 1192*4757b351SPierre Pronchery shlb $4,%bl 1193*4757b351SPierre Pronchery orb %bl,%cl 1194*4757b351SPierre Pronchery 1195*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm11,%ymm13 1196*4757b351SPierre Pronchery vmovmskpd %ymm13,%ebx 1197*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm12,%ymm13 1198*4757b351SPierre Pronchery vmovmskpd %ymm13,%eax 1199*4757b351SPierre Pronchery shlb $4,%al 1200*4757b351SPierre Pronchery orb %al,%bl 1201*4757b351SPierre Pronchery 1202*4757b351SPierre Pronchery addb %r9b,%r14b 1203*4757b351SPierre Pronchery adcb %r8b,%r13b 1204*4757b351SPierre Pronchery adcb %dl,%r12b 1205*4757b351SPierre Pronchery adcb %cl,%r11b 1206*4757b351SPierre Pronchery adcb %bl,%r10b 1207*4757b351SPierre Pronchery 1208*4757b351SPierre Pronchery xorb %r9b,%r14b 1209*4757b351SPierre Pronchery xorb %r8b,%r13b 1210*4757b351SPierre Pronchery xorb %dl,%r12b 1211*4757b351SPierre Pronchery xorb %cl,%r11b 1212*4757b351SPierre Pronchery xorb %bl,%r10b 1213*4757b351SPierre Pronchery 1214*4757b351SPierre Pronchery pushq %r9 1215*4757b351SPierre Pronchery pushq %r8 1216*4757b351SPierre Pronchery 1217*4757b351SPierre Pronchery leaq .Lkmasklut(%rip),%r8 1218*4757b351SPierre Pronchery 1219*4757b351SPierre Pronchery movb %r14b,%r9b 1220*4757b351SPierre Pronchery andq $0xf,%r14 1221*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm3,%ymm13 1222*4757b351SPierre Pronchery shlq $5,%r14 1223*4757b351SPierre Pronchery vmovapd (%r8,%r14,1),%ymm14 1224*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm3,%ymm3 1225*4757b351SPierre Pronchery 1226*4757b351SPierre Pronchery shrb $4,%r9b 1227*4757b351SPierre Pronchery andq $0xf,%r9 1228*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm4,%ymm13 1229*4757b351SPierre Pronchery shlq $5,%r9 1230*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1231*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm4,%ymm4 1232*4757b351SPierre Pronchery 1233*4757b351SPierre Pronchery movb %r13b,%r9b 1234*4757b351SPierre Pronchery andq $0xf,%r13 1235*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm5,%ymm13 1236*4757b351SPierre Pronchery shlq $5,%r13 1237*4757b351SPierre Pronchery vmovapd (%r8,%r13,1),%ymm14 1238*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm5,%ymm5 1239*4757b351SPierre Pronchery 1240*4757b351SPierre Pronchery shrb $4,%r9b 1241*4757b351SPierre Pronchery andq $0xf,%r9 1242*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm6,%ymm13 1243*4757b351SPierre Pronchery shlq $5,%r9 1244*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1245*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm6,%ymm6 1246*4757b351SPierre Pronchery 1247*4757b351SPierre Pronchery movb %r12b,%r9b 1248*4757b351SPierre Pronchery andq $0xf,%r12 1249*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm7,%ymm13 1250*4757b351SPierre Pronchery shlq $5,%r12 1251*4757b351SPierre Pronchery vmovapd (%r8,%r12,1),%ymm14 1252*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm7,%ymm7 1253*4757b351SPierre Pronchery 1254*4757b351SPierre Pronchery shrb $4,%r9b 1255*4757b351SPierre Pronchery andq $0xf,%r9 1256*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm8,%ymm13 1257*4757b351SPierre Pronchery shlq $5,%r9 1258*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1259*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm8,%ymm8 1260*4757b351SPierre Pronchery 1261*4757b351SPierre Pronchery movb %r11b,%r9b 1262*4757b351SPierre Pronchery andq $0xf,%r11 1263*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm9,%ymm13 1264*4757b351SPierre Pronchery shlq $5,%r11 1265*4757b351SPierre Pronchery vmovapd (%r8,%r11,1),%ymm14 1266*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm9,%ymm9 1267*4757b351SPierre Pronchery 1268*4757b351SPierre Pronchery shrb $4,%r9b 1269*4757b351SPierre Pronchery andq $0xf,%r9 1270*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm10,%ymm13 1271*4757b351SPierre Pronchery shlq $5,%r9 1272*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1273*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm10,%ymm10 1274*4757b351SPierre Pronchery 1275*4757b351SPierre Pronchery movb %r10b,%r9b 1276*4757b351SPierre Pronchery andq $0xf,%r10 1277*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm11,%ymm13 1278*4757b351SPierre Pronchery shlq $5,%r10 1279*4757b351SPierre Pronchery vmovapd (%r8,%r10,1),%ymm14 1280*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm11,%ymm11 1281*4757b351SPierre Pronchery 1282*4757b351SPierre Pronchery shrb $4,%r9b 1283*4757b351SPierre Pronchery andq $0xf,%r9 1284*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm12,%ymm13 1285*4757b351SPierre Pronchery shlq $5,%r9 1286*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1287*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm12,%ymm12 1288*4757b351SPierre Pronchery 1289*4757b351SPierre Pronchery popq %r8 1290*4757b351SPierre Pronchery popq %r9 1291*4757b351SPierre Pronchery 1292*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm3,%ymm3 1293*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm4,%ymm4 1294*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm5,%ymm5 1295*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm6,%ymm6 1296*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm7,%ymm7 1297*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm8,%ymm8 1298*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm9,%ymm9 1299*4757b351SPierre Pronchery 1300*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm10,%ymm10 1301*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm11,%ymm11 1302*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm12,%ymm12 1303*4757b351SPierre Pronchery 1304*4757b351SPierre Pronchery popq %r8 1305*4757b351SPierre Pronchery popq %rcx 1306*4757b351SPierre Pronchery popq %rsi 1307*4757b351SPierre Pronchery popq %r11 1308*4757b351SPierre Pronchery 1309*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rdi) 1310*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rdi) 1311*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rdi) 1312*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rdi) 1313*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rdi) 1314*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rdi) 1315*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rdi) 1316*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rdi) 1317*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rdi) 1318*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rdi) 1319*4757b351SPierre Pronchery 1320*4757b351SPierre Pronchery xorl %r15d,%r15d 1321*4757b351SPierre Pronchery 1322*4757b351SPierre Pronchery movq $0xfffffffffffff,%rax 1323*4757b351SPierre Pronchery 1324*4757b351SPierre Pronchery movl $40,%ebx 1325*4757b351SPierre Pronchery 1326*4757b351SPierre Pronchery vpxor %ymm0,%ymm0,%ymm0 1327*4757b351SPierre Pronchery vmovapd %ymm0,%ymm3 1328*4757b351SPierre Pronchery vmovapd %ymm0,%ymm4 1329*4757b351SPierre Pronchery vmovapd %ymm0,%ymm5 1330*4757b351SPierre Pronchery vmovapd %ymm0,%ymm6 1331*4757b351SPierre Pronchery vmovapd %ymm0,%ymm7 1332*4757b351SPierre Pronchery vmovapd %ymm0,%ymm8 1333*4757b351SPierre Pronchery vmovapd %ymm0,%ymm9 1334*4757b351SPierre Pronchery vmovapd %ymm0,%ymm10 1335*4757b351SPierre Pronchery vmovapd %ymm0,%ymm11 1336*4757b351SPierre Pronchery vmovapd %ymm0,%ymm12 1337*4757b351SPierre Pronchery.align 32 1338*4757b351SPierre Pronchery.Lloop40_1: 1339*4757b351SPierre Pronchery movq 0(%r11),%r13 1340*4757b351SPierre Pronchery 1341*4757b351SPierre Pronchery vpbroadcastq 0(%r11),%ymm1 1342*4757b351SPierre Pronchery movq 320(%rsi),%rdx 1343*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 1344*4757b351SPierre Pronchery addq %r13,%r9 1345*4757b351SPierre Pronchery movq %r12,%r10 1346*4757b351SPierre Pronchery adcq $0,%r10 1347*4757b351SPierre Pronchery 1348*4757b351SPierre Pronchery movq 8(%r8),%r13 1349*4757b351SPierre Pronchery imulq %r9,%r13 1350*4757b351SPierre Pronchery andq %rax,%r13 1351*4757b351SPierre Pronchery 1352*4757b351SPierre Pronchery vmovq %r13,%xmm2 1353*4757b351SPierre Pronchery vpbroadcastq %xmm2,%ymm2 1354*4757b351SPierre Pronchery movq 320(%rcx),%rdx 1355*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 1356*4757b351SPierre Pronchery addq %r13,%r9 1357*4757b351SPierre Pronchery adcq %r12,%r10 1358*4757b351SPierre Pronchery 1359*4757b351SPierre Pronchery shrq $52,%r9 1360*4757b351SPierre Pronchery salq $12,%r10 1361*4757b351SPierre Pronchery orq %r10,%r9 1362*4757b351SPierre Pronchery 1363*4757b351SPierre Pronchery leaq -328(%rsp),%rsp 1364*4757b351SPierre Pronchery 1365*4757b351SPierre Pronchery{vex} vpmadd52luq 320(%rsi),%ymm1,%ymm3 1366*4757b351SPierre Pronchery{vex} vpmadd52luq 352(%rsi),%ymm1,%ymm4 1367*4757b351SPierre Pronchery{vex} vpmadd52luq 384(%rsi),%ymm1,%ymm5 1368*4757b351SPierre Pronchery{vex} vpmadd52luq 416(%rsi),%ymm1,%ymm6 1369*4757b351SPierre Pronchery{vex} vpmadd52luq 448(%rsi),%ymm1,%ymm7 1370*4757b351SPierre Pronchery{vex} vpmadd52luq 480(%rsi),%ymm1,%ymm8 1371*4757b351SPierre Pronchery{vex} vpmadd52luq 512(%rsi),%ymm1,%ymm9 1372*4757b351SPierre Pronchery{vex} vpmadd52luq 544(%rsi),%ymm1,%ymm10 1373*4757b351SPierre Pronchery{vex} vpmadd52luq 576(%rsi),%ymm1,%ymm11 1374*4757b351SPierre Pronchery{vex} vpmadd52luq 608(%rsi),%ymm1,%ymm12 1375*4757b351SPierre Pronchery 1376*4757b351SPierre Pronchery{vex} vpmadd52luq 320(%rcx),%ymm2,%ymm3 1377*4757b351SPierre Pronchery{vex} vpmadd52luq 352(%rcx),%ymm2,%ymm4 1378*4757b351SPierre Pronchery{vex} vpmadd52luq 384(%rcx),%ymm2,%ymm5 1379*4757b351SPierre Pronchery{vex} vpmadd52luq 416(%rcx),%ymm2,%ymm6 1380*4757b351SPierre Pronchery{vex} vpmadd52luq 448(%rcx),%ymm2,%ymm7 1381*4757b351SPierre Pronchery{vex} vpmadd52luq 480(%rcx),%ymm2,%ymm8 1382*4757b351SPierre Pronchery{vex} vpmadd52luq 512(%rcx),%ymm2,%ymm9 1383*4757b351SPierre Pronchery{vex} vpmadd52luq 544(%rcx),%ymm2,%ymm10 1384*4757b351SPierre Pronchery{vex} vpmadd52luq 576(%rcx),%ymm2,%ymm11 1385*4757b351SPierre Pronchery{vex} vpmadd52luq 608(%rcx),%ymm2,%ymm12 1386*4757b351SPierre Pronchery vmovdqu %ymm3,0(%rsp) 1387*4757b351SPierre Pronchery vmovdqu %ymm4,32(%rsp) 1388*4757b351SPierre Pronchery vmovdqu %ymm5,64(%rsp) 1389*4757b351SPierre Pronchery vmovdqu %ymm6,96(%rsp) 1390*4757b351SPierre Pronchery vmovdqu %ymm7,128(%rsp) 1391*4757b351SPierre Pronchery vmovdqu %ymm8,160(%rsp) 1392*4757b351SPierre Pronchery vmovdqu %ymm9,192(%rsp) 1393*4757b351SPierre Pronchery vmovdqu %ymm10,224(%rsp) 1394*4757b351SPierre Pronchery vmovdqu %ymm11,256(%rsp) 1395*4757b351SPierre Pronchery vmovdqu %ymm12,288(%rsp) 1396*4757b351SPierre Pronchery movq $0,320(%rsp) 1397*4757b351SPierre Pronchery 1398*4757b351SPierre Pronchery vmovdqu 8(%rsp),%ymm3 1399*4757b351SPierre Pronchery vmovdqu 40(%rsp),%ymm4 1400*4757b351SPierre Pronchery vmovdqu 72(%rsp),%ymm5 1401*4757b351SPierre Pronchery vmovdqu 104(%rsp),%ymm6 1402*4757b351SPierre Pronchery vmovdqu 136(%rsp),%ymm7 1403*4757b351SPierre Pronchery vmovdqu 168(%rsp),%ymm8 1404*4757b351SPierre Pronchery vmovdqu 200(%rsp),%ymm9 1405*4757b351SPierre Pronchery vmovdqu 232(%rsp),%ymm10 1406*4757b351SPierre Pronchery vmovdqu 264(%rsp),%ymm11 1407*4757b351SPierre Pronchery vmovdqu 296(%rsp),%ymm12 1408*4757b351SPierre Pronchery 1409*4757b351SPierre Pronchery addq 8(%rsp),%r9 1410*4757b351SPierre Pronchery 1411*4757b351SPierre Pronchery{vex} vpmadd52huq 320(%rsi),%ymm1,%ymm3 1412*4757b351SPierre Pronchery{vex} vpmadd52huq 352(%rsi),%ymm1,%ymm4 1413*4757b351SPierre Pronchery{vex} vpmadd52huq 384(%rsi),%ymm1,%ymm5 1414*4757b351SPierre Pronchery{vex} vpmadd52huq 416(%rsi),%ymm1,%ymm6 1415*4757b351SPierre Pronchery{vex} vpmadd52huq 448(%rsi),%ymm1,%ymm7 1416*4757b351SPierre Pronchery{vex} vpmadd52huq 480(%rsi),%ymm1,%ymm8 1417*4757b351SPierre Pronchery{vex} vpmadd52huq 512(%rsi),%ymm1,%ymm9 1418*4757b351SPierre Pronchery{vex} vpmadd52huq 544(%rsi),%ymm1,%ymm10 1419*4757b351SPierre Pronchery{vex} vpmadd52huq 576(%rsi),%ymm1,%ymm11 1420*4757b351SPierre Pronchery{vex} vpmadd52huq 608(%rsi),%ymm1,%ymm12 1421*4757b351SPierre Pronchery 1422*4757b351SPierre Pronchery{vex} vpmadd52huq 320(%rcx),%ymm2,%ymm3 1423*4757b351SPierre Pronchery{vex} vpmadd52huq 352(%rcx),%ymm2,%ymm4 1424*4757b351SPierre Pronchery{vex} vpmadd52huq 384(%rcx),%ymm2,%ymm5 1425*4757b351SPierre Pronchery{vex} vpmadd52huq 416(%rcx),%ymm2,%ymm6 1426*4757b351SPierre Pronchery{vex} vpmadd52huq 448(%rcx),%ymm2,%ymm7 1427*4757b351SPierre Pronchery{vex} vpmadd52huq 480(%rcx),%ymm2,%ymm8 1428*4757b351SPierre Pronchery{vex} vpmadd52huq 512(%rcx),%ymm2,%ymm9 1429*4757b351SPierre Pronchery{vex} vpmadd52huq 544(%rcx),%ymm2,%ymm10 1430*4757b351SPierre Pronchery{vex} vpmadd52huq 576(%rcx),%ymm2,%ymm11 1431*4757b351SPierre Pronchery{vex} vpmadd52huq 608(%rcx),%ymm2,%ymm12 1432*4757b351SPierre Pronchery leaq 328(%rsp),%rsp 1433*4757b351SPierre Pronchery leaq 8(%r11),%r11 1434*4757b351SPierre Pronchery decl %ebx 1435*4757b351SPierre Pronchery jne .Lloop40_1 1436*4757b351SPierre Pronchery 1437*4757b351SPierre Pronchery vmovq %r9,%xmm0 1438*4757b351SPierre Pronchery vpbroadcastq %xmm0,%ymm0 1439*4757b351SPierre Pronchery vpblendd $3,%ymm0,%ymm3,%ymm3 1440*4757b351SPierre Pronchery 1441*4757b351SPierre Pronchery leaq -640(%rsp),%rsp 1442*4757b351SPierre Pronchery vmovupd %ymm3,0(%rsp) 1443*4757b351SPierre Pronchery vmovupd %ymm4,32(%rsp) 1444*4757b351SPierre Pronchery vmovupd %ymm5,64(%rsp) 1445*4757b351SPierre Pronchery vmovupd %ymm6,96(%rsp) 1446*4757b351SPierre Pronchery vmovupd %ymm7,128(%rsp) 1447*4757b351SPierre Pronchery vmovupd %ymm8,160(%rsp) 1448*4757b351SPierre Pronchery vmovupd %ymm9,192(%rsp) 1449*4757b351SPierre Pronchery vmovupd %ymm10,224(%rsp) 1450*4757b351SPierre Pronchery vmovupd %ymm11,256(%rsp) 1451*4757b351SPierre Pronchery vmovupd %ymm12,288(%rsp) 1452*4757b351SPierre Pronchery 1453*4757b351SPierre Pronchery 1454*4757b351SPierre Pronchery 1455*4757b351SPierre Pronchery vpsrlq $52,%ymm3,%ymm3 1456*4757b351SPierre Pronchery vpsrlq $52,%ymm4,%ymm4 1457*4757b351SPierre Pronchery vpsrlq $52,%ymm5,%ymm5 1458*4757b351SPierre Pronchery vpsrlq $52,%ymm6,%ymm6 1459*4757b351SPierre Pronchery vpsrlq $52,%ymm7,%ymm7 1460*4757b351SPierre Pronchery vpsrlq $52,%ymm8,%ymm8 1461*4757b351SPierre Pronchery vpsrlq $52,%ymm9,%ymm9 1462*4757b351SPierre Pronchery vpsrlq $52,%ymm10,%ymm10 1463*4757b351SPierre Pronchery vpsrlq $52,%ymm11,%ymm11 1464*4757b351SPierre Pronchery vpsrlq $52,%ymm12,%ymm12 1465*4757b351SPierre Pronchery 1466*4757b351SPierre Pronchery 1467*4757b351SPierre Pronchery vpermq $144,%ymm12,%ymm12 1468*4757b351SPierre Pronchery vpermq $3,%ymm11,%ymm13 1469*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm12,%ymm12 1470*4757b351SPierre Pronchery 1471*4757b351SPierre Pronchery vpermq $144,%ymm11,%ymm11 1472*4757b351SPierre Pronchery vpermq $3,%ymm10,%ymm13 1473*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm11,%ymm11 1474*4757b351SPierre Pronchery 1475*4757b351SPierre Pronchery vpermq $144,%ymm10,%ymm10 1476*4757b351SPierre Pronchery vpermq $3,%ymm9,%ymm13 1477*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm10,%ymm10 1478*4757b351SPierre Pronchery 1479*4757b351SPierre Pronchery vpermq $144,%ymm9,%ymm9 1480*4757b351SPierre Pronchery vpermq $3,%ymm8,%ymm13 1481*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm9,%ymm9 1482*4757b351SPierre Pronchery 1483*4757b351SPierre Pronchery vpermq $144,%ymm8,%ymm8 1484*4757b351SPierre Pronchery vpermq $3,%ymm7,%ymm13 1485*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm8,%ymm8 1486*4757b351SPierre Pronchery 1487*4757b351SPierre Pronchery vpermq $144,%ymm7,%ymm7 1488*4757b351SPierre Pronchery vpermq $3,%ymm6,%ymm13 1489*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm7,%ymm7 1490*4757b351SPierre Pronchery 1491*4757b351SPierre Pronchery vpermq $144,%ymm6,%ymm6 1492*4757b351SPierre Pronchery vpermq $3,%ymm5,%ymm13 1493*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm6,%ymm6 1494*4757b351SPierre Pronchery 1495*4757b351SPierre Pronchery vpermq $144,%ymm5,%ymm5 1496*4757b351SPierre Pronchery vpermq $3,%ymm4,%ymm13 1497*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm5,%ymm5 1498*4757b351SPierre Pronchery 1499*4757b351SPierre Pronchery vpermq $144,%ymm4,%ymm4 1500*4757b351SPierre Pronchery vpermq $3,%ymm3,%ymm13 1501*4757b351SPierre Pronchery vblendpd $1,%ymm13,%ymm4,%ymm4 1502*4757b351SPierre Pronchery 1503*4757b351SPierre Pronchery vpermq $144,%ymm3,%ymm3 1504*4757b351SPierre Pronchery vpand .Lhigh64x3(%rip),%ymm3,%ymm3 1505*4757b351SPierre Pronchery 1506*4757b351SPierre Pronchery vmovupd %ymm3,320(%rsp) 1507*4757b351SPierre Pronchery vmovupd %ymm4,352(%rsp) 1508*4757b351SPierre Pronchery vmovupd %ymm5,384(%rsp) 1509*4757b351SPierre Pronchery vmovupd %ymm6,416(%rsp) 1510*4757b351SPierre Pronchery vmovupd %ymm7,448(%rsp) 1511*4757b351SPierre Pronchery vmovupd %ymm8,480(%rsp) 1512*4757b351SPierre Pronchery vmovupd %ymm9,512(%rsp) 1513*4757b351SPierre Pronchery vmovupd %ymm10,544(%rsp) 1514*4757b351SPierre Pronchery vmovupd %ymm11,576(%rsp) 1515*4757b351SPierre Pronchery vmovupd %ymm12,608(%rsp) 1516*4757b351SPierre Pronchery 1517*4757b351SPierre Pronchery vmovupd 0(%rsp),%ymm3 1518*4757b351SPierre Pronchery vmovupd 32(%rsp),%ymm4 1519*4757b351SPierre Pronchery vmovupd 64(%rsp),%ymm5 1520*4757b351SPierre Pronchery vmovupd 96(%rsp),%ymm6 1521*4757b351SPierre Pronchery vmovupd 128(%rsp),%ymm7 1522*4757b351SPierre Pronchery vmovupd 160(%rsp),%ymm8 1523*4757b351SPierre Pronchery vmovupd 192(%rsp),%ymm9 1524*4757b351SPierre Pronchery vmovupd 224(%rsp),%ymm10 1525*4757b351SPierre Pronchery vmovupd 256(%rsp),%ymm11 1526*4757b351SPierre Pronchery vmovupd 288(%rsp),%ymm12 1527*4757b351SPierre Pronchery 1528*4757b351SPierre Pronchery 1529*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm3,%ymm3 1530*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm4,%ymm4 1531*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm5,%ymm5 1532*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm6,%ymm6 1533*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm7,%ymm7 1534*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm8,%ymm8 1535*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm9,%ymm9 1536*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm10,%ymm10 1537*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm11,%ymm11 1538*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm12,%ymm12 1539*4757b351SPierre Pronchery 1540*4757b351SPierre Pronchery 1541*4757b351SPierre Pronchery vpaddq 320(%rsp),%ymm3,%ymm3 1542*4757b351SPierre Pronchery vpaddq 352(%rsp),%ymm4,%ymm4 1543*4757b351SPierre Pronchery vpaddq 384(%rsp),%ymm5,%ymm5 1544*4757b351SPierre Pronchery vpaddq 416(%rsp),%ymm6,%ymm6 1545*4757b351SPierre Pronchery vpaddq 448(%rsp),%ymm7,%ymm7 1546*4757b351SPierre Pronchery vpaddq 480(%rsp),%ymm8,%ymm8 1547*4757b351SPierre Pronchery vpaddq 512(%rsp),%ymm9,%ymm9 1548*4757b351SPierre Pronchery vpaddq 544(%rsp),%ymm10,%ymm10 1549*4757b351SPierre Pronchery vpaddq 576(%rsp),%ymm11,%ymm11 1550*4757b351SPierre Pronchery vpaddq 608(%rsp),%ymm12,%ymm12 1551*4757b351SPierre Pronchery 1552*4757b351SPierre Pronchery leaq 640(%rsp),%rsp 1553*4757b351SPierre Pronchery 1554*4757b351SPierre Pronchery 1555*4757b351SPierre Pronchery 1556*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm3,%ymm13 1557*4757b351SPierre Pronchery vmovmskpd %ymm13,%r14d 1558*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm4,%ymm13 1559*4757b351SPierre Pronchery vmovmskpd %ymm13,%r13d 1560*4757b351SPierre Pronchery shlb $4,%r13b 1561*4757b351SPierre Pronchery orb %r13b,%r14b 1562*4757b351SPierre Pronchery 1563*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm5,%ymm13 1564*4757b351SPierre Pronchery vmovmskpd %ymm13,%r13d 1565*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm6,%ymm13 1566*4757b351SPierre Pronchery vmovmskpd %ymm13,%r12d 1567*4757b351SPierre Pronchery shlb $4,%r12b 1568*4757b351SPierre Pronchery orb %r12b,%r13b 1569*4757b351SPierre Pronchery 1570*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm7,%ymm13 1571*4757b351SPierre Pronchery vmovmskpd %ymm13,%r12d 1572*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm8,%ymm13 1573*4757b351SPierre Pronchery vmovmskpd %ymm13,%r11d 1574*4757b351SPierre Pronchery shlb $4,%r11b 1575*4757b351SPierre Pronchery orb %r11b,%r12b 1576*4757b351SPierre Pronchery 1577*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm9,%ymm13 1578*4757b351SPierre Pronchery vmovmskpd %ymm13,%r11d 1579*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm10,%ymm13 1580*4757b351SPierre Pronchery vmovmskpd %ymm13,%r10d 1581*4757b351SPierre Pronchery shlb $4,%r10b 1582*4757b351SPierre Pronchery orb %r10b,%r11b 1583*4757b351SPierre Pronchery 1584*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm11,%ymm13 1585*4757b351SPierre Pronchery vmovmskpd %ymm13,%r10d 1586*4757b351SPierre Pronchery vpcmpgtq .Lmask52x4(%rip),%ymm12,%ymm13 1587*4757b351SPierre Pronchery vmovmskpd %ymm13,%r9d 1588*4757b351SPierre Pronchery shlb $4,%r9b 1589*4757b351SPierre Pronchery orb %r9b,%r10b 1590*4757b351SPierre Pronchery 1591*4757b351SPierre Pronchery addb %r14b,%r14b 1592*4757b351SPierre Pronchery adcb %r13b,%r13b 1593*4757b351SPierre Pronchery adcb %r12b,%r12b 1594*4757b351SPierre Pronchery adcb %r11b,%r11b 1595*4757b351SPierre Pronchery adcb %r10b,%r10b 1596*4757b351SPierre Pronchery 1597*4757b351SPierre Pronchery 1598*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm3,%ymm13 1599*4757b351SPierre Pronchery vmovmskpd %ymm13,%r9d 1600*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm4,%ymm13 1601*4757b351SPierre Pronchery vmovmskpd %ymm13,%r8d 1602*4757b351SPierre Pronchery shlb $4,%r8b 1603*4757b351SPierre Pronchery orb %r8b,%r9b 1604*4757b351SPierre Pronchery 1605*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm5,%ymm13 1606*4757b351SPierre Pronchery vmovmskpd %ymm13,%r8d 1607*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm6,%ymm13 1608*4757b351SPierre Pronchery vmovmskpd %ymm13,%edx 1609*4757b351SPierre Pronchery shlb $4,%dl 1610*4757b351SPierre Pronchery orb %dl,%r8b 1611*4757b351SPierre Pronchery 1612*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm7,%ymm13 1613*4757b351SPierre Pronchery vmovmskpd %ymm13,%edx 1614*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm8,%ymm13 1615*4757b351SPierre Pronchery vmovmskpd %ymm13,%ecx 1616*4757b351SPierre Pronchery shlb $4,%cl 1617*4757b351SPierre Pronchery orb %cl,%dl 1618*4757b351SPierre Pronchery 1619*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm9,%ymm13 1620*4757b351SPierre Pronchery vmovmskpd %ymm13,%ecx 1621*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm10,%ymm13 1622*4757b351SPierre Pronchery vmovmskpd %ymm13,%ebx 1623*4757b351SPierre Pronchery shlb $4,%bl 1624*4757b351SPierre Pronchery orb %bl,%cl 1625*4757b351SPierre Pronchery 1626*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm11,%ymm13 1627*4757b351SPierre Pronchery vmovmskpd %ymm13,%ebx 1628*4757b351SPierre Pronchery vpcmpeqq .Lmask52x4(%rip),%ymm12,%ymm13 1629*4757b351SPierre Pronchery vmovmskpd %ymm13,%eax 1630*4757b351SPierre Pronchery shlb $4,%al 1631*4757b351SPierre Pronchery orb %al,%bl 1632*4757b351SPierre Pronchery 1633*4757b351SPierre Pronchery addb %r9b,%r14b 1634*4757b351SPierre Pronchery adcb %r8b,%r13b 1635*4757b351SPierre Pronchery adcb %dl,%r12b 1636*4757b351SPierre Pronchery adcb %cl,%r11b 1637*4757b351SPierre Pronchery adcb %bl,%r10b 1638*4757b351SPierre Pronchery 1639*4757b351SPierre Pronchery xorb %r9b,%r14b 1640*4757b351SPierre Pronchery xorb %r8b,%r13b 1641*4757b351SPierre Pronchery xorb %dl,%r12b 1642*4757b351SPierre Pronchery xorb %cl,%r11b 1643*4757b351SPierre Pronchery xorb %bl,%r10b 1644*4757b351SPierre Pronchery 1645*4757b351SPierre Pronchery pushq %r9 1646*4757b351SPierre Pronchery pushq %r8 1647*4757b351SPierre Pronchery 1648*4757b351SPierre Pronchery leaq .Lkmasklut(%rip),%r8 1649*4757b351SPierre Pronchery 1650*4757b351SPierre Pronchery movb %r14b,%r9b 1651*4757b351SPierre Pronchery andq $0xf,%r14 1652*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm3,%ymm13 1653*4757b351SPierre Pronchery shlq $5,%r14 1654*4757b351SPierre Pronchery vmovapd (%r8,%r14,1),%ymm14 1655*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm3,%ymm3 1656*4757b351SPierre Pronchery 1657*4757b351SPierre Pronchery shrb $4,%r9b 1658*4757b351SPierre Pronchery andq $0xf,%r9 1659*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm4,%ymm13 1660*4757b351SPierre Pronchery shlq $5,%r9 1661*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1662*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm4,%ymm4 1663*4757b351SPierre Pronchery 1664*4757b351SPierre Pronchery movb %r13b,%r9b 1665*4757b351SPierre Pronchery andq $0xf,%r13 1666*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm5,%ymm13 1667*4757b351SPierre Pronchery shlq $5,%r13 1668*4757b351SPierre Pronchery vmovapd (%r8,%r13,1),%ymm14 1669*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm5,%ymm5 1670*4757b351SPierre Pronchery 1671*4757b351SPierre Pronchery shrb $4,%r9b 1672*4757b351SPierre Pronchery andq $0xf,%r9 1673*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm6,%ymm13 1674*4757b351SPierre Pronchery shlq $5,%r9 1675*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1676*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm6,%ymm6 1677*4757b351SPierre Pronchery 1678*4757b351SPierre Pronchery movb %r12b,%r9b 1679*4757b351SPierre Pronchery andq $0xf,%r12 1680*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm7,%ymm13 1681*4757b351SPierre Pronchery shlq $5,%r12 1682*4757b351SPierre Pronchery vmovapd (%r8,%r12,1),%ymm14 1683*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm7,%ymm7 1684*4757b351SPierre Pronchery 1685*4757b351SPierre Pronchery shrb $4,%r9b 1686*4757b351SPierre Pronchery andq $0xf,%r9 1687*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm8,%ymm13 1688*4757b351SPierre Pronchery shlq $5,%r9 1689*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1690*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm8,%ymm8 1691*4757b351SPierre Pronchery 1692*4757b351SPierre Pronchery movb %r11b,%r9b 1693*4757b351SPierre Pronchery andq $0xf,%r11 1694*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm9,%ymm13 1695*4757b351SPierre Pronchery shlq $5,%r11 1696*4757b351SPierre Pronchery vmovapd (%r8,%r11,1),%ymm14 1697*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm9,%ymm9 1698*4757b351SPierre Pronchery 1699*4757b351SPierre Pronchery shrb $4,%r9b 1700*4757b351SPierre Pronchery andq $0xf,%r9 1701*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm10,%ymm13 1702*4757b351SPierre Pronchery shlq $5,%r9 1703*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1704*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm10,%ymm10 1705*4757b351SPierre Pronchery 1706*4757b351SPierre Pronchery movb %r10b,%r9b 1707*4757b351SPierre Pronchery andq $0xf,%r10 1708*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm11,%ymm13 1709*4757b351SPierre Pronchery shlq $5,%r10 1710*4757b351SPierre Pronchery vmovapd (%r8,%r10,1),%ymm14 1711*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm11,%ymm11 1712*4757b351SPierre Pronchery 1713*4757b351SPierre Pronchery shrb $4,%r9b 1714*4757b351SPierre Pronchery andq $0xf,%r9 1715*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm12,%ymm13 1716*4757b351SPierre Pronchery shlq $5,%r9 1717*4757b351SPierre Pronchery vmovapd (%r8,%r9,1),%ymm14 1718*4757b351SPierre Pronchery vblendvpd %ymm14,%ymm13,%ymm12,%ymm12 1719*4757b351SPierre Pronchery 1720*4757b351SPierre Pronchery popq %r8 1721*4757b351SPierre Pronchery popq %r9 1722*4757b351SPierre Pronchery 1723*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm3,%ymm3 1724*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm4,%ymm4 1725*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm5,%ymm5 1726*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm6,%ymm6 1727*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm7,%ymm7 1728*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm8,%ymm8 1729*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm9,%ymm9 1730*4757b351SPierre Pronchery 1731*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm10,%ymm10 1732*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm11,%ymm11 1733*4757b351SPierre Pronchery vpand .Lmask52x4(%rip),%ymm12,%ymm12 1734*4757b351SPierre Pronchery 1735*4757b351SPierre Pronchery vmovdqu %ymm3,320(%rdi) 1736*4757b351SPierre Pronchery vmovdqu %ymm4,352(%rdi) 1737*4757b351SPierre Pronchery vmovdqu %ymm5,384(%rdi) 1738*4757b351SPierre Pronchery vmovdqu %ymm6,416(%rdi) 1739*4757b351SPierre Pronchery vmovdqu %ymm7,448(%rdi) 1740*4757b351SPierre Pronchery vmovdqu %ymm8,480(%rdi) 1741*4757b351SPierre Pronchery vmovdqu %ymm9,512(%rdi) 1742*4757b351SPierre Pronchery vmovdqu %ymm10,544(%rdi) 1743*4757b351SPierre Pronchery vmovdqu %ymm11,576(%rdi) 1744*4757b351SPierre Pronchery vmovdqu %ymm12,608(%rdi) 1745*4757b351SPierre Pronchery 1746*4757b351SPierre Pronchery vzeroupper 1747*4757b351SPierre Pronchery leaq (%rsp),%rax 1748*4757b351SPierre Pronchery.cfi_def_cfa_register %rax 1749*4757b351SPierre Pronchery movq 0(%rax),%r15 1750*4757b351SPierre Pronchery.cfi_restore %r15 1751*4757b351SPierre Pronchery movq 8(%rax),%r14 1752*4757b351SPierre Pronchery.cfi_restore %r14 1753*4757b351SPierre Pronchery movq 16(%rax),%r13 1754*4757b351SPierre Pronchery.cfi_restore %r13 1755*4757b351SPierre Pronchery movq 24(%rax),%r12 1756*4757b351SPierre Pronchery.cfi_restore %r12 1757*4757b351SPierre Pronchery movq 32(%rax),%rbp 1758*4757b351SPierre Pronchery.cfi_restore %rbp 1759*4757b351SPierre Pronchery movq 40(%rax),%rbx 1760*4757b351SPierre Pronchery.cfi_restore %rbx 1761*4757b351SPierre Pronchery leaq 48(%rax),%rsp 1762*4757b351SPierre Pronchery.cfi_def_cfa %rsp,8 1763*4757b351SPierre Pronchery.Lossl_rsaz_amm52x40_x2_avxifma256_epilogue: 1764*4757b351SPierre Pronchery .byte 0xf3,0xc3 1765*4757b351SPierre Pronchery.cfi_endproc 1766*4757b351SPierre Pronchery.size ossl_rsaz_amm52x40_x2_avxifma256, .-ossl_rsaz_amm52x40_x2_avxifma256 1767*4757b351SPierre Pronchery.text 1768*4757b351SPierre Pronchery 1769*4757b351SPierre Pronchery.align 32 1770*4757b351SPierre Pronchery.globl ossl_extract_multiplier_2x40_win5_avx 1771*4757b351SPierre Pronchery.type ossl_extract_multiplier_2x40_win5_avx,@function 1772*4757b351SPierre Proncheryossl_extract_multiplier_2x40_win5_avx: 1773*4757b351SPierre Pronchery.cfi_startproc 1774*4757b351SPierre Pronchery.byte 243,15,30,250 1775*4757b351SPierre Pronchery vmovapd .Lones(%rip),%ymm14 1776*4757b351SPierre Pronchery vmovq %rdx,%xmm10 1777*4757b351SPierre Pronchery vpbroadcastq %xmm10,%ymm12 1778*4757b351SPierre Pronchery vmovq %rcx,%xmm10 1779*4757b351SPierre Pronchery vpbroadcastq %xmm10,%ymm13 1780*4757b351SPierre Pronchery leaq 20480(%rsi),%rax 1781*4757b351SPierre Pronchery 1782*4757b351SPierre Pronchery 1783*4757b351SPierre Pronchery movq %rsi,%r10 1784*4757b351SPierre Pronchery 1785*4757b351SPierre Pronchery 1786*4757b351SPierre Pronchery vpxor %xmm0,%xmm0,%xmm0 1787*4757b351SPierre Pronchery vmovapd %ymm0,%ymm1 1788*4757b351SPierre Pronchery vmovapd %ymm0,%ymm2 1789*4757b351SPierre Pronchery vmovapd %ymm0,%ymm3 1790*4757b351SPierre Pronchery vmovapd %ymm0,%ymm4 1791*4757b351SPierre Pronchery vmovapd %ymm0,%ymm5 1792*4757b351SPierre Pronchery vmovapd %ymm0,%ymm6 1793*4757b351SPierre Pronchery vmovapd %ymm0,%ymm7 1794*4757b351SPierre Pronchery vmovapd %ymm0,%ymm8 1795*4757b351SPierre Pronchery vmovapd %ymm0,%ymm9 1796*4757b351SPierre Pronchery vpxor %ymm11,%ymm11,%ymm11 1797*4757b351SPierre Pronchery.align 32 1798*4757b351SPierre Pronchery.Lloop_0: 1799*4757b351SPierre Pronchery vpcmpeqq %ymm11,%ymm12,%ymm15 1800*4757b351SPierre Pronchery vmovdqu 0(%rsi),%ymm10 1801*4757b351SPierre Pronchery 1802*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm0,%ymm0 1803*4757b351SPierre Pronchery vmovdqu 32(%rsi),%ymm10 1804*4757b351SPierre Pronchery 1805*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm1,%ymm1 1806*4757b351SPierre Pronchery vmovdqu 64(%rsi),%ymm10 1807*4757b351SPierre Pronchery 1808*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm2,%ymm2 1809*4757b351SPierre Pronchery vmovdqu 96(%rsi),%ymm10 1810*4757b351SPierre Pronchery 1811*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm3,%ymm3 1812*4757b351SPierre Pronchery vmovdqu 128(%rsi),%ymm10 1813*4757b351SPierre Pronchery 1814*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm4,%ymm4 1815*4757b351SPierre Pronchery vmovdqu 160(%rsi),%ymm10 1816*4757b351SPierre Pronchery 1817*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm5,%ymm5 1818*4757b351SPierre Pronchery vmovdqu 192(%rsi),%ymm10 1819*4757b351SPierre Pronchery 1820*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm6,%ymm6 1821*4757b351SPierre Pronchery vmovdqu 224(%rsi),%ymm10 1822*4757b351SPierre Pronchery 1823*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm7,%ymm7 1824*4757b351SPierre Pronchery vmovdqu 256(%rsi),%ymm10 1825*4757b351SPierre Pronchery 1826*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm8,%ymm8 1827*4757b351SPierre Pronchery vmovdqu 288(%rsi),%ymm10 1828*4757b351SPierre Pronchery 1829*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm9,%ymm9 1830*4757b351SPierre Pronchery vpaddq %ymm14,%ymm11,%ymm11 1831*4757b351SPierre Pronchery addq $640,%rsi 1832*4757b351SPierre Pronchery cmpq %rsi,%rax 1833*4757b351SPierre Pronchery jne .Lloop_0 1834*4757b351SPierre Pronchery vmovdqu %ymm0,0(%rdi) 1835*4757b351SPierre Pronchery vmovdqu %ymm1,32(%rdi) 1836*4757b351SPierre Pronchery vmovdqu %ymm2,64(%rdi) 1837*4757b351SPierre Pronchery vmovdqu %ymm3,96(%rdi) 1838*4757b351SPierre Pronchery vmovdqu %ymm4,128(%rdi) 1839*4757b351SPierre Pronchery vmovdqu %ymm5,160(%rdi) 1840*4757b351SPierre Pronchery vmovdqu %ymm6,192(%rdi) 1841*4757b351SPierre Pronchery vmovdqu %ymm7,224(%rdi) 1842*4757b351SPierre Pronchery vmovdqu %ymm8,256(%rdi) 1843*4757b351SPierre Pronchery vmovdqu %ymm9,288(%rdi) 1844*4757b351SPierre Pronchery movq %r10,%rsi 1845*4757b351SPierre Pronchery vpxor %ymm11,%ymm11,%ymm11 1846*4757b351SPierre Pronchery.align 32 1847*4757b351SPierre Pronchery.Lloop_320: 1848*4757b351SPierre Pronchery vpcmpeqq %ymm11,%ymm13,%ymm15 1849*4757b351SPierre Pronchery vmovdqu 320(%rsi),%ymm10 1850*4757b351SPierre Pronchery 1851*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm0,%ymm0 1852*4757b351SPierre Pronchery vmovdqu 352(%rsi),%ymm10 1853*4757b351SPierre Pronchery 1854*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm1,%ymm1 1855*4757b351SPierre Pronchery vmovdqu 384(%rsi),%ymm10 1856*4757b351SPierre Pronchery 1857*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm2,%ymm2 1858*4757b351SPierre Pronchery vmovdqu 416(%rsi),%ymm10 1859*4757b351SPierre Pronchery 1860*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm3,%ymm3 1861*4757b351SPierre Pronchery vmovdqu 448(%rsi),%ymm10 1862*4757b351SPierre Pronchery 1863*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm4,%ymm4 1864*4757b351SPierre Pronchery vmovdqu 480(%rsi),%ymm10 1865*4757b351SPierre Pronchery 1866*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm5,%ymm5 1867*4757b351SPierre Pronchery vmovdqu 512(%rsi),%ymm10 1868*4757b351SPierre Pronchery 1869*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm6,%ymm6 1870*4757b351SPierre Pronchery vmovdqu 544(%rsi),%ymm10 1871*4757b351SPierre Pronchery 1872*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm7,%ymm7 1873*4757b351SPierre Pronchery vmovdqu 576(%rsi),%ymm10 1874*4757b351SPierre Pronchery 1875*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm8,%ymm8 1876*4757b351SPierre Pronchery vmovdqu 608(%rsi),%ymm10 1877*4757b351SPierre Pronchery 1878*4757b351SPierre Pronchery vblendvpd %ymm15,%ymm10,%ymm9,%ymm9 1879*4757b351SPierre Pronchery vpaddq %ymm14,%ymm11,%ymm11 1880*4757b351SPierre Pronchery addq $640,%rsi 1881*4757b351SPierre Pronchery cmpq %rsi,%rax 1882*4757b351SPierre Pronchery jne .Lloop_320 1883*4757b351SPierre Pronchery vmovdqu %ymm0,320(%rdi) 1884*4757b351SPierre Pronchery vmovdqu %ymm1,352(%rdi) 1885*4757b351SPierre Pronchery vmovdqu %ymm2,384(%rdi) 1886*4757b351SPierre Pronchery vmovdqu %ymm3,416(%rdi) 1887*4757b351SPierre Pronchery vmovdqu %ymm4,448(%rdi) 1888*4757b351SPierre Pronchery vmovdqu %ymm5,480(%rdi) 1889*4757b351SPierre Pronchery vmovdqu %ymm6,512(%rdi) 1890*4757b351SPierre Pronchery vmovdqu %ymm7,544(%rdi) 1891*4757b351SPierre Pronchery vmovdqu %ymm8,576(%rdi) 1892*4757b351SPierre Pronchery vmovdqu %ymm9,608(%rdi) 1893*4757b351SPierre Pronchery 1894*4757b351SPierre Pronchery .byte 0xf3,0xc3 1895*4757b351SPierre Pronchery.cfi_endproc 1896*4757b351SPierre Pronchery.size ossl_extract_multiplier_2x40_win5_avx, .-ossl_extract_multiplier_2x40_win5_avx 1897*4757b351SPierre Pronchery.section .rodata 1898*4757b351SPierre Pronchery.align 32 1899*4757b351SPierre Pronchery.Lones: 1900*4757b351SPierre Pronchery.quad 1,1,1,1 1901*4757b351SPierre Pronchery.Lzeros: 1902*4757b351SPierre Pronchery.quad 0,0,0,0 1903*4757b351SPierre Pronchery .section ".note.gnu.property", "a" 1904*4757b351SPierre Pronchery .p2align 3 1905*4757b351SPierre Pronchery .long 1f - 0f 1906*4757b351SPierre Pronchery .long 4f - 1f 1907*4757b351SPierre Pronchery .long 5 1908*4757b351SPierre Pronchery0: 1909*4757b351SPierre Pronchery # "GNU" encoded with .byte, since .asciz isn't supported 1910*4757b351SPierre Pronchery # on Solaris. 1911*4757b351SPierre Pronchery .byte 0x47 1912*4757b351SPierre Pronchery .byte 0x4e 1913*4757b351SPierre Pronchery .byte 0x55 1914*4757b351SPierre Pronchery .byte 0 1915*4757b351SPierre Pronchery1: 1916*4757b351SPierre Pronchery .p2align 3 1917*4757b351SPierre Pronchery .long 0xc0000002 1918*4757b351SPierre Pronchery .long 3f - 2f 1919*4757b351SPierre Pronchery2: 1920*4757b351SPierre Pronchery .long 3 1921*4757b351SPierre Pronchery3: 1922*4757b351SPierre Pronchery .p2align 3 1923*4757b351SPierre Pronchery4: 1924