1*4757b351SPierre Pronchery/* Do not modify. This file is auto-generated from rsaz-4k-avx512.pl. */ 2*4757b351SPierre Pronchery.text 3*4757b351SPierre Pronchery 4*4757b351SPierre Pronchery.globl ossl_rsaz_amm52x40_x1_ifma256 5*4757b351SPierre Pronchery.type ossl_rsaz_amm52x40_x1_ifma256,@function 6*4757b351SPierre Pronchery.align 32 7*4757b351SPierre Proncheryossl_rsaz_amm52x40_x1_ifma256: 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 vpxord %ymm0,%ymm0,%ymm0 30*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm3 31*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm4 32*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm5 33*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm6 34*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm7 35*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm8 36*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm9 37*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm10 38*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm11 39*4757b351SPierre Pronchery vmovdqa64 %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 %r13,%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 vpbroadcastq %r13,%ymm2 65*4757b351SPierre Pronchery movq 0(%rcx),%rdx 66*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 67*4757b351SPierre Pronchery addq %r13,%r9 68*4757b351SPierre Pronchery adcq %r12,%r10 69*4757b351SPierre Pronchery 70*4757b351SPierre Pronchery shrq $52,%r9 71*4757b351SPierre Pronchery salq $12,%r10 72*4757b351SPierre Pronchery orq %r10,%r9 73*4757b351SPierre Pronchery 74*4757b351SPierre Pronchery vpmadd52luq 0(%rsi),%ymm1,%ymm3 75*4757b351SPierre Pronchery vpmadd52luq 32(%rsi),%ymm1,%ymm4 76*4757b351SPierre Pronchery vpmadd52luq 64(%rsi),%ymm1,%ymm5 77*4757b351SPierre Pronchery vpmadd52luq 96(%rsi),%ymm1,%ymm6 78*4757b351SPierre Pronchery vpmadd52luq 128(%rsi),%ymm1,%ymm7 79*4757b351SPierre Pronchery vpmadd52luq 160(%rsi),%ymm1,%ymm8 80*4757b351SPierre Pronchery vpmadd52luq 192(%rsi),%ymm1,%ymm9 81*4757b351SPierre Pronchery vpmadd52luq 224(%rsi),%ymm1,%ymm10 82*4757b351SPierre Pronchery vpmadd52luq 256(%rsi),%ymm1,%ymm11 83*4757b351SPierre Pronchery vpmadd52luq 288(%rsi),%ymm1,%ymm12 84*4757b351SPierre Pronchery 85*4757b351SPierre Pronchery vpmadd52luq 0(%rcx),%ymm2,%ymm3 86*4757b351SPierre Pronchery vpmadd52luq 32(%rcx),%ymm2,%ymm4 87*4757b351SPierre Pronchery vpmadd52luq 64(%rcx),%ymm2,%ymm5 88*4757b351SPierre Pronchery vpmadd52luq 96(%rcx),%ymm2,%ymm6 89*4757b351SPierre Pronchery vpmadd52luq 128(%rcx),%ymm2,%ymm7 90*4757b351SPierre Pronchery vpmadd52luq 160(%rcx),%ymm2,%ymm8 91*4757b351SPierre Pronchery vpmadd52luq 192(%rcx),%ymm2,%ymm9 92*4757b351SPierre Pronchery vpmadd52luq 224(%rcx),%ymm2,%ymm10 93*4757b351SPierre Pronchery vpmadd52luq 256(%rcx),%ymm2,%ymm11 94*4757b351SPierre Pronchery vpmadd52luq 288(%rcx),%ymm2,%ymm12 95*4757b351SPierre Pronchery 96*4757b351SPierre Pronchery 97*4757b351SPierre Pronchery valignq $1,%ymm3,%ymm4,%ymm3 98*4757b351SPierre Pronchery valignq $1,%ymm4,%ymm5,%ymm4 99*4757b351SPierre Pronchery valignq $1,%ymm5,%ymm6,%ymm5 100*4757b351SPierre Pronchery valignq $1,%ymm6,%ymm7,%ymm6 101*4757b351SPierre Pronchery valignq $1,%ymm7,%ymm8,%ymm7 102*4757b351SPierre Pronchery valignq $1,%ymm8,%ymm9,%ymm8 103*4757b351SPierre Pronchery valignq $1,%ymm9,%ymm10,%ymm9 104*4757b351SPierre Pronchery valignq $1,%ymm10,%ymm11,%ymm10 105*4757b351SPierre Pronchery valignq $1,%ymm11,%ymm12,%ymm11 106*4757b351SPierre Pronchery valignq $1,%ymm12,%ymm0,%ymm12 107*4757b351SPierre Pronchery 108*4757b351SPierre Pronchery vmovq %xmm3,%r13 109*4757b351SPierre Pronchery addq %r13,%r9 110*4757b351SPierre Pronchery 111*4757b351SPierre Pronchery vpmadd52huq 0(%rsi),%ymm1,%ymm3 112*4757b351SPierre Pronchery vpmadd52huq 32(%rsi),%ymm1,%ymm4 113*4757b351SPierre Pronchery vpmadd52huq 64(%rsi),%ymm1,%ymm5 114*4757b351SPierre Pronchery vpmadd52huq 96(%rsi),%ymm1,%ymm6 115*4757b351SPierre Pronchery vpmadd52huq 128(%rsi),%ymm1,%ymm7 116*4757b351SPierre Pronchery vpmadd52huq 160(%rsi),%ymm1,%ymm8 117*4757b351SPierre Pronchery vpmadd52huq 192(%rsi),%ymm1,%ymm9 118*4757b351SPierre Pronchery vpmadd52huq 224(%rsi),%ymm1,%ymm10 119*4757b351SPierre Pronchery vpmadd52huq 256(%rsi),%ymm1,%ymm11 120*4757b351SPierre Pronchery vpmadd52huq 288(%rsi),%ymm1,%ymm12 121*4757b351SPierre Pronchery 122*4757b351SPierre Pronchery vpmadd52huq 0(%rcx),%ymm2,%ymm3 123*4757b351SPierre Pronchery vpmadd52huq 32(%rcx),%ymm2,%ymm4 124*4757b351SPierre Pronchery vpmadd52huq 64(%rcx),%ymm2,%ymm5 125*4757b351SPierre Pronchery vpmadd52huq 96(%rcx),%ymm2,%ymm6 126*4757b351SPierre Pronchery vpmadd52huq 128(%rcx),%ymm2,%ymm7 127*4757b351SPierre Pronchery vpmadd52huq 160(%rcx),%ymm2,%ymm8 128*4757b351SPierre Pronchery vpmadd52huq 192(%rcx),%ymm2,%ymm9 129*4757b351SPierre Pronchery vpmadd52huq 224(%rcx),%ymm2,%ymm10 130*4757b351SPierre Pronchery vpmadd52huq 256(%rcx),%ymm2,%ymm11 131*4757b351SPierre Pronchery vpmadd52huq 288(%rcx),%ymm2,%ymm12 132*4757b351SPierre Pronchery movq 8(%r11),%r13 133*4757b351SPierre Pronchery 134*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm1 135*4757b351SPierre Pronchery movq 0(%rsi),%rdx 136*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 137*4757b351SPierre Pronchery addq %r13,%r9 138*4757b351SPierre Pronchery movq %r12,%r10 139*4757b351SPierre Pronchery adcq $0,%r10 140*4757b351SPierre Pronchery 141*4757b351SPierre Pronchery movq %r8,%r13 142*4757b351SPierre Pronchery imulq %r9,%r13 143*4757b351SPierre Pronchery andq %rax,%r13 144*4757b351SPierre Pronchery 145*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm2 146*4757b351SPierre Pronchery movq 0(%rcx),%rdx 147*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 148*4757b351SPierre Pronchery addq %r13,%r9 149*4757b351SPierre Pronchery adcq %r12,%r10 150*4757b351SPierre Pronchery 151*4757b351SPierre Pronchery shrq $52,%r9 152*4757b351SPierre Pronchery salq $12,%r10 153*4757b351SPierre Pronchery orq %r10,%r9 154*4757b351SPierre Pronchery 155*4757b351SPierre Pronchery vpmadd52luq 0(%rsi),%ymm1,%ymm3 156*4757b351SPierre Pronchery vpmadd52luq 32(%rsi),%ymm1,%ymm4 157*4757b351SPierre Pronchery vpmadd52luq 64(%rsi),%ymm1,%ymm5 158*4757b351SPierre Pronchery vpmadd52luq 96(%rsi),%ymm1,%ymm6 159*4757b351SPierre Pronchery vpmadd52luq 128(%rsi),%ymm1,%ymm7 160*4757b351SPierre Pronchery vpmadd52luq 160(%rsi),%ymm1,%ymm8 161*4757b351SPierre Pronchery vpmadd52luq 192(%rsi),%ymm1,%ymm9 162*4757b351SPierre Pronchery vpmadd52luq 224(%rsi),%ymm1,%ymm10 163*4757b351SPierre Pronchery vpmadd52luq 256(%rsi),%ymm1,%ymm11 164*4757b351SPierre Pronchery vpmadd52luq 288(%rsi),%ymm1,%ymm12 165*4757b351SPierre Pronchery 166*4757b351SPierre Pronchery vpmadd52luq 0(%rcx),%ymm2,%ymm3 167*4757b351SPierre Pronchery vpmadd52luq 32(%rcx),%ymm2,%ymm4 168*4757b351SPierre Pronchery vpmadd52luq 64(%rcx),%ymm2,%ymm5 169*4757b351SPierre Pronchery vpmadd52luq 96(%rcx),%ymm2,%ymm6 170*4757b351SPierre Pronchery vpmadd52luq 128(%rcx),%ymm2,%ymm7 171*4757b351SPierre Pronchery vpmadd52luq 160(%rcx),%ymm2,%ymm8 172*4757b351SPierre Pronchery vpmadd52luq 192(%rcx),%ymm2,%ymm9 173*4757b351SPierre Pronchery vpmadd52luq 224(%rcx),%ymm2,%ymm10 174*4757b351SPierre Pronchery vpmadd52luq 256(%rcx),%ymm2,%ymm11 175*4757b351SPierre Pronchery vpmadd52luq 288(%rcx),%ymm2,%ymm12 176*4757b351SPierre Pronchery 177*4757b351SPierre Pronchery 178*4757b351SPierre Pronchery valignq $1,%ymm3,%ymm4,%ymm3 179*4757b351SPierre Pronchery valignq $1,%ymm4,%ymm5,%ymm4 180*4757b351SPierre Pronchery valignq $1,%ymm5,%ymm6,%ymm5 181*4757b351SPierre Pronchery valignq $1,%ymm6,%ymm7,%ymm6 182*4757b351SPierre Pronchery valignq $1,%ymm7,%ymm8,%ymm7 183*4757b351SPierre Pronchery valignq $1,%ymm8,%ymm9,%ymm8 184*4757b351SPierre Pronchery valignq $1,%ymm9,%ymm10,%ymm9 185*4757b351SPierre Pronchery valignq $1,%ymm10,%ymm11,%ymm10 186*4757b351SPierre Pronchery valignq $1,%ymm11,%ymm12,%ymm11 187*4757b351SPierre Pronchery valignq $1,%ymm12,%ymm0,%ymm12 188*4757b351SPierre Pronchery 189*4757b351SPierre Pronchery vmovq %xmm3,%r13 190*4757b351SPierre Pronchery addq %r13,%r9 191*4757b351SPierre Pronchery 192*4757b351SPierre Pronchery vpmadd52huq 0(%rsi),%ymm1,%ymm3 193*4757b351SPierre Pronchery vpmadd52huq 32(%rsi),%ymm1,%ymm4 194*4757b351SPierre Pronchery vpmadd52huq 64(%rsi),%ymm1,%ymm5 195*4757b351SPierre Pronchery vpmadd52huq 96(%rsi),%ymm1,%ymm6 196*4757b351SPierre Pronchery vpmadd52huq 128(%rsi),%ymm1,%ymm7 197*4757b351SPierre Pronchery vpmadd52huq 160(%rsi),%ymm1,%ymm8 198*4757b351SPierre Pronchery vpmadd52huq 192(%rsi),%ymm1,%ymm9 199*4757b351SPierre Pronchery vpmadd52huq 224(%rsi),%ymm1,%ymm10 200*4757b351SPierre Pronchery vpmadd52huq 256(%rsi),%ymm1,%ymm11 201*4757b351SPierre Pronchery vpmadd52huq 288(%rsi),%ymm1,%ymm12 202*4757b351SPierre Pronchery 203*4757b351SPierre Pronchery vpmadd52huq 0(%rcx),%ymm2,%ymm3 204*4757b351SPierre Pronchery vpmadd52huq 32(%rcx),%ymm2,%ymm4 205*4757b351SPierre Pronchery vpmadd52huq 64(%rcx),%ymm2,%ymm5 206*4757b351SPierre Pronchery vpmadd52huq 96(%rcx),%ymm2,%ymm6 207*4757b351SPierre Pronchery vpmadd52huq 128(%rcx),%ymm2,%ymm7 208*4757b351SPierre Pronchery vpmadd52huq 160(%rcx),%ymm2,%ymm8 209*4757b351SPierre Pronchery vpmadd52huq 192(%rcx),%ymm2,%ymm9 210*4757b351SPierre Pronchery vpmadd52huq 224(%rcx),%ymm2,%ymm10 211*4757b351SPierre Pronchery vpmadd52huq 256(%rcx),%ymm2,%ymm11 212*4757b351SPierre Pronchery vpmadd52huq 288(%rcx),%ymm2,%ymm12 213*4757b351SPierre Pronchery movq 16(%r11),%r13 214*4757b351SPierre Pronchery 215*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm1 216*4757b351SPierre Pronchery movq 0(%rsi),%rdx 217*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 218*4757b351SPierre Pronchery addq %r13,%r9 219*4757b351SPierre Pronchery movq %r12,%r10 220*4757b351SPierre Pronchery adcq $0,%r10 221*4757b351SPierre Pronchery 222*4757b351SPierre Pronchery movq %r8,%r13 223*4757b351SPierre Pronchery imulq %r9,%r13 224*4757b351SPierre Pronchery andq %rax,%r13 225*4757b351SPierre Pronchery 226*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm2 227*4757b351SPierre Pronchery movq 0(%rcx),%rdx 228*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 229*4757b351SPierre Pronchery addq %r13,%r9 230*4757b351SPierre Pronchery adcq %r12,%r10 231*4757b351SPierre Pronchery 232*4757b351SPierre Pronchery shrq $52,%r9 233*4757b351SPierre Pronchery salq $12,%r10 234*4757b351SPierre Pronchery orq %r10,%r9 235*4757b351SPierre Pronchery 236*4757b351SPierre Pronchery vpmadd52luq 0(%rsi),%ymm1,%ymm3 237*4757b351SPierre Pronchery vpmadd52luq 32(%rsi),%ymm1,%ymm4 238*4757b351SPierre Pronchery vpmadd52luq 64(%rsi),%ymm1,%ymm5 239*4757b351SPierre Pronchery vpmadd52luq 96(%rsi),%ymm1,%ymm6 240*4757b351SPierre Pronchery vpmadd52luq 128(%rsi),%ymm1,%ymm7 241*4757b351SPierre Pronchery vpmadd52luq 160(%rsi),%ymm1,%ymm8 242*4757b351SPierre Pronchery vpmadd52luq 192(%rsi),%ymm1,%ymm9 243*4757b351SPierre Pronchery vpmadd52luq 224(%rsi),%ymm1,%ymm10 244*4757b351SPierre Pronchery vpmadd52luq 256(%rsi),%ymm1,%ymm11 245*4757b351SPierre Pronchery vpmadd52luq 288(%rsi),%ymm1,%ymm12 246*4757b351SPierre Pronchery 247*4757b351SPierre Pronchery vpmadd52luq 0(%rcx),%ymm2,%ymm3 248*4757b351SPierre Pronchery vpmadd52luq 32(%rcx),%ymm2,%ymm4 249*4757b351SPierre Pronchery vpmadd52luq 64(%rcx),%ymm2,%ymm5 250*4757b351SPierre Pronchery vpmadd52luq 96(%rcx),%ymm2,%ymm6 251*4757b351SPierre Pronchery vpmadd52luq 128(%rcx),%ymm2,%ymm7 252*4757b351SPierre Pronchery vpmadd52luq 160(%rcx),%ymm2,%ymm8 253*4757b351SPierre Pronchery vpmadd52luq 192(%rcx),%ymm2,%ymm9 254*4757b351SPierre Pronchery vpmadd52luq 224(%rcx),%ymm2,%ymm10 255*4757b351SPierre Pronchery vpmadd52luq 256(%rcx),%ymm2,%ymm11 256*4757b351SPierre Pronchery vpmadd52luq 288(%rcx),%ymm2,%ymm12 257*4757b351SPierre Pronchery 258*4757b351SPierre Pronchery 259*4757b351SPierre Pronchery valignq $1,%ymm3,%ymm4,%ymm3 260*4757b351SPierre Pronchery valignq $1,%ymm4,%ymm5,%ymm4 261*4757b351SPierre Pronchery valignq $1,%ymm5,%ymm6,%ymm5 262*4757b351SPierre Pronchery valignq $1,%ymm6,%ymm7,%ymm6 263*4757b351SPierre Pronchery valignq $1,%ymm7,%ymm8,%ymm7 264*4757b351SPierre Pronchery valignq $1,%ymm8,%ymm9,%ymm8 265*4757b351SPierre Pronchery valignq $1,%ymm9,%ymm10,%ymm9 266*4757b351SPierre Pronchery valignq $1,%ymm10,%ymm11,%ymm10 267*4757b351SPierre Pronchery valignq $1,%ymm11,%ymm12,%ymm11 268*4757b351SPierre Pronchery valignq $1,%ymm12,%ymm0,%ymm12 269*4757b351SPierre Pronchery 270*4757b351SPierre Pronchery vmovq %xmm3,%r13 271*4757b351SPierre Pronchery addq %r13,%r9 272*4757b351SPierre Pronchery 273*4757b351SPierre Pronchery vpmadd52huq 0(%rsi),%ymm1,%ymm3 274*4757b351SPierre Pronchery vpmadd52huq 32(%rsi),%ymm1,%ymm4 275*4757b351SPierre Pronchery vpmadd52huq 64(%rsi),%ymm1,%ymm5 276*4757b351SPierre Pronchery vpmadd52huq 96(%rsi),%ymm1,%ymm6 277*4757b351SPierre Pronchery vpmadd52huq 128(%rsi),%ymm1,%ymm7 278*4757b351SPierre Pronchery vpmadd52huq 160(%rsi),%ymm1,%ymm8 279*4757b351SPierre Pronchery vpmadd52huq 192(%rsi),%ymm1,%ymm9 280*4757b351SPierre Pronchery vpmadd52huq 224(%rsi),%ymm1,%ymm10 281*4757b351SPierre Pronchery vpmadd52huq 256(%rsi),%ymm1,%ymm11 282*4757b351SPierre Pronchery vpmadd52huq 288(%rsi),%ymm1,%ymm12 283*4757b351SPierre Pronchery 284*4757b351SPierre Pronchery vpmadd52huq 0(%rcx),%ymm2,%ymm3 285*4757b351SPierre Pronchery vpmadd52huq 32(%rcx),%ymm2,%ymm4 286*4757b351SPierre Pronchery vpmadd52huq 64(%rcx),%ymm2,%ymm5 287*4757b351SPierre Pronchery vpmadd52huq 96(%rcx),%ymm2,%ymm6 288*4757b351SPierre Pronchery vpmadd52huq 128(%rcx),%ymm2,%ymm7 289*4757b351SPierre Pronchery vpmadd52huq 160(%rcx),%ymm2,%ymm8 290*4757b351SPierre Pronchery vpmadd52huq 192(%rcx),%ymm2,%ymm9 291*4757b351SPierre Pronchery vpmadd52huq 224(%rcx),%ymm2,%ymm10 292*4757b351SPierre Pronchery vpmadd52huq 256(%rcx),%ymm2,%ymm11 293*4757b351SPierre Pronchery vpmadd52huq 288(%rcx),%ymm2,%ymm12 294*4757b351SPierre Pronchery movq 24(%r11),%r13 295*4757b351SPierre Pronchery 296*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm1 297*4757b351SPierre Pronchery movq 0(%rsi),%rdx 298*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 299*4757b351SPierre Pronchery addq %r13,%r9 300*4757b351SPierre Pronchery movq %r12,%r10 301*4757b351SPierre Pronchery adcq $0,%r10 302*4757b351SPierre Pronchery 303*4757b351SPierre Pronchery movq %r8,%r13 304*4757b351SPierre Pronchery imulq %r9,%r13 305*4757b351SPierre Pronchery andq %rax,%r13 306*4757b351SPierre Pronchery 307*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm2 308*4757b351SPierre Pronchery movq 0(%rcx),%rdx 309*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 310*4757b351SPierre Pronchery addq %r13,%r9 311*4757b351SPierre Pronchery adcq %r12,%r10 312*4757b351SPierre Pronchery 313*4757b351SPierre Pronchery shrq $52,%r9 314*4757b351SPierre Pronchery salq $12,%r10 315*4757b351SPierre Pronchery orq %r10,%r9 316*4757b351SPierre Pronchery 317*4757b351SPierre Pronchery vpmadd52luq 0(%rsi),%ymm1,%ymm3 318*4757b351SPierre Pronchery vpmadd52luq 32(%rsi),%ymm1,%ymm4 319*4757b351SPierre Pronchery vpmadd52luq 64(%rsi),%ymm1,%ymm5 320*4757b351SPierre Pronchery vpmadd52luq 96(%rsi),%ymm1,%ymm6 321*4757b351SPierre Pronchery vpmadd52luq 128(%rsi),%ymm1,%ymm7 322*4757b351SPierre Pronchery vpmadd52luq 160(%rsi),%ymm1,%ymm8 323*4757b351SPierre Pronchery vpmadd52luq 192(%rsi),%ymm1,%ymm9 324*4757b351SPierre Pronchery vpmadd52luq 224(%rsi),%ymm1,%ymm10 325*4757b351SPierre Pronchery vpmadd52luq 256(%rsi),%ymm1,%ymm11 326*4757b351SPierre Pronchery vpmadd52luq 288(%rsi),%ymm1,%ymm12 327*4757b351SPierre Pronchery 328*4757b351SPierre Pronchery vpmadd52luq 0(%rcx),%ymm2,%ymm3 329*4757b351SPierre Pronchery vpmadd52luq 32(%rcx),%ymm2,%ymm4 330*4757b351SPierre Pronchery vpmadd52luq 64(%rcx),%ymm2,%ymm5 331*4757b351SPierre Pronchery vpmadd52luq 96(%rcx),%ymm2,%ymm6 332*4757b351SPierre Pronchery vpmadd52luq 128(%rcx),%ymm2,%ymm7 333*4757b351SPierre Pronchery vpmadd52luq 160(%rcx),%ymm2,%ymm8 334*4757b351SPierre Pronchery vpmadd52luq 192(%rcx),%ymm2,%ymm9 335*4757b351SPierre Pronchery vpmadd52luq 224(%rcx),%ymm2,%ymm10 336*4757b351SPierre Pronchery vpmadd52luq 256(%rcx),%ymm2,%ymm11 337*4757b351SPierre Pronchery vpmadd52luq 288(%rcx),%ymm2,%ymm12 338*4757b351SPierre Pronchery 339*4757b351SPierre Pronchery 340*4757b351SPierre Pronchery valignq $1,%ymm3,%ymm4,%ymm3 341*4757b351SPierre Pronchery valignq $1,%ymm4,%ymm5,%ymm4 342*4757b351SPierre Pronchery valignq $1,%ymm5,%ymm6,%ymm5 343*4757b351SPierre Pronchery valignq $1,%ymm6,%ymm7,%ymm6 344*4757b351SPierre Pronchery valignq $1,%ymm7,%ymm8,%ymm7 345*4757b351SPierre Pronchery valignq $1,%ymm8,%ymm9,%ymm8 346*4757b351SPierre Pronchery valignq $1,%ymm9,%ymm10,%ymm9 347*4757b351SPierre Pronchery valignq $1,%ymm10,%ymm11,%ymm10 348*4757b351SPierre Pronchery valignq $1,%ymm11,%ymm12,%ymm11 349*4757b351SPierre Pronchery valignq $1,%ymm12,%ymm0,%ymm12 350*4757b351SPierre Pronchery 351*4757b351SPierre Pronchery vmovq %xmm3,%r13 352*4757b351SPierre Pronchery addq %r13,%r9 353*4757b351SPierre Pronchery 354*4757b351SPierre Pronchery vpmadd52huq 0(%rsi),%ymm1,%ymm3 355*4757b351SPierre Pronchery vpmadd52huq 32(%rsi),%ymm1,%ymm4 356*4757b351SPierre Pronchery vpmadd52huq 64(%rsi),%ymm1,%ymm5 357*4757b351SPierre Pronchery vpmadd52huq 96(%rsi),%ymm1,%ymm6 358*4757b351SPierre Pronchery vpmadd52huq 128(%rsi),%ymm1,%ymm7 359*4757b351SPierre Pronchery vpmadd52huq 160(%rsi),%ymm1,%ymm8 360*4757b351SPierre Pronchery vpmadd52huq 192(%rsi),%ymm1,%ymm9 361*4757b351SPierre Pronchery vpmadd52huq 224(%rsi),%ymm1,%ymm10 362*4757b351SPierre Pronchery vpmadd52huq 256(%rsi),%ymm1,%ymm11 363*4757b351SPierre Pronchery vpmadd52huq 288(%rsi),%ymm1,%ymm12 364*4757b351SPierre Pronchery 365*4757b351SPierre Pronchery vpmadd52huq 0(%rcx),%ymm2,%ymm3 366*4757b351SPierre Pronchery vpmadd52huq 32(%rcx),%ymm2,%ymm4 367*4757b351SPierre Pronchery vpmadd52huq 64(%rcx),%ymm2,%ymm5 368*4757b351SPierre Pronchery vpmadd52huq 96(%rcx),%ymm2,%ymm6 369*4757b351SPierre Pronchery vpmadd52huq 128(%rcx),%ymm2,%ymm7 370*4757b351SPierre Pronchery vpmadd52huq 160(%rcx),%ymm2,%ymm8 371*4757b351SPierre Pronchery vpmadd52huq 192(%rcx),%ymm2,%ymm9 372*4757b351SPierre Pronchery vpmadd52huq 224(%rcx),%ymm2,%ymm10 373*4757b351SPierre Pronchery vpmadd52huq 256(%rcx),%ymm2,%ymm11 374*4757b351SPierre Pronchery vpmadd52huq 288(%rcx),%ymm2,%ymm12 375*4757b351SPierre Pronchery leaq 32(%r11),%r11 376*4757b351SPierre Pronchery decl %ebx 377*4757b351SPierre Pronchery jne .Lloop10 378*4757b351SPierre Pronchery 379*4757b351SPierre Pronchery vpbroadcastq %r9,%ymm0 380*4757b351SPierre Pronchery vpblendd $3,%ymm0,%ymm3,%ymm3 381*4757b351SPierre Pronchery 382*4757b351SPierre Pronchery 383*4757b351SPierre Pronchery 384*4757b351SPierre Pronchery vpsrlq $52,%ymm3,%ymm0 385*4757b351SPierre Pronchery vpsrlq $52,%ymm4,%ymm1 386*4757b351SPierre Pronchery vpsrlq $52,%ymm5,%ymm2 387*4757b351SPierre Pronchery vpsrlq $52,%ymm6,%ymm23 388*4757b351SPierre Pronchery vpsrlq $52,%ymm7,%ymm24 389*4757b351SPierre Pronchery vpsrlq $52,%ymm8,%ymm25 390*4757b351SPierre Pronchery vpsrlq $52,%ymm9,%ymm26 391*4757b351SPierre Pronchery vpsrlq $52,%ymm10,%ymm27 392*4757b351SPierre Pronchery vpsrlq $52,%ymm11,%ymm28 393*4757b351SPierre Pronchery vpsrlq $52,%ymm12,%ymm29 394*4757b351SPierre Pronchery 395*4757b351SPierre Pronchery 396*4757b351SPierre Pronchery valignq $3,%ymm28,%ymm29,%ymm29 397*4757b351SPierre Pronchery valignq $3,%ymm27,%ymm28,%ymm28 398*4757b351SPierre Pronchery valignq $3,%ymm26,%ymm27,%ymm27 399*4757b351SPierre Pronchery valignq $3,%ymm25,%ymm26,%ymm26 400*4757b351SPierre Pronchery valignq $3,%ymm24,%ymm25,%ymm25 401*4757b351SPierre Pronchery valignq $3,%ymm23,%ymm24,%ymm24 402*4757b351SPierre Pronchery valignq $3,%ymm2,%ymm23,%ymm23 403*4757b351SPierre Pronchery valignq $3,%ymm1,%ymm2,%ymm2 404*4757b351SPierre Pronchery valignq $3,%ymm0,%ymm1,%ymm1 405*4757b351SPierre Pronchery valignq $3,.Lzeros(%rip),%ymm0,%ymm0 406*4757b351SPierre Pronchery 407*4757b351SPierre Pronchery 408*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm3,%ymm3 409*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm4,%ymm4 410*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm5,%ymm5 411*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm6,%ymm6 412*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm7,%ymm7 413*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm8,%ymm8 414*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm9,%ymm9 415*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm10,%ymm10 416*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm11,%ymm11 417*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm12,%ymm12 418*4757b351SPierre Pronchery 419*4757b351SPierre Pronchery 420*4757b351SPierre Pronchery vpaddq %ymm0,%ymm3,%ymm3 421*4757b351SPierre Pronchery vpaddq %ymm1,%ymm4,%ymm4 422*4757b351SPierre Pronchery vpaddq %ymm2,%ymm5,%ymm5 423*4757b351SPierre Pronchery vpaddq %ymm23,%ymm6,%ymm6 424*4757b351SPierre Pronchery vpaddq %ymm24,%ymm7,%ymm7 425*4757b351SPierre Pronchery vpaddq %ymm25,%ymm8,%ymm8 426*4757b351SPierre Pronchery vpaddq %ymm26,%ymm9,%ymm9 427*4757b351SPierre Pronchery vpaddq %ymm27,%ymm10,%ymm10 428*4757b351SPierre Pronchery vpaddq %ymm28,%ymm11,%ymm11 429*4757b351SPierre Pronchery vpaddq %ymm29,%ymm12,%ymm12 430*4757b351SPierre Pronchery 431*4757b351SPierre Pronchery 432*4757b351SPierre Pronchery 433*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm3,%k1 434*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm4,%k2 435*4757b351SPierre Pronchery kmovb %k1,%r14d 436*4757b351SPierre Pronchery kmovb %k2,%r13d 437*4757b351SPierre Pronchery shlb $4,%r13b 438*4757b351SPierre Pronchery orb %r13b,%r14b 439*4757b351SPierre Pronchery 440*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm5,%k1 441*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm6,%k2 442*4757b351SPierre Pronchery kmovb %k1,%r13d 443*4757b351SPierre Pronchery kmovb %k2,%r12d 444*4757b351SPierre Pronchery shlb $4,%r12b 445*4757b351SPierre Pronchery orb %r12b,%r13b 446*4757b351SPierre Pronchery 447*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm7,%k1 448*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm8,%k2 449*4757b351SPierre Pronchery kmovb %k1,%r12d 450*4757b351SPierre Pronchery kmovb %k2,%r11d 451*4757b351SPierre Pronchery shlb $4,%r11b 452*4757b351SPierre Pronchery orb %r11b,%r12b 453*4757b351SPierre Pronchery 454*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm9,%k1 455*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm10,%k2 456*4757b351SPierre Pronchery kmovb %k1,%r11d 457*4757b351SPierre Pronchery kmovb %k2,%r10d 458*4757b351SPierre Pronchery shlb $4,%r10b 459*4757b351SPierre Pronchery orb %r10b,%r11b 460*4757b351SPierre Pronchery 461*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm11,%k1 462*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm12,%k2 463*4757b351SPierre Pronchery kmovb %k1,%r10d 464*4757b351SPierre Pronchery kmovb %k2,%r9d 465*4757b351SPierre Pronchery shlb $4,%r9b 466*4757b351SPierre Pronchery orb %r9b,%r10b 467*4757b351SPierre Pronchery 468*4757b351SPierre Pronchery addb %r14b,%r14b 469*4757b351SPierre Pronchery adcb %r13b,%r13b 470*4757b351SPierre Pronchery adcb %r12b,%r12b 471*4757b351SPierre Pronchery adcb %r11b,%r11b 472*4757b351SPierre Pronchery adcb %r10b,%r10b 473*4757b351SPierre Pronchery 474*4757b351SPierre Pronchery 475*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm3,%k1 476*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm4,%k2 477*4757b351SPierre Pronchery kmovb %k1,%r9d 478*4757b351SPierre Pronchery kmovb %k2,%r8d 479*4757b351SPierre Pronchery shlb $4,%r8b 480*4757b351SPierre Pronchery orb %r8b,%r9b 481*4757b351SPierre Pronchery 482*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm5,%k1 483*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm6,%k2 484*4757b351SPierre Pronchery kmovb %k1,%r8d 485*4757b351SPierre Pronchery kmovb %k2,%edx 486*4757b351SPierre Pronchery shlb $4,%dl 487*4757b351SPierre Pronchery orb %dl,%r8b 488*4757b351SPierre Pronchery 489*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm7,%k1 490*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm8,%k2 491*4757b351SPierre Pronchery kmovb %k1,%edx 492*4757b351SPierre Pronchery kmovb %k2,%ecx 493*4757b351SPierre Pronchery shlb $4,%cl 494*4757b351SPierre Pronchery orb %cl,%dl 495*4757b351SPierre Pronchery 496*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm9,%k1 497*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm10,%k2 498*4757b351SPierre Pronchery kmovb %k1,%ecx 499*4757b351SPierre Pronchery kmovb %k2,%ebx 500*4757b351SPierre Pronchery shlb $4,%bl 501*4757b351SPierre Pronchery orb %bl,%cl 502*4757b351SPierre Pronchery 503*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm11,%k1 504*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm12,%k2 505*4757b351SPierre Pronchery kmovb %k1,%ebx 506*4757b351SPierre Pronchery kmovb %k2,%eax 507*4757b351SPierre Pronchery shlb $4,%al 508*4757b351SPierre Pronchery orb %al,%bl 509*4757b351SPierre Pronchery 510*4757b351SPierre Pronchery addb %r9b,%r14b 511*4757b351SPierre Pronchery adcb %r8b,%r13b 512*4757b351SPierre Pronchery adcb %dl,%r12b 513*4757b351SPierre Pronchery adcb %cl,%r11b 514*4757b351SPierre Pronchery adcb %bl,%r10b 515*4757b351SPierre Pronchery 516*4757b351SPierre Pronchery xorb %r9b,%r14b 517*4757b351SPierre Pronchery xorb %r8b,%r13b 518*4757b351SPierre Pronchery xorb %dl,%r12b 519*4757b351SPierre Pronchery xorb %cl,%r11b 520*4757b351SPierre Pronchery xorb %bl,%r10b 521*4757b351SPierre Pronchery 522*4757b351SPierre Pronchery kmovb %r14d,%k1 523*4757b351SPierre Pronchery shrb $4,%r14b 524*4757b351SPierre Pronchery kmovb %r14d,%k2 525*4757b351SPierre Pronchery kmovb %r13d,%k3 526*4757b351SPierre Pronchery shrb $4,%r13b 527*4757b351SPierre Pronchery kmovb %r13d,%k4 528*4757b351SPierre Pronchery kmovb %r12d,%k5 529*4757b351SPierre Pronchery shrb $4,%r12b 530*4757b351SPierre Pronchery kmovb %r12d,%k6 531*4757b351SPierre Pronchery kmovb %r11d,%k7 532*4757b351SPierre Pronchery 533*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm3,%ymm3{%k1} 534*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm4,%ymm4{%k2} 535*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm5,%ymm5{%k3} 536*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm6,%ymm6{%k4} 537*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm7,%ymm7{%k5} 538*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm8,%ymm8{%k6} 539*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm9,%ymm9{%k7} 540*4757b351SPierre Pronchery 541*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm3,%ymm3 542*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm4,%ymm4 543*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm5,%ymm5 544*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm6,%ymm6 545*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm7,%ymm7 546*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm8,%ymm8 547*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm9,%ymm9 548*4757b351SPierre Pronchery 549*4757b351SPierre Pronchery shrb $4,%r11b 550*4757b351SPierre Pronchery kmovb %r11d,%k1 551*4757b351SPierre Pronchery kmovb %r10d,%k2 552*4757b351SPierre Pronchery shrb $4,%r10b 553*4757b351SPierre Pronchery kmovb %r10d,%k3 554*4757b351SPierre Pronchery 555*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm10,%ymm10{%k1} 556*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm11,%ymm11{%k2} 557*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm12,%ymm12{%k3} 558*4757b351SPierre Pronchery 559*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm10,%ymm10 560*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm11,%ymm11 561*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm12,%ymm12 562*4757b351SPierre Pronchery 563*4757b351SPierre Pronchery vmovdqu64 %ymm3,0(%rdi) 564*4757b351SPierre Pronchery vmovdqu64 %ymm4,32(%rdi) 565*4757b351SPierre Pronchery vmovdqu64 %ymm5,64(%rdi) 566*4757b351SPierre Pronchery vmovdqu64 %ymm6,96(%rdi) 567*4757b351SPierre Pronchery vmovdqu64 %ymm7,128(%rdi) 568*4757b351SPierre Pronchery vmovdqu64 %ymm8,160(%rdi) 569*4757b351SPierre Pronchery vmovdqu64 %ymm9,192(%rdi) 570*4757b351SPierre Pronchery vmovdqu64 %ymm10,224(%rdi) 571*4757b351SPierre Pronchery vmovdqu64 %ymm11,256(%rdi) 572*4757b351SPierre Pronchery vmovdqu64 %ymm12,288(%rdi) 573*4757b351SPierre Pronchery 574*4757b351SPierre Pronchery vzeroupper 575*4757b351SPierre Pronchery leaq (%rsp),%rax 576*4757b351SPierre Pronchery.cfi_def_cfa_register %rax 577*4757b351SPierre Pronchery movq 0(%rax),%r15 578*4757b351SPierre Pronchery.cfi_restore %r15 579*4757b351SPierre Pronchery movq 8(%rax),%r14 580*4757b351SPierre Pronchery.cfi_restore %r14 581*4757b351SPierre Pronchery movq 16(%rax),%r13 582*4757b351SPierre Pronchery.cfi_restore %r13 583*4757b351SPierre Pronchery movq 24(%rax),%r12 584*4757b351SPierre Pronchery.cfi_restore %r12 585*4757b351SPierre Pronchery movq 32(%rax),%rbp 586*4757b351SPierre Pronchery.cfi_restore %rbp 587*4757b351SPierre Pronchery movq 40(%rax),%rbx 588*4757b351SPierre Pronchery.cfi_restore %rbx 589*4757b351SPierre Pronchery leaq 48(%rax),%rsp 590*4757b351SPierre Pronchery.cfi_def_cfa %rsp,8 591*4757b351SPierre Pronchery.Lossl_rsaz_amm52x40_x1_ifma256_epilogue: 592*4757b351SPierre Pronchery 593*4757b351SPierre Pronchery .byte 0xf3,0xc3 594*4757b351SPierre Pronchery.cfi_endproc 595*4757b351SPierre Pronchery.size ossl_rsaz_amm52x40_x1_ifma256, .-ossl_rsaz_amm52x40_x1_ifma256 596*4757b351SPierre Pronchery.section .rodata 597*4757b351SPierre Pronchery.align 32 598*4757b351SPierre Pronchery.Lmask52x4: 599*4757b351SPierre Pronchery.quad 0xfffffffffffff 600*4757b351SPierre Pronchery.quad 0xfffffffffffff 601*4757b351SPierre Pronchery.quad 0xfffffffffffff 602*4757b351SPierre Pronchery.quad 0xfffffffffffff 603*4757b351SPierre Pronchery.text 604*4757b351SPierre Pronchery 605*4757b351SPierre Pronchery.globl ossl_rsaz_amm52x40_x2_ifma256 606*4757b351SPierre Pronchery.type ossl_rsaz_amm52x40_x2_ifma256,@function 607*4757b351SPierre Pronchery.align 32 608*4757b351SPierre Proncheryossl_rsaz_amm52x40_x2_ifma256: 609*4757b351SPierre Pronchery.cfi_startproc 610*4757b351SPierre Pronchery.byte 243,15,30,250 611*4757b351SPierre Pronchery pushq %rbx 612*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 613*4757b351SPierre Pronchery.cfi_offset %rbx,-16 614*4757b351SPierre Pronchery pushq %rbp 615*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 616*4757b351SPierre Pronchery.cfi_offset %rbp,-24 617*4757b351SPierre Pronchery pushq %r12 618*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 619*4757b351SPierre Pronchery.cfi_offset %r12,-32 620*4757b351SPierre Pronchery pushq %r13 621*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 622*4757b351SPierre Pronchery.cfi_offset %r13,-40 623*4757b351SPierre Pronchery pushq %r14 624*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 625*4757b351SPierre Pronchery.cfi_offset %r14,-48 626*4757b351SPierre Pronchery pushq %r15 627*4757b351SPierre Pronchery.cfi_adjust_cfa_offset 8 628*4757b351SPierre Pronchery.cfi_offset %r15,-56 629*4757b351SPierre Pronchery 630*4757b351SPierre Pronchery vpxord %ymm0,%ymm0,%ymm0 631*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm3 632*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm4 633*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm5 634*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm6 635*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm7 636*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm8 637*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm9 638*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm10 639*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm11 640*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm12 641*4757b351SPierre Pronchery 642*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm13 643*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm14 644*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm15 645*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm16 646*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm17 647*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm18 648*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm19 649*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm20 650*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm21 651*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm22 652*4757b351SPierre Pronchery 653*4757b351SPierre Pronchery 654*4757b351SPierre Pronchery xorl %r9d,%r9d 655*4757b351SPierre Pronchery xorl %r15d,%r15d 656*4757b351SPierre Pronchery 657*4757b351SPierre Pronchery movq %rdx,%r11 658*4757b351SPierre Pronchery movq $0xfffffffffffff,%rax 659*4757b351SPierre Pronchery 660*4757b351SPierre Pronchery movl $40,%ebx 661*4757b351SPierre Pronchery 662*4757b351SPierre Pronchery.align 32 663*4757b351SPierre Pronchery.Lloop40: 664*4757b351SPierre Pronchery movq 0(%r11),%r13 665*4757b351SPierre Pronchery 666*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm1 667*4757b351SPierre Pronchery movq 0(%rsi),%rdx 668*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 669*4757b351SPierre Pronchery addq %r13,%r9 670*4757b351SPierre Pronchery movq %r12,%r10 671*4757b351SPierre Pronchery adcq $0,%r10 672*4757b351SPierre Pronchery 673*4757b351SPierre Pronchery movq (%r8),%r13 674*4757b351SPierre Pronchery imulq %r9,%r13 675*4757b351SPierre Pronchery andq %rax,%r13 676*4757b351SPierre Pronchery 677*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm2 678*4757b351SPierre Pronchery movq 0(%rcx),%rdx 679*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 680*4757b351SPierre Pronchery addq %r13,%r9 681*4757b351SPierre Pronchery adcq %r12,%r10 682*4757b351SPierre Pronchery 683*4757b351SPierre Pronchery shrq $52,%r9 684*4757b351SPierre Pronchery salq $12,%r10 685*4757b351SPierre Pronchery orq %r10,%r9 686*4757b351SPierre Pronchery 687*4757b351SPierre Pronchery vpmadd52luq 0(%rsi),%ymm1,%ymm3 688*4757b351SPierre Pronchery vpmadd52luq 32(%rsi),%ymm1,%ymm4 689*4757b351SPierre Pronchery vpmadd52luq 64(%rsi),%ymm1,%ymm5 690*4757b351SPierre Pronchery vpmadd52luq 96(%rsi),%ymm1,%ymm6 691*4757b351SPierre Pronchery vpmadd52luq 128(%rsi),%ymm1,%ymm7 692*4757b351SPierre Pronchery vpmadd52luq 160(%rsi),%ymm1,%ymm8 693*4757b351SPierre Pronchery vpmadd52luq 192(%rsi),%ymm1,%ymm9 694*4757b351SPierre Pronchery vpmadd52luq 224(%rsi),%ymm1,%ymm10 695*4757b351SPierre Pronchery vpmadd52luq 256(%rsi),%ymm1,%ymm11 696*4757b351SPierre Pronchery vpmadd52luq 288(%rsi),%ymm1,%ymm12 697*4757b351SPierre Pronchery 698*4757b351SPierre Pronchery vpmadd52luq 0(%rcx),%ymm2,%ymm3 699*4757b351SPierre Pronchery vpmadd52luq 32(%rcx),%ymm2,%ymm4 700*4757b351SPierre Pronchery vpmadd52luq 64(%rcx),%ymm2,%ymm5 701*4757b351SPierre Pronchery vpmadd52luq 96(%rcx),%ymm2,%ymm6 702*4757b351SPierre Pronchery vpmadd52luq 128(%rcx),%ymm2,%ymm7 703*4757b351SPierre Pronchery vpmadd52luq 160(%rcx),%ymm2,%ymm8 704*4757b351SPierre Pronchery vpmadd52luq 192(%rcx),%ymm2,%ymm9 705*4757b351SPierre Pronchery vpmadd52luq 224(%rcx),%ymm2,%ymm10 706*4757b351SPierre Pronchery vpmadd52luq 256(%rcx),%ymm2,%ymm11 707*4757b351SPierre Pronchery vpmadd52luq 288(%rcx),%ymm2,%ymm12 708*4757b351SPierre Pronchery 709*4757b351SPierre Pronchery 710*4757b351SPierre Pronchery valignq $1,%ymm3,%ymm4,%ymm3 711*4757b351SPierre Pronchery valignq $1,%ymm4,%ymm5,%ymm4 712*4757b351SPierre Pronchery valignq $1,%ymm5,%ymm6,%ymm5 713*4757b351SPierre Pronchery valignq $1,%ymm6,%ymm7,%ymm6 714*4757b351SPierre Pronchery valignq $1,%ymm7,%ymm8,%ymm7 715*4757b351SPierre Pronchery valignq $1,%ymm8,%ymm9,%ymm8 716*4757b351SPierre Pronchery valignq $1,%ymm9,%ymm10,%ymm9 717*4757b351SPierre Pronchery valignq $1,%ymm10,%ymm11,%ymm10 718*4757b351SPierre Pronchery valignq $1,%ymm11,%ymm12,%ymm11 719*4757b351SPierre Pronchery valignq $1,%ymm12,%ymm0,%ymm12 720*4757b351SPierre Pronchery 721*4757b351SPierre Pronchery vmovq %xmm3,%r13 722*4757b351SPierre Pronchery addq %r13,%r9 723*4757b351SPierre Pronchery 724*4757b351SPierre Pronchery vpmadd52huq 0(%rsi),%ymm1,%ymm3 725*4757b351SPierre Pronchery vpmadd52huq 32(%rsi),%ymm1,%ymm4 726*4757b351SPierre Pronchery vpmadd52huq 64(%rsi),%ymm1,%ymm5 727*4757b351SPierre Pronchery vpmadd52huq 96(%rsi),%ymm1,%ymm6 728*4757b351SPierre Pronchery vpmadd52huq 128(%rsi),%ymm1,%ymm7 729*4757b351SPierre Pronchery vpmadd52huq 160(%rsi),%ymm1,%ymm8 730*4757b351SPierre Pronchery vpmadd52huq 192(%rsi),%ymm1,%ymm9 731*4757b351SPierre Pronchery vpmadd52huq 224(%rsi),%ymm1,%ymm10 732*4757b351SPierre Pronchery vpmadd52huq 256(%rsi),%ymm1,%ymm11 733*4757b351SPierre Pronchery vpmadd52huq 288(%rsi),%ymm1,%ymm12 734*4757b351SPierre Pronchery 735*4757b351SPierre Pronchery vpmadd52huq 0(%rcx),%ymm2,%ymm3 736*4757b351SPierre Pronchery vpmadd52huq 32(%rcx),%ymm2,%ymm4 737*4757b351SPierre Pronchery vpmadd52huq 64(%rcx),%ymm2,%ymm5 738*4757b351SPierre Pronchery vpmadd52huq 96(%rcx),%ymm2,%ymm6 739*4757b351SPierre Pronchery vpmadd52huq 128(%rcx),%ymm2,%ymm7 740*4757b351SPierre Pronchery vpmadd52huq 160(%rcx),%ymm2,%ymm8 741*4757b351SPierre Pronchery vpmadd52huq 192(%rcx),%ymm2,%ymm9 742*4757b351SPierre Pronchery vpmadd52huq 224(%rcx),%ymm2,%ymm10 743*4757b351SPierre Pronchery vpmadd52huq 256(%rcx),%ymm2,%ymm11 744*4757b351SPierre Pronchery vpmadd52huq 288(%rcx),%ymm2,%ymm12 745*4757b351SPierre Pronchery movq 320(%r11),%r13 746*4757b351SPierre Pronchery 747*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm1 748*4757b351SPierre Pronchery movq 320(%rsi),%rdx 749*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 750*4757b351SPierre Pronchery addq %r13,%r15 751*4757b351SPierre Pronchery movq %r12,%r10 752*4757b351SPierre Pronchery adcq $0,%r10 753*4757b351SPierre Pronchery 754*4757b351SPierre Pronchery movq 8(%r8),%r13 755*4757b351SPierre Pronchery imulq %r15,%r13 756*4757b351SPierre Pronchery andq %rax,%r13 757*4757b351SPierre Pronchery 758*4757b351SPierre Pronchery vpbroadcastq %r13,%ymm2 759*4757b351SPierre Pronchery movq 320(%rcx),%rdx 760*4757b351SPierre Pronchery mulxq %r13,%r13,%r12 761*4757b351SPierre Pronchery addq %r13,%r15 762*4757b351SPierre Pronchery adcq %r12,%r10 763*4757b351SPierre Pronchery 764*4757b351SPierre Pronchery shrq $52,%r15 765*4757b351SPierre Pronchery salq $12,%r10 766*4757b351SPierre Pronchery orq %r10,%r15 767*4757b351SPierre Pronchery 768*4757b351SPierre Pronchery vpmadd52luq 320(%rsi),%ymm1,%ymm13 769*4757b351SPierre Pronchery vpmadd52luq 352(%rsi),%ymm1,%ymm14 770*4757b351SPierre Pronchery vpmadd52luq 384(%rsi),%ymm1,%ymm15 771*4757b351SPierre Pronchery vpmadd52luq 416(%rsi),%ymm1,%ymm16 772*4757b351SPierre Pronchery vpmadd52luq 448(%rsi),%ymm1,%ymm17 773*4757b351SPierre Pronchery vpmadd52luq 480(%rsi),%ymm1,%ymm18 774*4757b351SPierre Pronchery vpmadd52luq 512(%rsi),%ymm1,%ymm19 775*4757b351SPierre Pronchery vpmadd52luq 544(%rsi),%ymm1,%ymm20 776*4757b351SPierre Pronchery vpmadd52luq 576(%rsi),%ymm1,%ymm21 777*4757b351SPierre Pronchery vpmadd52luq 608(%rsi),%ymm1,%ymm22 778*4757b351SPierre Pronchery 779*4757b351SPierre Pronchery vpmadd52luq 320(%rcx),%ymm2,%ymm13 780*4757b351SPierre Pronchery vpmadd52luq 352(%rcx),%ymm2,%ymm14 781*4757b351SPierre Pronchery vpmadd52luq 384(%rcx),%ymm2,%ymm15 782*4757b351SPierre Pronchery vpmadd52luq 416(%rcx),%ymm2,%ymm16 783*4757b351SPierre Pronchery vpmadd52luq 448(%rcx),%ymm2,%ymm17 784*4757b351SPierre Pronchery vpmadd52luq 480(%rcx),%ymm2,%ymm18 785*4757b351SPierre Pronchery vpmadd52luq 512(%rcx),%ymm2,%ymm19 786*4757b351SPierre Pronchery vpmadd52luq 544(%rcx),%ymm2,%ymm20 787*4757b351SPierre Pronchery vpmadd52luq 576(%rcx),%ymm2,%ymm21 788*4757b351SPierre Pronchery vpmadd52luq 608(%rcx),%ymm2,%ymm22 789*4757b351SPierre Pronchery 790*4757b351SPierre Pronchery 791*4757b351SPierre Pronchery valignq $1,%ymm13,%ymm14,%ymm13 792*4757b351SPierre Pronchery valignq $1,%ymm14,%ymm15,%ymm14 793*4757b351SPierre Pronchery valignq $1,%ymm15,%ymm16,%ymm15 794*4757b351SPierre Pronchery valignq $1,%ymm16,%ymm17,%ymm16 795*4757b351SPierre Pronchery valignq $1,%ymm17,%ymm18,%ymm17 796*4757b351SPierre Pronchery valignq $1,%ymm18,%ymm19,%ymm18 797*4757b351SPierre Pronchery valignq $1,%ymm19,%ymm20,%ymm19 798*4757b351SPierre Pronchery valignq $1,%ymm20,%ymm21,%ymm20 799*4757b351SPierre Pronchery valignq $1,%ymm21,%ymm22,%ymm21 800*4757b351SPierre Pronchery valignq $1,%ymm22,%ymm0,%ymm22 801*4757b351SPierre Pronchery 802*4757b351SPierre Pronchery vmovq %xmm13,%r13 803*4757b351SPierre Pronchery addq %r13,%r15 804*4757b351SPierre Pronchery 805*4757b351SPierre Pronchery vpmadd52huq 320(%rsi),%ymm1,%ymm13 806*4757b351SPierre Pronchery vpmadd52huq 352(%rsi),%ymm1,%ymm14 807*4757b351SPierre Pronchery vpmadd52huq 384(%rsi),%ymm1,%ymm15 808*4757b351SPierre Pronchery vpmadd52huq 416(%rsi),%ymm1,%ymm16 809*4757b351SPierre Pronchery vpmadd52huq 448(%rsi),%ymm1,%ymm17 810*4757b351SPierre Pronchery vpmadd52huq 480(%rsi),%ymm1,%ymm18 811*4757b351SPierre Pronchery vpmadd52huq 512(%rsi),%ymm1,%ymm19 812*4757b351SPierre Pronchery vpmadd52huq 544(%rsi),%ymm1,%ymm20 813*4757b351SPierre Pronchery vpmadd52huq 576(%rsi),%ymm1,%ymm21 814*4757b351SPierre Pronchery vpmadd52huq 608(%rsi),%ymm1,%ymm22 815*4757b351SPierre Pronchery 816*4757b351SPierre Pronchery vpmadd52huq 320(%rcx),%ymm2,%ymm13 817*4757b351SPierre Pronchery vpmadd52huq 352(%rcx),%ymm2,%ymm14 818*4757b351SPierre Pronchery vpmadd52huq 384(%rcx),%ymm2,%ymm15 819*4757b351SPierre Pronchery vpmadd52huq 416(%rcx),%ymm2,%ymm16 820*4757b351SPierre Pronchery vpmadd52huq 448(%rcx),%ymm2,%ymm17 821*4757b351SPierre Pronchery vpmadd52huq 480(%rcx),%ymm2,%ymm18 822*4757b351SPierre Pronchery vpmadd52huq 512(%rcx),%ymm2,%ymm19 823*4757b351SPierre Pronchery vpmadd52huq 544(%rcx),%ymm2,%ymm20 824*4757b351SPierre Pronchery vpmadd52huq 576(%rcx),%ymm2,%ymm21 825*4757b351SPierre Pronchery vpmadd52huq 608(%rcx),%ymm2,%ymm22 826*4757b351SPierre Pronchery leaq 8(%r11),%r11 827*4757b351SPierre Pronchery decl %ebx 828*4757b351SPierre Pronchery jne .Lloop40 829*4757b351SPierre Pronchery 830*4757b351SPierre Pronchery vpbroadcastq %r9,%ymm0 831*4757b351SPierre Pronchery vpblendd $3,%ymm0,%ymm3,%ymm3 832*4757b351SPierre Pronchery 833*4757b351SPierre Pronchery 834*4757b351SPierre Pronchery 835*4757b351SPierre Pronchery vpsrlq $52,%ymm3,%ymm0 836*4757b351SPierre Pronchery vpsrlq $52,%ymm4,%ymm1 837*4757b351SPierre Pronchery vpsrlq $52,%ymm5,%ymm2 838*4757b351SPierre Pronchery vpsrlq $52,%ymm6,%ymm23 839*4757b351SPierre Pronchery vpsrlq $52,%ymm7,%ymm24 840*4757b351SPierre Pronchery vpsrlq $52,%ymm8,%ymm25 841*4757b351SPierre Pronchery vpsrlq $52,%ymm9,%ymm26 842*4757b351SPierre Pronchery vpsrlq $52,%ymm10,%ymm27 843*4757b351SPierre Pronchery vpsrlq $52,%ymm11,%ymm28 844*4757b351SPierre Pronchery vpsrlq $52,%ymm12,%ymm29 845*4757b351SPierre Pronchery 846*4757b351SPierre Pronchery 847*4757b351SPierre Pronchery valignq $3,%ymm28,%ymm29,%ymm29 848*4757b351SPierre Pronchery valignq $3,%ymm27,%ymm28,%ymm28 849*4757b351SPierre Pronchery valignq $3,%ymm26,%ymm27,%ymm27 850*4757b351SPierre Pronchery valignq $3,%ymm25,%ymm26,%ymm26 851*4757b351SPierre Pronchery valignq $3,%ymm24,%ymm25,%ymm25 852*4757b351SPierre Pronchery valignq $3,%ymm23,%ymm24,%ymm24 853*4757b351SPierre Pronchery valignq $3,%ymm2,%ymm23,%ymm23 854*4757b351SPierre Pronchery valignq $3,%ymm1,%ymm2,%ymm2 855*4757b351SPierre Pronchery valignq $3,%ymm0,%ymm1,%ymm1 856*4757b351SPierre Pronchery valignq $3,.Lzeros(%rip),%ymm0,%ymm0 857*4757b351SPierre Pronchery 858*4757b351SPierre Pronchery 859*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm3,%ymm3 860*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm4,%ymm4 861*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm5,%ymm5 862*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm6,%ymm6 863*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm7,%ymm7 864*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm8,%ymm8 865*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm9,%ymm9 866*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm10,%ymm10 867*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm11,%ymm11 868*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm12,%ymm12 869*4757b351SPierre Pronchery 870*4757b351SPierre Pronchery 871*4757b351SPierre Pronchery vpaddq %ymm0,%ymm3,%ymm3 872*4757b351SPierre Pronchery vpaddq %ymm1,%ymm4,%ymm4 873*4757b351SPierre Pronchery vpaddq %ymm2,%ymm5,%ymm5 874*4757b351SPierre Pronchery vpaddq %ymm23,%ymm6,%ymm6 875*4757b351SPierre Pronchery vpaddq %ymm24,%ymm7,%ymm7 876*4757b351SPierre Pronchery vpaddq %ymm25,%ymm8,%ymm8 877*4757b351SPierre Pronchery vpaddq %ymm26,%ymm9,%ymm9 878*4757b351SPierre Pronchery vpaddq %ymm27,%ymm10,%ymm10 879*4757b351SPierre Pronchery vpaddq %ymm28,%ymm11,%ymm11 880*4757b351SPierre Pronchery vpaddq %ymm29,%ymm12,%ymm12 881*4757b351SPierre Pronchery 882*4757b351SPierre Pronchery 883*4757b351SPierre Pronchery 884*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm3,%k1 885*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm4,%k2 886*4757b351SPierre Pronchery kmovb %k1,%r14d 887*4757b351SPierre Pronchery kmovb %k2,%r13d 888*4757b351SPierre Pronchery shlb $4,%r13b 889*4757b351SPierre Pronchery orb %r13b,%r14b 890*4757b351SPierre Pronchery 891*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm5,%k1 892*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm6,%k2 893*4757b351SPierre Pronchery kmovb %k1,%r13d 894*4757b351SPierre Pronchery kmovb %k2,%r12d 895*4757b351SPierre Pronchery shlb $4,%r12b 896*4757b351SPierre Pronchery orb %r12b,%r13b 897*4757b351SPierre Pronchery 898*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm7,%k1 899*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm8,%k2 900*4757b351SPierre Pronchery kmovb %k1,%r12d 901*4757b351SPierre Pronchery kmovb %k2,%r11d 902*4757b351SPierre Pronchery shlb $4,%r11b 903*4757b351SPierre Pronchery orb %r11b,%r12b 904*4757b351SPierre Pronchery 905*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm9,%k1 906*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm10,%k2 907*4757b351SPierre Pronchery kmovb %k1,%r11d 908*4757b351SPierre Pronchery kmovb %k2,%r10d 909*4757b351SPierre Pronchery shlb $4,%r10b 910*4757b351SPierre Pronchery orb %r10b,%r11b 911*4757b351SPierre Pronchery 912*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm11,%k1 913*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm12,%k2 914*4757b351SPierre Pronchery kmovb %k1,%r10d 915*4757b351SPierre Pronchery kmovb %k2,%r9d 916*4757b351SPierre Pronchery shlb $4,%r9b 917*4757b351SPierre Pronchery orb %r9b,%r10b 918*4757b351SPierre Pronchery 919*4757b351SPierre Pronchery addb %r14b,%r14b 920*4757b351SPierre Pronchery adcb %r13b,%r13b 921*4757b351SPierre Pronchery adcb %r12b,%r12b 922*4757b351SPierre Pronchery adcb %r11b,%r11b 923*4757b351SPierre Pronchery adcb %r10b,%r10b 924*4757b351SPierre Pronchery 925*4757b351SPierre Pronchery 926*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm3,%k1 927*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm4,%k2 928*4757b351SPierre Pronchery kmovb %k1,%r9d 929*4757b351SPierre Pronchery kmovb %k2,%r8d 930*4757b351SPierre Pronchery shlb $4,%r8b 931*4757b351SPierre Pronchery orb %r8b,%r9b 932*4757b351SPierre Pronchery 933*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm5,%k1 934*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm6,%k2 935*4757b351SPierre Pronchery kmovb %k1,%r8d 936*4757b351SPierre Pronchery kmovb %k2,%edx 937*4757b351SPierre Pronchery shlb $4,%dl 938*4757b351SPierre Pronchery orb %dl,%r8b 939*4757b351SPierre Pronchery 940*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm7,%k1 941*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm8,%k2 942*4757b351SPierre Pronchery kmovb %k1,%edx 943*4757b351SPierre Pronchery kmovb %k2,%ecx 944*4757b351SPierre Pronchery shlb $4,%cl 945*4757b351SPierre Pronchery orb %cl,%dl 946*4757b351SPierre Pronchery 947*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm9,%k1 948*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm10,%k2 949*4757b351SPierre Pronchery kmovb %k1,%ecx 950*4757b351SPierre Pronchery kmovb %k2,%ebx 951*4757b351SPierre Pronchery shlb $4,%bl 952*4757b351SPierre Pronchery orb %bl,%cl 953*4757b351SPierre Pronchery 954*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm11,%k1 955*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm12,%k2 956*4757b351SPierre Pronchery kmovb %k1,%ebx 957*4757b351SPierre Pronchery kmovb %k2,%eax 958*4757b351SPierre Pronchery shlb $4,%al 959*4757b351SPierre Pronchery orb %al,%bl 960*4757b351SPierre Pronchery 961*4757b351SPierre Pronchery addb %r9b,%r14b 962*4757b351SPierre Pronchery adcb %r8b,%r13b 963*4757b351SPierre Pronchery adcb %dl,%r12b 964*4757b351SPierre Pronchery adcb %cl,%r11b 965*4757b351SPierre Pronchery adcb %bl,%r10b 966*4757b351SPierre Pronchery 967*4757b351SPierre Pronchery xorb %r9b,%r14b 968*4757b351SPierre Pronchery xorb %r8b,%r13b 969*4757b351SPierre Pronchery xorb %dl,%r12b 970*4757b351SPierre Pronchery xorb %cl,%r11b 971*4757b351SPierre Pronchery xorb %bl,%r10b 972*4757b351SPierre Pronchery 973*4757b351SPierre Pronchery kmovb %r14d,%k1 974*4757b351SPierre Pronchery shrb $4,%r14b 975*4757b351SPierre Pronchery kmovb %r14d,%k2 976*4757b351SPierre Pronchery kmovb %r13d,%k3 977*4757b351SPierre Pronchery shrb $4,%r13b 978*4757b351SPierre Pronchery kmovb %r13d,%k4 979*4757b351SPierre Pronchery kmovb %r12d,%k5 980*4757b351SPierre Pronchery shrb $4,%r12b 981*4757b351SPierre Pronchery kmovb %r12d,%k6 982*4757b351SPierre Pronchery kmovb %r11d,%k7 983*4757b351SPierre Pronchery 984*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm3,%ymm3{%k1} 985*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm4,%ymm4{%k2} 986*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm5,%ymm5{%k3} 987*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm6,%ymm6{%k4} 988*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm7,%ymm7{%k5} 989*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm8,%ymm8{%k6} 990*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm9,%ymm9{%k7} 991*4757b351SPierre Pronchery 992*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm3,%ymm3 993*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm4,%ymm4 994*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm5,%ymm5 995*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm6,%ymm6 996*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm7,%ymm7 997*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm8,%ymm8 998*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm9,%ymm9 999*4757b351SPierre Pronchery 1000*4757b351SPierre Pronchery shrb $4,%r11b 1001*4757b351SPierre Pronchery kmovb %r11d,%k1 1002*4757b351SPierre Pronchery kmovb %r10d,%k2 1003*4757b351SPierre Pronchery shrb $4,%r10b 1004*4757b351SPierre Pronchery kmovb %r10d,%k3 1005*4757b351SPierre Pronchery 1006*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm10,%ymm10{%k1} 1007*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm11,%ymm11{%k2} 1008*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm12,%ymm12{%k3} 1009*4757b351SPierre Pronchery 1010*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm10,%ymm10 1011*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm11,%ymm11 1012*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm12,%ymm12 1013*4757b351SPierre Pronchery 1014*4757b351SPierre Pronchery vpbroadcastq %r15,%ymm0 1015*4757b351SPierre Pronchery vpblendd $3,%ymm0,%ymm13,%ymm13 1016*4757b351SPierre Pronchery 1017*4757b351SPierre Pronchery 1018*4757b351SPierre Pronchery 1019*4757b351SPierre Pronchery vpsrlq $52,%ymm13,%ymm0 1020*4757b351SPierre Pronchery vpsrlq $52,%ymm14,%ymm1 1021*4757b351SPierre Pronchery vpsrlq $52,%ymm15,%ymm2 1022*4757b351SPierre Pronchery vpsrlq $52,%ymm16,%ymm23 1023*4757b351SPierre Pronchery vpsrlq $52,%ymm17,%ymm24 1024*4757b351SPierre Pronchery vpsrlq $52,%ymm18,%ymm25 1025*4757b351SPierre Pronchery vpsrlq $52,%ymm19,%ymm26 1026*4757b351SPierre Pronchery vpsrlq $52,%ymm20,%ymm27 1027*4757b351SPierre Pronchery vpsrlq $52,%ymm21,%ymm28 1028*4757b351SPierre Pronchery vpsrlq $52,%ymm22,%ymm29 1029*4757b351SPierre Pronchery 1030*4757b351SPierre Pronchery 1031*4757b351SPierre Pronchery valignq $3,%ymm28,%ymm29,%ymm29 1032*4757b351SPierre Pronchery valignq $3,%ymm27,%ymm28,%ymm28 1033*4757b351SPierre Pronchery valignq $3,%ymm26,%ymm27,%ymm27 1034*4757b351SPierre Pronchery valignq $3,%ymm25,%ymm26,%ymm26 1035*4757b351SPierre Pronchery valignq $3,%ymm24,%ymm25,%ymm25 1036*4757b351SPierre Pronchery valignq $3,%ymm23,%ymm24,%ymm24 1037*4757b351SPierre Pronchery valignq $3,%ymm2,%ymm23,%ymm23 1038*4757b351SPierre Pronchery valignq $3,%ymm1,%ymm2,%ymm2 1039*4757b351SPierre Pronchery valignq $3,%ymm0,%ymm1,%ymm1 1040*4757b351SPierre Pronchery valignq $3,.Lzeros(%rip),%ymm0,%ymm0 1041*4757b351SPierre Pronchery 1042*4757b351SPierre Pronchery 1043*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm13,%ymm13 1044*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm14,%ymm14 1045*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm15,%ymm15 1046*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm16,%ymm16 1047*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm17,%ymm17 1048*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm18,%ymm18 1049*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm19,%ymm19 1050*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm20,%ymm20 1051*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm21,%ymm21 1052*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm22,%ymm22 1053*4757b351SPierre Pronchery 1054*4757b351SPierre Pronchery 1055*4757b351SPierre Pronchery vpaddq %ymm0,%ymm13,%ymm13 1056*4757b351SPierre Pronchery vpaddq %ymm1,%ymm14,%ymm14 1057*4757b351SPierre Pronchery vpaddq %ymm2,%ymm15,%ymm15 1058*4757b351SPierre Pronchery vpaddq %ymm23,%ymm16,%ymm16 1059*4757b351SPierre Pronchery vpaddq %ymm24,%ymm17,%ymm17 1060*4757b351SPierre Pronchery vpaddq %ymm25,%ymm18,%ymm18 1061*4757b351SPierre Pronchery vpaddq %ymm26,%ymm19,%ymm19 1062*4757b351SPierre Pronchery vpaddq %ymm27,%ymm20,%ymm20 1063*4757b351SPierre Pronchery vpaddq %ymm28,%ymm21,%ymm21 1064*4757b351SPierre Pronchery vpaddq %ymm29,%ymm22,%ymm22 1065*4757b351SPierre Pronchery 1066*4757b351SPierre Pronchery 1067*4757b351SPierre Pronchery 1068*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm13,%k1 1069*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm14,%k2 1070*4757b351SPierre Pronchery kmovb %k1,%r14d 1071*4757b351SPierre Pronchery kmovb %k2,%r13d 1072*4757b351SPierre Pronchery shlb $4,%r13b 1073*4757b351SPierre Pronchery orb %r13b,%r14b 1074*4757b351SPierre Pronchery 1075*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm15,%k1 1076*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm16,%k2 1077*4757b351SPierre Pronchery kmovb %k1,%r13d 1078*4757b351SPierre Pronchery kmovb %k2,%r12d 1079*4757b351SPierre Pronchery shlb $4,%r12b 1080*4757b351SPierre Pronchery orb %r12b,%r13b 1081*4757b351SPierre Pronchery 1082*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm17,%k1 1083*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm18,%k2 1084*4757b351SPierre Pronchery kmovb %k1,%r12d 1085*4757b351SPierre Pronchery kmovb %k2,%r11d 1086*4757b351SPierre Pronchery shlb $4,%r11b 1087*4757b351SPierre Pronchery orb %r11b,%r12b 1088*4757b351SPierre Pronchery 1089*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm19,%k1 1090*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm20,%k2 1091*4757b351SPierre Pronchery kmovb %k1,%r11d 1092*4757b351SPierre Pronchery kmovb %k2,%r10d 1093*4757b351SPierre Pronchery shlb $4,%r10b 1094*4757b351SPierre Pronchery orb %r10b,%r11b 1095*4757b351SPierre Pronchery 1096*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm21,%k1 1097*4757b351SPierre Pronchery vpcmpuq $6,.Lmask52x4(%rip),%ymm22,%k2 1098*4757b351SPierre Pronchery kmovb %k1,%r10d 1099*4757b351SPierre Pronchery kmovb %k2,%r9d 1100*4757b351SPierre Pronchery shlb $4,%r9b 1101*4757b351SPierre Pronchery orb %r9b,%r10b 1102*4757b351SPierre Pronchery 1103*4757b351SPierre Pronchery addb %r14b,%r14b 1104*4757b351SPierre Pronchery adcb %r13b,%r13b 1105*4757b351SPierre Pronchery adcb %r12b,%r12b 1106*4757b351SPierre Pronchery adcb %r11b,%r11b 1107*4757b351SPierre Pronchery adcb %r10b,%r10b 1108*4757b351SPierre Pronchery 1109*4757b351SPierre Pronchery 1110*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm13,%k1 1111*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm14,%k2 1112*4757b351SPierre Pronchery kmovb %k1,%r9d 1113*4757b351SPierre Pronchery kmovb %k2,%r8d 1114*4757b351SPierre Pronchery shlb $4,%r8b 1115*4757b351SPierre Pronchery orb %r8b,%r9b 1116*4757b351SPierre Pronchery 1117*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm15,%k1 1118*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm16,%k2 1119*4757b351SPierre Pronchery kmovb %k1,%r8d 1120*4757b351SPierre Pronchery kmovb %k2,%edx 1121*4757b351SPierre Pronchery shlb $4,%dl 1122*4757b351SPierre Pronchery orb %dl,%r8b 1123*4757b351SPierre Pronchery 1124*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm17,%k1 1125*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm18,%k2 1126*4757b351SPierre Pronchery kmovb %k1,%edx 1127*4757b351SPierre Pronchery kmovb %k2,%ecx 1128*4757b351SPierre Pronchery shlb $4,%cl 1129*4757b351SPierre Pronchery orb %cl,%dl 1130*4757b351SPierre Pronchery 1131*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm19,%k1 1132*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm20,%k2 1133*4757b351SPierre Pronchery kmovb %k1,%ecx 1134*4757b351SPierre Pronchery kmovb %k2,%ebx 1135*4757b351SPierre Pronchery shlb $4,%bl 1136*4757b351SPierre Pronchery orb %bl,%cl 1137*4757b351SPierre Pronchery 1138*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm21,%k1 1139*4757b351SPierre Pronchery vpcmpuq $0,.Lmask52x4(%rip),%ymm22,%k2 1140*4757b351SPierre Pronchery kmovb %k1,%ebx 1141*4757b351SPierre Pronchery kmovb %k2,%eax 1142*4757b351SPierre Pronchery shlb $4,%al 1143*4757b351SPierre Pronchery orb %al,%bl 1144*4757b351SPierre Pronchery 1145*4757b351SPierre Pronchery addb %r9b,%r14b 1146*4757b351SPierre Pronchery adcb %r8b,%r13b 1147*4757b351SPierre Pronchery adcb %dl,%r12b 1148*4757b351SPierre Pronchery adcb %cl,%r11b 1149*4757b351SPierre Pronchery adcb %bl,%r10b 1150*4757b351SPierre Pronchery 1151*4757b351SPierre Pronchery xorb %r9b,%r14b 1152*4757b351SPierre Pronchery xorb %r8b,%r13b 1153*4757b351SPierre Pronchery xorb %dl,%r12b 1154*4757b351SPierre Pronchery xorb %cl,%r11b 1155*4757b351SPierre Pronchery xorb %bl,%r10b 1156*4757b351SPierre Pronchery 1157*4757b351SPierre Pronchery kmovb %r14d,%k1 1158*4757b351SPierre Pronchery shrb $4,%r14b 1159*4757b351SPierre Pronchery kmovb %r14d,%k2 1160*4757b351SPierre Pronchery kmovb %r13d,%k3 1161*4757b351SPierre Pronchery shrb $4,%r13b 1162*4757b351SPierre Pronchery kmovb %r13d,%k4 1163*4757b351SPierre Pronchery kmovb %r12d,%k5 1164*4757b351SPierre Pronchery shrb $4,%r12b 1165*4757b351SPierre Pronchery kmovb %r12d,%k6 1166*4757b351SPierre Pronchery kmovb %r11d,%k7 1167*4757b351SPierre Pronchery 1168*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm13,%ymm13{%k1} 1169*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm14,%ymm14{%k2} 1170*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm15,%ymm15{%k3} 1171*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm16,%ymm16{%k4} 1172*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm17,%ymm17{%k5} 1173*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm18,%ymm18{%k6} 1174*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm19,%ymm19{%k7} 1175*4757b351SPierre Pronchery 1176*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm13,%ymm13 1177*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm14,%ymm14 1178*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm15,%ymm15 1179*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm16,%ymm16 1180*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm17,%ymm17 1181*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm18,%ymm18 1182*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm19,%ymm19 1183*4757b351SPierre Pronchery 1184*4757b351SPierre Pronchery shrb $4,%r11b 1185*4757b351SPierre Pronchery kmovb %r11d,%k1 1186*4757b351SPierre Pronchery kmovb %r10d,%k2 1187*4757b351SPierre Pronchery shrb $4,%r10b 1188*4757b351SPierre Pronchery kmovb %r10d,%k3 1189*4757b351SPierre Pronchery 1190*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm20,%ymm20{%k1} 1191*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm21,%ymm21{%k2} 1192*4757b351SPierre Pronchery vpsubq .Lmask52x4(%rip),%ymm22,%ymm22{%k3} 1193*4757b351SPierre Pronchery 1194*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm20,%ymm20 1195*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm21,%ymm21 1196*4757b351SPierre Pronchery vpandq .Lmask52x4(%rip),%ymm22,%ymm22 1197*4757b351SPierre Pronchery 1198*4757b351SPierre Pronchery vmovdqu64 %ymm3,0(%rdi) 1199*4757b351SPierre Pronchery vmovdqu64 %ymm4,32(%rdi) 1200*4757b351SPierre Pronchery vmovdqu64 %ymm5,64(%rdi) 1201*4757b351SPierre Pronchery vmovdqu64 %ymm6,96(%rdi) 1202*4757b351SPierre Pronchery vmovdqu64 %ymm7,128(%rdi) 1203*4757b351SPierre Pronchery vmovdqu64 %ymm8,160(%rdi) 1204*4757b351SPierre Pronchery vmovdqu64 %ymm9,192(%rdi) 1205*4757b351SPierre Pronchery vmovdqu64 %ymm10,224(%rdi) 1206*4757b351SPierre Pronchery vmovdqu64 %ymm11,256(%rdi) 1207*4757b351SPierre Pronchery vmovdqu64 %ymm12,288(%rdi) 1208*4757b351SPierre Pronchery 1209*4757b351SPierre Pronchery vmovdqu64 %ymm13,320(%rdi) 1210*4757b351SPierre Pronchery vmovdqu64 %ymm14,352(%rdi) 1211*4757b351SPierre Pronchery vmovdqu64 %ymm15,384(%rdi) 1212*4757b351SPierre Pronchery vmovdqu64 %ymm16,416(%rdi) 1213*4757b351SPierre Pronchery vmovdqu64 %ymm17,448(%rdi) 1214*4757b351SPierre Pronchery vmovdqu64 %ymm18,480(%rdi) 1215*4757b351SPierre Pronchery vmovdqu64 %ymm19,512(%rdi) 1216*4757b351SPierre Pronchery vmovdqu64 %ymm20,544(%rdi) 1217*4757b351SPierre Pronchery vmovdqu64 %ymm21,576(%rdi) 1218*4757b351SPierre Pronchery vmovdqu64 %ymm22,608(%rdi) 1219*4757b351SPierre Pronchery 1220*4757b351SPierre Pronchery vzeroupper 1221*4757b351SPierre Pronchery leaq (%rsp),%rax 1222*4757b351SPierre Pronchery.cfi_def_cfa_register %rax 1223*4757b351SPierre Pronchery movq 0(%rax),%r15 1224*4757b351SPierre Pronchery.cfi_restore %r15 1225*4757b351SPierre Pronchery movq 8(%rax),%r14 1226*4757b351SPierre Pronchery.cfi_restore %r14 1227*4757b351SPierre Pronchery movq 16(%rax),%r13 1228*4757b351SPierre Pronchery.cfi_restore %r13 1229*4757b351SPierre Pronchery movq 24(%rax),%r12 1230*4757b351SPierre Pronchery.cfi_restore %r12 1231*4757b351SPierre Pronchery movq 32(%rax),%rbp 1232*4757b351SPierre Pronchery.cfi_restore %rbp 1233*4757b351SPierre Pronchery movq 40(%rax),%rbx 1234*4757b351SPierre Pronchery.cfi_restore %rbx 1235*4757b351SPierre Pronchery leaq 48(%rax),%rsp 1236*4757b351SPierre Pronchery.cfi_def_cfa %rsp,8 1237*4757b351SPierre Pronchery.Lossl_rsaz_amm52x40_x2_ifma256_epilogue: 1238*4757b351SPierre Pronchery .byte 0xf3,0xc3 1239*4757b351SPierre Pronchery.cfi_endproc 1240*4757b351SPierre Pronchery.size ossl_rsaz_amm52x40_x2_ifma256, .-ossl_rsaz_amm52x40_x2_ifma256 1241*4757b351SPierre Pronchery.text 1242*4757b351SPierre Pronchery 1243*4757b351SPierre Pronchery.align 32 1244*4757b351SPierre Pronchery.globl ossl_extract_multiplier_2x40_win5 1245*4757b351SPierre Pronchery.type ossl_extract_multiplier_2x40_win5,@function 1246*4757b351SPierre Proncheryossl_extract_multiplier_2x40_win5: 1247*4757b351SPierre Pronchery.cfi_startproc 1248*4757b351SPierre Pronchery.byte 243,15,30,250 1249*4757b351SPierre Pronchery vmovdqa64 .Lones(%rip),%ymm24 1250*4757b351SPierre Pronchery vpbroadcastq %rdx,%ymm22 1251*4757b351SPierre Pronchery vpbroadcastq %rcx,%ymm23 1252*4757b351SPierre Pronchery leaq 20480(%rsi),%rax 1253*4757b351SPierre Pronchery 1254*4757b351SPierre Pronchery 1255*4757b351SPierre Pronchery movq %rsi,%r10 1256*4757b351SPierre Pronchery 1257*4757b351SPierre Pronchery 1258*4757b351SPierre Pronchery vpxor %xmm0,%xmm0,%xmm0 1259*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm1 1260*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm2 1261*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm3 1262*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm4 1263*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm5 1264*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm16 1265*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm17 1266*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm18 1267*4757b351SPierre Pronchery vmovdqa64 %ymm0,%ymm19 1268*4757b351SPierre Pronchery vpxorq %ymm21,%ymm21,%ymm21 1269*4757b351SPierre Pronchery.align 32 1270*4757b351SPierre Pronchery.Lloop_0: 1271*4757b351SPierre Pronchery vpcmpq $0,%ymm21,%ymm22,%k1 1272*4757b351SPierre Pronchery vmovdqu64 0(%rsi),%ymm20 1273*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm0,%ymm0{%k1} 1274*4757b351SPierre Pronchery vmovdqu64 32(%rsi),%ymm20 1275*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm1,%ymm1{%k1} 1276*4757b351SPierre Pronchery vmovdqu64 64(%rsi),%ymm20 1277*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm2,%ymm2{%k1} 1278*4757b351SPierre Pronchery vmovdqu64 96(%rsi),%ymm20 1279*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm3,%ymm3{%k1} 1280*4757b351SPierre Pronchery vmovdqu64 128(%rsi),%ymm20 1281*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm4,%ymm4{%k1} 1282*4757b351SPierre Pronchery vmovdqu64 160(%rsi),%ymm20 1283*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm5,%ymm5{%k1} 1284*4757b351SPierre Pronchery vmovdqu64 192(%rsi),%ymm20 1285*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm16,%ymm16{%k1} 1286*4757b351SPierre Pronchery vmovdqu64 224(%rsi),%ymm20 1287*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm17,%ymm17{%k1} 1288*4757b351SPierre Pronchery vmovdqu64 256(%rsi),%ymm20 1289*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm18,%ymm18{%k1} 1290*4757b351SPierre Pronchery vmovdqu64 288(%rsi),%ymm20 1291*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm19,%ymm19{%k1} 1292*4757b351SPierre Pronchery vpaddq %ymm24,%ymm21,%ymm21 1293*4757b351SPierre Pronchery addq $640,%rsi 1294*4757b351SPierre Pronchery cmpq %rsi,%rax 1295*4757b351SPierre Pronchery jne .Lloop_0 1296*4757b351SPierre Pronchery vmovdqu64 %ymm0,0(%rdi) 1297*4757b351SPierre Pronchery vmovdqu64 %ymm1,32(%rdi) 1298*4757b351SPierre Pronchery vmovdqu64 %ymm2,64(%rdi) 1299*4757b351SPierre Pronchery vmovdqu64 %ymm3,96(%rdi) 1300*4757b351SPierre Pronchery vmovdqu64 %ymm4,128(%rdi) 1301*4757b351SPierre Pronchery vmovdqu64 %ymm5,160(%rdi) 1302*4757b351SPierre Pronchery vmovdqu64 %ymm16,192(%rdi) 1303*4757b351SPierre Pronchery vmovdqu64 %ymm17,224(%rdi) 1304*4757b351SPierre Pronchery vmovdqu64 %ymm18,256(%rdi) 1305*4757b351SPierre Pronchery vmovdqu64 %ymm19,288(%rdi) 1306*4757b351SPierre Pronchery movq %r10,%rsi 1307*4757b351SPierre Pronchery vpxorq %ymm21,%ymm21,%ymm21 1308*4757b351SPierre Pronchery.align 32 1309*4757b351SPierre Pronchery.Lloop_320: 1310*4757b351SPierre Pronchery vpcmpq $0,%ymm21,%ymm23,%k1 1311*4757b351SPierre Pronchery vmovdqu64 320(%rsi),%ymm20 1312*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm0,%ymm0{%k1} 1313*4757b351SPierre Pronchery vmovdqu64 352(%rsi),%ymm20 1314*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm1,%ymm1{%k1} 1315*4757b351SPierre Pronchery vmovdqu64 384(%rsi),%ymm20 1316*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm2,%ymm2{%k1} 1317*4757b351SPierre Pronchery vmovdqu64 416(%rsi),%ymm20 1318*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm3,%ymm3{%k1} 1319*4757b351SPierre Pronchery vmovdqu64 448(%rsi),%ymm20 1320*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm4,%ymm4{%k1} 1321*4757b351SPierre Pronchery vmovdqu64 480(%rsi),%ymm20 1322*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm5,%ymm5{%k1} 1323*4757b351SPierre Pronchery vmovdqu64 512(%rsi),%ymm20 1324*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm16,%ymm16{%k1} 1325*4757b351SPierre Pronchery vmovdqu64 544(%rsi),%ymm20 1326*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm17,%ymm17{%k1} 1327*4757b351SPierre Pronchery vmovdqu64 576(%rsi),%ymm20 1328*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm18,%ymm18{%k1} 1329*4757b351SPierre Pronchery vmovdqu64 608(%rsi),%ymm20 1330*4757b351SPierre Pronchery vpblendmq %ymm20,%ymm19,%ymm19{%k1} 1331*4757b351SPierre Pronchery vpaddq %ymm24,%ymm21,%ymm21 1332*4757b351SPierre Pronchery addq $640,%rsi 1333*4757b351SPierre Pronchery cmpq %rsi,%rax 1334*4757b351SPierre Pronchery jne .Lloop_320 1335*4757b351SPierre Pronchery vmovdqu64 %ymm0,320(%rdi) 1336*4757b351SPierre Pronchery vmovdqu64 %ymm1,352(%rdi) 1337*4757b351SPierre Pronchery vmovdqu64 %ymm2,384(%rdi) 1338*4757b351SPierre Pronchery vmovdqu64 %ymm3,416(%rdi) 1339*4757b351SPierre Pronchery vmovdqu64 %ymm4,448(%rdi) 1340*4757b351SPierre Pronchery vmovdqu64 %ymm5,480(%rdi) 1341*4757b351SPierre Pronchery vmovdqu64 %ymm16,512(%rdi) 1342*4757b351SPierre Pronchery vmovdqu64 %ymm17,544(%rdi) 1343*4757b351SPierre Pronchery vmovdqu64 %ymm18,576(%rdi) 1344*4757b351SPierre Pronchery vmovdqu64 %ymm19,608(%rdi) 1345*4757b351SPierre Pronchery 1346*4757b351SPierre Pronchery .byte 0xf3,0xc3 1347*4757b351SPierre Pronchery.cfi_endproc 1348*4757b351SPierre Pronchery.size ossl_extract_multiplier_2x40_win5, .-ossl_extract_multiplier_2x40_win5 1349*4757b351SPierre Pronchery.section .rodata 1350*4757b351SPierre Pronchery.align 32 1351*4757b351SPierre Pronchery.Lones: 1352*4757b351SPierre Pronchery.quad 1,1,1,1 1353*4757b351SPierre Pronchery.Lzeros: 1354*4757b351SPierre Pronchery.quad 0,0,0,0 1355*4757b351SPierre Pronchery .section ".note.gnu.property", "a" 1356*4757b351SPierre Pronchery .p2align 3 1357*4757b351SPierre Pronchery .long 1f - 0f 1358*4757b351SPierre Pronchery .long 4f - 1f 1359*4757b351SPierre Pronchery .long 5 1360*4757b351SPierre Pronchery0: 1361*4757b351SPierre Pronchery # "GNU" encoded with .byte, since .asciz isn't supported 1362*4757b351SPierre Pronchery # on Solaris. 1363*4757b351SPierre Pronchery .byte 0x47 1364*4757b351SPierre Pronchery .byte 0x4e 1365*4757b351SPierre Pronchery .byte 0x55 1366*4757b351SPierre Pronchery .byte 0 1367*4757b351SPierre Pronchery1: 1368*4757b351SPierre Pronchery .p2align 3 1369*4757b351SPierre Pronchery .long 0xc0000002 1370*4757b351SPierre Pronchery .long 3f - 2f 1371*4757b351SPierre Pronchery2: 1372*4757b351SPierre Pronchery .long 3 1373*4757b351SPierre Pronchery3: 1374*4757b351SPierre Pronchery .p2align 3 1375*4757b351SPierre Pronchery4: 1376