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