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