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