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