| OLD | NEW |
| 1 #if defined(__i386__) | 1 #if defined(__i386__) |
| 2 .file "vpaes-x86.S" | 2 .file "vpaes-x86.S" |
| 3 .text | 3 .text |
| 4 .align 6,0x90 | 4 .align 6,0x90 |
| 5 L_vpaes_consts: | 5 L_vpaes_consts: |
| 6 .long 218628480,235210255,168496130,67568393 | 6 .long 218628480,235210255,168496130,67568393 |
| 7 .long 252381056,17041926,33884169,51187212 | 7 .long 252381056,17041926,33884169,51187212 |
| 8 .long 252645135,252645135,252645135,252645135 | 8 .long 252645135,252645135,252645135,252645135 |
| 9 .long 1512730624,3266504856,1377990664,3401244816 | 9 .long 1512730624,3266504856,1377990664,3401244816 |
| 10 .long 830229760,1275146365,2969422977,3447763452 | 10 .long 830229760,1275146365,2969422977,3447763452 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 .long 651481088,1190302358,1689581232,574775300 | 51 .long 651481088,1190302358,1689581232,574775300 |
| 52 .long 4289380608,206939853,2555985458,2489840491 | 52 .long 4289380608,206939853,2555985458,2489840491 |
| 53 .long 2130264064,327674451,3566485037,3349835193 | 53 .long 2130264064,327674451,3566485037,3349835193 |
| 54 .long 2470714624,316102159,3636825756,3393945945 | 54 .long 2470714624,316102159,3636825756,3393945945 |
| 55 .byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105 | 55 .byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105 |
| 56 .byte 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83 | 56 .byte 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83 |
| 57 .byte 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117 | 57 .byte 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117 |
| 58 .byte 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105 | 58 .byte 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105 |
| 59 .byte 118,101,114,115,105,116,121,41,0 | 59 .byte 118,101,114,115,105,116,121,41,0 |
| 60 .align 6,0x90 | 60 .align 6,0x90 |
| 61 .private_extern __vpaes_preheat |
| 61 .align 4 | 62 .align 4 |
| 62 __vpaes_preheat: | 63 __vpaes_preheat: |
| 63 addl (%esp),%ebp | 64 addl (%esp),%ebp |
| 64 movdqa -48(%ebp),%xmm7 | 65 movdqa -48(%ebp),%xmm7 |
| 65 movdqa -16(%ebp),%xmm6 | 66 movdqa -16(%ebp),%xmm6 |
| 66 ret | 67 ret |
| 68 .private_extern __vpaes_encrypt_core |
| 67 .align 4 | 69 .align 4 |
| 68 __vpaes_encrypt_core: | 70 __vpaes_encrypt_core: |
| 69 movl $16,%ecx | 71 movl $16,%ecx |
| 70 movl 240(%edx),%eax | 72 movl 240(%edx),%eax |
| 71 movdqa %xmm6,%xmm1 | 73 movdqa %xmm6,%xmm1 |
| 72 movdqa (%ebp),%xmm2 | 74 movdqa (%ebp),%xmm2 |
| 73 pandn %xmm0,%xmm1 | 75 pandn %xmm0,%xmm1 |
| 74 pand %xmm6,%xmm0 | 76 pand %xmm6,%xmm0 |
| 75 movdqu (%edx),%xmm5 | 77 movdqu (%edx),%xmm5 |
| 76 .byte 102,15,56,0,208 | 78 .byte 102,15,56,0,208 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 jnz L001enc_loop | 134 jnz L001enc_loop |
| 133 movdqa 96(%ebp),%xmm4 | 135 movdqa 96(%ebp),%xmm4 |
| 134 movdqa 112(%ebp),%xmm0 | 136 movdqa 112(%ebp),%xmm0 |
| 135 .byte 102,15,56,0,226 | 137 .byte 102,15,56,0,226 |
| 136 pxor %xmm5,%xmm4 | 138 pxor %xmm5,%xmm4 |
| 137 .byte 102,15,56,0,195 | 139 .byte 102,15,56,0,195 |
| 138 movdqa 64(%ebx,%ecx,1),%xmm1 | 140 movdqa 64(%ebx,%ecx,1),%xmm1 |
| 139 pxor %xmm4,%xmm0 | 141 pxor %xmm4,%xmm0 |
| 140 .byte 102,15,56,0,193 | 142 .byte 102,15,56,0,193 |
| 141 ret | 143 ret |
| 144 .private_extern __vpaes_decrypt_core |
| 142 .align 4 | 145 .align 4 |
| 143 __vpaes_decrypt_core: | 146 __vpaes_decrypt_core: |
| 144 leal 608(%ebp),%ebx | 147 leal 608(%ebp),%ebx |
| 145 movl 240(%edx),%eax | 148 movl 240(%edx),%eax |
| 146 movdqa %xmm6,%xmm1 | 149 movdqa %xmm6,%xmm1 |
| 147 movdqa -64(%ebx),%xmm2 | 150 movdqa -64(%ebx),%xmm2 |
| 148 pandn %xmm0,%xmm1 | 151 pandn %xmm0,%xmm1 |
| 149 movl %eax,%ecx | 152 movl %eax,%ecx |
| 150 psrld $4,%xmm1 | 153 psrld $4,%xmm1 |
| 151 movdqu (%edx),%xmm5 | 154 movdqu (%edx),%xmm5 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 jnz L003dec_loop | 221 jnz L003dec_loop |
| 219 movdqa 96(%ebx),%xmm4 | 222 movdqa 96(%ebx),%xmm4 |
| 220 .byte 102,15,56,0,226 | 223 .byte 102,15,56,0,226 |
| 221 pxor %xmm0,%xmm4 | 224 pxor %xmm0,%xmm4 |
| 222 movdqa 112(%ebx),%xmm0 | 225 movdqa 112(%ebx),%xmm0 |
| 223 movdqa (%ecx),%xmm2 | 226 movdqa (%ecx),%xmm2 |
| 224 .byte 102,15,56,0,195 | 227 .byte 102,15,56,0,195 |
| 225 pxor %xmm4,%xmm0 | 228 pxor %xmm4,%xmm0 |
| 226 .byte 102,15,56,0,194 | 229 .byte 102,15,56,0,194 |
| 227 ret | 230 ret |
| 231 .private_extern __vpaes_schedule_core |
| 228 .align 4 | 232 .align 4 |
| 229 __vpaes_schedule_core: | 233 __vpaes_schedule_core: |
| 230 addl (%esp),%ebp | 234 addl (%esp),%ebp |
| 231 movdqu (%esi),%xmm0 | 235 movdqu (%esi),%xmm0 |
| 232 movdqa 320(%ebp),%xmm2 | 236 movdqa 320(%ebp),%xmm2 |
| 233 movdqa %xmm0,%xmm3 | 237 movdqa %xmm0,%xmm3 |
| 234 leal (%ebp),%ebx | 238 leal (%ebp),%ebx |
| 235 movdqa %xmm2,4(%esp) | 239 movdqa %xmm2,4(%esp) |
| 236 call __vpaes_schedule_transform | 240 call __vpaes_schedule_transform |
| 237 movdqa %xmm0,%xmm7 | 241 movdqa %xmm0,%xmm7 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 movdqu %xmm0,(%edx) | 314 movdqu %xmm0,(%edx) |
| 311 pxor %xmm0,%xmm0 | 315 pxor %xmm0,%xmm0 |
| 312 pxor %xmm1,%xmm1 | 316 pxor %xmm1,%xmm1 |
| 313 pxor %xmm2,%xmm2 | 317 pxor %xmm2,%xmm2 |
| 314 pxor %xmm3,%xmm3 | 318 pxor %xmm3,%xmm3 |
| 315 pxor %xmm4,%xmm4 | 319 pxor %xmm4,%xmm4 |
| 316 pxor %xmm5,%xmm5 | 320 pxor %xmm5,%xmm5 |
| 317 pxor %xmm6,%xmm6 | 321 pxor %xmm6,%xmm6 |
| 318 pxor %xmm7,%xmm7 | 322 pxor %xmm7,%xmm7 |
| 319 ret | 323 ret |
| 324 .private_extern __vpaes_schedule_192_smear |
| 320 .align 4 | 325 .align 4 |
| 321 __vpaes_schedule_192_smear: | 326 __vpaes_schedule_192_smear: |
| 322 pshufd $128,%xmm6,%xmm1 | 327 pshufd $128,%xmm6,%xmm1 |
| 323 pshufd $254,%xmm7,%xmm0 | 328 pshufd $254,%xmm7,%xmm0 |
| 324 pxor %xmm1,%xmm6 | 329 pxor %xmm1,%xmm6 |
| 325 pxor %xmm1,%xmm1 | 330 pxor %xmm1,%xmm1 |
| 326 pxor %xmm0,%xmm6 | 331 pxor %xmm0,%xmm6 |
| 327 movdqa %xmm6,%xmm0 | 332 movdqa %xmm6,%xmm0 |
| 328 movhlps %xmm1,%xmm6 | 333 movhlps %xmm1,%xmm6 |
| 329 ret | 334 ret |
| 335 .private_extern __vpaes_schedule_round |
| 330 .align 4 | 336 .align 4 |
| 331 __vpaes_schedule_round: | 337 __vpaes_schedule_round: |
| 332 movdqa 8(%esp),%xmm2 | 338 movdqa 8(%esp),%xmm2 |
| 333 pxor %xmm1,%xmm1 | 339 pxor %xmm1,%xmm1 |
| 334 .byte 102,15,58,15,202,15 | 340 .byte 102,15,58,15,202,15 |
| 335 .byte 102,15,58,15,210,15 | 341 .byte 102,15,58,15,210,15 |
| 336 pxor %xmm1,%xmm7 | 342 pxor %xmm1,%xmm7 |
| 337 pshufd $255,%xmm0,%xmm0 | 343 pshufd $255,%xmm0,%xmm0 |
| 338 .byte 102,15,58,15,192,1 | 344 .byte 102,15,58,15,192,1 |
| 339 movdqa %xmm2,8(%esp) | 345 movdqa %xmm2,8(%esp) |
| (...skipping 27 matching lines...) Expand all Loading... |
| 367 .byte 102,15,56,0,220 | 373 .byte 102,15,56,0,220 |
| 368 pxor %xmm1,%xmm3 | 374 pxor %xmm1,%xmm3 |
| 369 movdqa 32(%ebp),%xmm4 | 375 movdqa 32(%ebp),%xmm4 |
| 370 .byte 102,15,56,0,226 | 376 .byte 102,15,56,0,226 |
| 371 movdqa 48(%ebp),%xmm0 | 377 movdqa 48(%ebp),%xmm0 |
| 372 .byte 102,15,56,0,195 | 378 .byte 102,15,56,0,195 |
| 373 pxor %xmm4,%xmm0 | 379 pxor %xmm4,%xmm0 |
| 374 pxor %xmm7,%xmm0 | 380 pxor %xmm7,%xmm0 |
| 375 movdqa %xmm0,%xmm7 | 381 movdqa %xmm0,%xmm7 |
| 376 ret | 382 ret |
| 383 .private_extern __vpaes_schedule_transform |
| 377 .align 4 | 384 .align 4 |
| 378 __vpaes_schedule_transform: | 385 __vpaes_schedule_transform: |
| 379 movdqa -16(%ebp),%xmm2 | 386 movdqa -16(%ebp),%xmm2 |
| 380 movdqa %xmm2,%xmm1 | 387 movdqa %xmm2,%xmm1 |
| 381 pandn %xmm0,%xmm1 | 388 pandn %xmm0,%xmm1 |
| 382 psrld $4,%xmm1 | 389 psrld $4,%xmm1 |
| 383 pand %xmm2,%xmm0 | 390 pand %xmm2,%xmm0 |
| 384 movdqa (%ebx),%xmm2 | 391 movdqa (%ebx),%xmm2 |
| 385 .byte 102,15,56,0,208 | 392 .byte 102,15,56,0,208 |
| 386 movdqa 16(%ebx),%xmm0 | 393 movdqa 16(%ebx),%xmm0 |
| 387 .byte 102,15,56,0,193 | 394 .byte 102,15,56,0,193 |
| 388 pxor %xmm2,%xmm0 | 395 pxor %xmm2,%xmm0 |
| 389 ret | 396 ret |
| 397 .private_extern __vpaes_schedule_mangle |
| 390 .align 4 | 398 .align 4 |
| 391 __vpaes_schedule_mangle: | 399 __vpaes_schedule_mangle: |
| 392 movdqa %xmm0,%xmm4 | 400 movdqa %xmm0,%xmm4 |
| 393 movdqa 128(%ebp),%xmm5 | 401 movdqa 128(%ebp),%xmm5 |
| 394 testl %edi,%edi | 402 testl %edi,%edi |
| 395 jnz L014schedule_mangle_dec | 403 jnz L014schedule_mangle_dec |
| 396 addl $16,%edx | 404 addl $16,%edx |
| 397 pxor 336(%ebp),%xmm4 | 405 pxor 336(%ebp),%xmm4 |
| 398 .byte 102,15,56,0,229 | 406 .byte 102,15,56,0,229 |
| 399 movdqa %xmm4,%xmm3 | 407 movdqa %xmm4,%xmm3 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 pxor %xmm2,%xmm3 | 446 pxor %xmm2,%xmm3 |
| 439 addl $-16,%edx | 447 addl $-16,%edx |
| 440 L015schedule_mangle_both: | 448 L015schedule_mangle_both: |
| 441 movdqa 256(%ebp,%ecx,1),%xmm1 | 449 movdqa 256(%ebp,%ecx,1),%xmm1 |
| 442 .byte 102,15,56,0,217 | 450 .byte 102,15,56,0,217 |
| 443 addl $-16,%ecx | 451 addl $-16,%ecx |
| 444 andl $48,%ecx | 452 andl $48,%ecx |
| 445 movdqu %xmm3,(%edx) | 453 movdqu %xmm3,(%edx) |
| 446 ret | 454 ret |
| 447 .globl _vpaes_set_encrypt_key | 455 .globl _vpaes_set_encrypt_key |
| 456 .private_extern _vpaes_set_encrypt_key |
| 448 .align 4 | 457 .align 4 |
| 449 _vpaes_set_encrypt_key: | 458 _vpaes_set_encrypt_key: |
| 450 L_vpaes_set_encrypt_key_begin: | 459 L_vpaes_set_encrypt_key_begin: |
| 451 pushl %ebp | 460 pushl %ebp |
| 452 pushl %ebx | 461 pushl %ebx |
| 453 pushl %esi | 462 pushl %esi |
| 454 pushl %edi | 463 pushl %edi |
| 455 movl 20(%esp),%esi | 464 movl 20(%esp),%esi |
| 456 leal -56(%esp),%ebx | 465 leal -56(%esp),%ebx |
| 457 movl 24(%esp),%eax | 466 movl 24(%esp),%eax |
| (...skipping 11 matching lines...) Expand all Loading... |
| 469 call __vpaes_schedule_core | 478 call __vpaes_schedule_core |
| 470 L016pic_point: | 479 L016pic_point: |
| 471 movl 48(%esp),%esp | 480 movl 48(%esp),%esp |
| 472 xorl %eax,%eax | 481 xorl %eax,%eax |
| 473 popl %edi | 482 popl %edi |
| 474 popl %esi | 483 popl %esi |
| 475 popl %ebx | 484 popl %ebx |
| 476 popl %ebp | 485 popl %ebp |
| 477 ret | 486 ret |
| 478 .globl _vpaes_set_decrypt_key | 487 .globl _vpaes_set_decrypt_key |
| 488 .private_extern _vpaes_set_decrypt_key |
| 479 .align 4 | 489 .align 4 |
| 480 _vpaes_set_decrypt_key: | 490 _vpaes_set_decrypt_key: |
| 481 L_vpaes_set_decrypt_key_begin: | 491 L_vpaes_set_decrypt_key_begin: |
| 482 pushl %ebp | 492 pushl %ebp |
| 483 pushl %ebx | 493 pushl %ebx |
| 484 pushl %esi | 494 pushl %esi |
| 485 pushl %edi | 495 pushl %edi |
| 486 movl 20(%esp),%esi | 496 movl 20(%esp),%esi |
| 487 leal -56(%esp),%ebx | 497 leal -56(%esp),%ebx |
| 488 movl 24(%esp),%eax | 498 movl 24(%esp),%eax |
| (...skipping 16 matching lines...) Expand all Loading... |
| 505 call __vpaes_schedule_core | 515 call __vpaes_schedule_core |
| 506 L017pic_point: | 516 L017pic_point: |
| 507 movl 48(%esp),%esp | 517 movl 48(%esp),%esp |
| 508 xorl %eax,%eax | 518 xorl %eax,%eax |
| 509 popl %edi | 519 popl %edi |
| 510 popl %esi | 520 popl %esi |
| 511 popl %ebx | 521 popl %ebx |
| 512 popl %ebp | 522 popl %ebp |
| 513 ret | 523 ret |
| 514 .globl _vpaes_encrypt | 524 .globl _vpaes_encrypt |
| 525 .private_extern _vpaes_encrypt |
| 515 .align 4 | 526 .align 4 |
| 516 _vpaes_encrypt: | 527 _vpaes_encrypt: |
| 517 L_vpaes_encrypt_begin: | 528 L_vpaes_encrypt_begin: |
| 518 pushl %ebp | 529 pushl %ebp |
| 519 pushl %ebx | 530 pushl %ebx |
| 520 pushl %esi | 531 pushl %esi |
| 521 pushl %edi | 532 pushl %edi |
| 522 leal L_vpaes_consts+0x30-L018pic_point,%ebp | 533 leal L_vpaes_consts+0x30-L018pic_point,%ebp |
| 523 call __vpaes_preheat | 534 call __vpaes_preheat |
| 524 L018pic_point: | 535 L018pic_point: |
| 525 movl 20(%esp),%esi | 536 movl 20(%esp),%esi |
| 526 leal -56(%esp),%ebx | 537 leal -56(%esp),%ebx |
| 527 movl 24(%esp),%edi | 538 movl 24(%esp),%edi |
| 528 andl $-16,%ebx | 539 andl $-16,%ebx |
| 529 movl 28(%esp),%edx | 540 movl 28(%esp),%edx |
| 530 xchgl %esp,%ebx | 541 xchgl %esp,%ebx |
| 531 movl %ebx,48(%esp) | 542 movl %ebx,48(%esp) |
| 532 movdqu (%esi),%xmm0 | 543 movdqu (%esi),%xmm0 |
| 533 call __vpaes_encrypt_core | 544 call __vpaes_encrypt_core |
| 534 movdqu %xmm0,(%edi) | 545 movdqu %xmm0,(%edi) |
| 535 movl 48(%esp),%esp | 546 movl 48(%esp),%esp |
| 536 popl %edi | 547 popl %edi |
| 537 popl %esi | 548 popl %esi |
| 538 popl %ebx | 549 popl %ebx |
| 539 popl %ebp | 550 popl %ebp |
| 540 ret | 551 ret |
| 541 .globl _vpaes_decrypt | 552 .globl _vpaes_decrypt |
| 553 .private_extern _vpaes_decrypt |
| 542 .align 4 | 554 .align 4 |
| 543 _vpaes_decrypt: | 555 _vpaes_decrypt: |
| 544 L_vpaes_decrypt_begin: | 556 L_vpaes_decrypt_begin: |
| 545 pushl %ebp | 557 pushl %ebp |
| 546 pushl %ebx | 558 pushl %ebx |
| 547 pushl %esi | 559 pushl %esi |
| 548 pushl %edi | 560 pushl %edi |
| 549 leal L_vpaes_consts+0x30-L019pic_point,%ebp | 561 leal L_vpaes_consts+0x30-L019pic_point,%ebp |
| 550 call __vpaes_preheat | 562 call __vpaes_preheat |
| 551 L019pic_point: | 563 L019pic_point: |
| 552 movl 20(%esp),%esi | 564 movl 20(%esp),%esi |
| 553 leal -56(%esp),%ebx | 565 leal -56(%esp),%ebx |
| 554 movl 24(%esp),%edi | 566 movl 24(%esp),%edi |
| 555 andl $-16,%ebx | 567 andl $-16,%ebx |
| 556 movl 28(%esp),%edx | 568 movl 28(%esp),%edx |
| 557 xchgl %esp,%ebx | 569 xchgl %esp,%ebx |
| 558 movl %ebx,48(%esp) | 570 movl %ebx,48(%esp) |
| 559 movdqu (%esi),%xmm0 | 571 movdqu (%esi),%xmm0 |
| 560 call __vpaes_decrypt_core | 572 call __vpaes_decrypt_core |
| 561 movdqu %xmm0,(%edi) | 573 movdqu %xmm0,(%edi) |
| 562 movl 48(%esp),%esp | 574 movl 48(%esp),%esp |
| 563 popl %edi | 575 popl %edi |
| 564 popl %esi | 576 popl %esi |
| 565 popl %ebx | 577 popl %ebx |
| 566 popl %ebp | 578 popl %ebp |
| 567 ret | 579 ret |
| 568 .globl _vpaes_cbc_encrypt | 580 .globl _vpaes_cbc_encrypt |
| 581 .private_extern _vpaes_cbc_encrypt |
| 569 .align 4 | 582 .align 4 |
| 570 _vpaes_cbc_encrypt: | 583 _vpaes_cbc_encrypt: |
| 571 L_vpaes_cbc_encrypt_begin: | 584 L_vpaes_cbc_encrypt_begin: |
| 572 pushl %ebp | 585 pushl %ebp |
| 573 pushl %ebx | 586 pushl %ebx |
| 574 pushl %esi | 587 pushl %esi |
| 575 pushl %edi | 588 pushl %edi |
| 576 movl 20(%esp),%esi | 589 movl 20(%esp),%esi |
| 577 movl 24(%esp),%edi | 590 movl 24(%esp),%edi |
| 578 movl 28(%esp),%eax | 591 movl 28(%esp),%eax |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 movl 8(%esp),%ebx | 641 movl 8(%esp),%ebx |
| 629 movl 48(%esp),%esp | 642 movl 48(%esp),%esp |
| 630 movdqu %xmm1,(%ebx) | 643 movdqu %xmm1,(%ebx) |
| 631 L020cbc_abort: | 644 L020cbc_abort: |
| 632 popl %edi | 645 popl %edi |
| 633 popl %esi | 646 popl %esi |
| 634 popl %ebx | 647 popl %ebx |
| 635 popl %ebp | 648 popl %ebp |
| 636 ret | 649 ret |
| 637 #endif | 650 #endif |
| OLD | NEW |