VirtualBox

Ignore:
Timestamp:
Jun 8, 2022 8:35:57 AM (3 years ago)
Author:
vboxsync
Message:

libs/openssl-3.0.3: Recreated openssl assembler files, bugref:10128

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/openssl-3.0.3/crypto/genasm-nasm/aesni-mb-x86_64.S

    r94083 r95221  
    2222
    2323
    24         cmp     edx,2
    25         jb      NEAR $L$enc_non_avx
    26         mov     ecx,DWORD[((OPENSSL_ia32cap_P+4))]
    27         test    ecx,268435456
    28         jnz     NEAR _avx_cbc_enc_shortcut
    29         jmp     NEAR $L$enc_non_avx
    30 ALIGN   16
    31 $L$enc_non_avx:
    3224        mov     rax,rsp
    3325
     
    345337
    346338
    347         cmp     edx,2
    348         jb      NEAR $L$dec_non_avx
    349         mov     ecx,DWORD[((OPENSSL_ia32cap_P+4))]
    350         test    ecx,268435456
    351         jnz     NEAR _avx_cbc_dec_shortcut
    352         jmp     NEAR $L$dec_non_avx
    353 ALIGN   16
    354 $L$dec_non_avx:
    355339        mov     rax,rsp
    356340
     
    643627
    644628$L$SEH_end_aesni_multi_cbc_decrypt:
    645 
    646 ALIGN   32
    647 aesni_multi_cbc_encrypt_avx:
    648         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    649         mov     QWORD[16+rsp],rsi
    650         mov     rax,rsp
    651 $L$SEH_begin_aesni_multi_cbc_encrypt_avx:
    652         mov     rdi,rcx
    653         mov     rsi,rdx
    654         mov     rdx,r8
    655 
    656 
    657 
    658 _avx_cbc_enc_shortcut:
    659         mov     rax,rsp
    660 
    661         push    rbx
    662 
    663         push    rbp
    664 
    665         push    r12
    666 
    667         push    r13
    668 
    669         push    r14
    670 
    671         push    r15
    672 
    673         lea     rsp,[((-168))+rsp]
    674         movaps  XMMWORD[rsp],xmm6
    675         movaps  XMMWORD[16+rsp],xmm7
    676         movaps  XMMWORD[32+rsp],xmm8
    677         movaps  XMMWORD[48+rsp],xmm9
    678         movaps  XMMWORD[64+rsp],xmm10
    679         movaps  XMMWORD[80+rsp],xmm11
    680         movaps  XMMWORD[(-120)+rax],xmm12
    681         movaps  XMMWORD[(-104)+rax],xmm13
    682         movaps  XMMWORD[(-88)+rax],xmm14
    683         movaps  XMMWORD[(-72)+rax],xmm15
    684 
    685 
    686 
    687 
    688 
    689 
    690 
    691 
    692         sub     rsp,192
    693         and     rsp,-128
    694         mov     QWORD[16+rsp],rax
    695 
    696 
    697 $L$enc8x_body:
    698         vzeroupper
    699         vmovdqu xmm15,XMMWORD[rsi]
    700         lea     rsi,[120+rsi]
    701         lea     rdi,[160+rdi]
    702         shr     edx,1
    703 
    704 $L$enc8x_loop_grande:
    705 
    706         xor     edx,edx
    707 
    708         mov     ecx,DWORD[((-144))+rdi]
    709 
    710         mov     r8,QWORD[((-160))+rdi]
    711         cmp     ecx,edx
    712 
    713         mov     rbx,QWORD[((-152))+rdi]
    714         cmovg   edx,ecx
    715         test    ecx,ecx
    716 
    717         vmovdqu xmm2,XMMWORD[((-136))+rdi]
    718         mov     DWORD[32+rsp],ecx
    719         cmovle  r8,rsp
    720         sub     rbx,r8
    721         mov     QWORD[64+rsp],rbx
    722 
    723         mov     ecx,DWORD[((-104))+rdi]
    724 
    725         mov     r9,QWORD[((-120))+rdi]
    726         cmp     ecx,edx
    727 
    728         mov     rbp,QWORD[((-112))+rdi]
    729         cmovg   edx,ecx
    730         test    ecx,ecx
    731 
    732         vmovdqu xmm3,XMMWORD[((-96))+rdi]
    733         mov     DWORD[36+rsp],ecx
    734         cmovle  r9,rsp
    735         sub     rbp,r9
    736         mov     QWORD[72+rsp],rbp
    737 
    738         mov     ecx,DWORD[((-64))+rdi]
    739 
    740         mov     r10,QWORD[((-80))+rdi]
    741         cmp     ecx,edx
    742 
    743         mov     rbp,QWORD[((-72))+rdi]
    744         cmovg   edx,ecx
    745         test    ecx,ecx
    746 
    747         vmovdqu xmm4,XMMWORD[((-56))+rdi]
    748         mov     DWORD[40+rsp],ecx
    749         cmovle  r10,rsp
    750         sub     rbp,r10
    751         mov     QWORD[80+rsp],rbp
    752 
    753         mov     ecx,DWORD[((-24))+rdi]
    754 
    755         mov     r11,QWORD[((-40))+rdi]
    756         cmp     ecx,edx
    757 
    758         mov     rbp,QWORD[((-32))+rdi]
    759         cmovg   edx,ecx
    760         test    ecx,ecx
    761 
    762         vmovdqu xmm5,XMMWORD[((-16))+rdi]
    763         mov     DWORD[44+rsp],ecx
    764         cmovle  r11,rsp
    765         sub     rbp,r11
    766         mov     QWORD[88+rsp],rbp
    767 
    768         mov     ecx,DWORD[16+rdi]
    769 
    770         mov     r12,QWORD[rdi]
    771         cmp     ecx,edx
    772 
    773         mov     rbp,QWORD[8+rdi]
    774         cmovg   edx,ecx
    775         test    ecx,ecx
    776 
    777         vmovdqu xmm6,XMMWORD[24+rdi]
    778         mov     DWORD[48+rsp],ecx
    779         cmovle  r12,rsp
    780         sub     rbp,r12
    781         mov     QWORD[96+rsp],rbp
    782 
    783         mov     ecx,DWORD[56+rdi]
    784 
    785         mov     r13,QWORD[40+rdi]
    786         cmp     ecx,edx
    787 
    788         mov     rbp,QWORD[48+rdi]
    789         cmovg   edx,ecx
    790         test    ecx,ecx
    791 
    792         vmovdqu xmm7,XMMWORD[64+rdi]
    793         mov     DWORD[52+rsp],ecx
    794         cmovle  r13,rsp
    795         sub     rbp,r13
    796         mov     QWORD[104+rsp],rbp
    797 
    798         mov     ecx,DWORD[96+rdi]
    799 
    800         mov     r14,QWORD[80+rdi]
    801         cmp     ecx,edx
    802 
    803         mov     rbp,QWORD[88+rdi]
    804         cmovg   edx,ecx
    805         test    ecx,ecx
    806 
    807         vmovdqu xmm8,XMMWORD[104+rdi]
    808         mov     DWORD[56+rsp],ecx
    809         cmovle  r14,rsp
    810         sub     rbp,r14
    811         mov     QWORD[112+rsp],rbp
    812 
    813         mov     ecx,DWORD[136+rdi]
    814 
    815         mov     r15,QWORD[120+rdi]
    816         cmp     ecx,edx
    817 
    818         mov     rbp,QWORD[128+rdi]
    819         cmovg   edx,ecx
    820         test    ecx,ecx
    821 
    822         vmovdqu xmm9,XMMWORD[144+rdi]
    823         mov     DWORD[60+rsp],ecx
    824         cmovle  r15,rsp
    825         sub     rbp,r15
    826         mov     QWORD[120+rsp],rbp
    827         test    edx,edx
    828         jz      NEAR $L$enc8x_done
    829 
    830         vmovups xmm1,XMMWORD[((16-120))+rsi]
    831         vmovups xmm0,XMMWORD[((32-120))+rsi]
    832         mov     eax,DWORD[((240-120))+rsi]
    833 
    834         vpxor   xmm10,xmm15,XMMWORD[r8]
    835         lea     rbp,[128+rsp]
    836         vpxor   xmm11,xmm15,XMMWORD[r9]
    837         vpxor   xmm12,xmm15,XMMWORD[r10]
    838         vpxor   xmm13,xmm15,XMMWORD[r11]
    839         vpxor   xmm2,xmm2,xmm10
    840         vpxor   xmm10,xmm15,XMMWORD[r12]
    841         vpxor   xmm3,xmm3,xmm11
    842         vpxor   xmm11,xmm15,XMMWORD[r13]
    843         vpxor   xmm4,xmm4,xmm12
    844         vpxor   xmm12,xmm15,XMMWORD[r14]
    845         vpxor   xmm5,xmm5,xmm13
    846         vpxor   xmm13,xmm15,XMMWORD[r15]
    847         vpxor   xmm6,xmm6,xmm10
    848         mov     ecx,1
    849         vpxor   xmm7,xmm7,xmm11
    850         vpxor   xmm8,xmm8,xmm12
    851         vpxor   xmm9,xmm9,xmm13
    852         jmp     NEAR $L$oop_enc8x
    853 
    854 ALIGN   32
    855 $L$oop_enc8x:
    856         vaesenc xmm2,xmm2,xmm1
    857         cmp     ecx,DWORD[((32+0))+rsp]
    858         vaesenc xmm3,xmm3,xmm1
    859         prefetcht0      [31+r8]
    860         vaesenc xmm4,xmm4,xmm1
    861         vaesenc xmm5,xmm5,xmm1
    862         lea     rbx,[rbx*1+r8]
    863         cmovge  r8,rsp
    864         vaesenc xmm6,xmm6,xmm1
    865         cmovg   rbx,rsp
    866         vaesenc xmm7,xmm7,xmm1
    867         sub     rbx,r8
    868         vaesenc xmm8,xmm8,xmm1
    869         vpxor   xmm10,xmm15,XMMWORD[16+r8]
    870         mov     QWORD[((64+0))+rsp],rbx
    871         vaesenc xmm9,xmm9,xmm1
    872         vmovups xmm1,XMMWORD[((-72))+rsi]
    873         lea     r8,[16+rbx*1+r8]
    874         vmovdqu XMMWORD[rbp],xmm10
    875         vaesenc xmm2,xmm2,xmm0
    876         cmp     ecx,DWORD[((32+4))+rsp]
    877         mov     rbx,QWORD[((64+8))+rsp]
    878         vaesenc xmm3,xmm3,xmm0
    879         prefetcht0      [31+r9]
    880         vaesenc xmm4,xmm4,xmm0
    881         vaesenc xmm5,xmm5,xmm0
    882         lea     rbx,[rbx*1+r9]
    883         cmovge  r9,rsp
    884         vaesenc xmm6,xmm6,xmm0
    885         cmovg   rbx,rsp
    886         vaesenc xmm7,xmm7,xmm0
    887         sub     rbx,r9
    888         vaesenc xmm8,xmm8,xmm0
    889         vpxor   xmm11,xmm15,XMMWORD[16+r9]
    890         mov     QWORD[((64+8))+rsp],rbx
    891         vaesenc xmm9,xmm9,xmm0
    892         vmovups xmm0,XMMWORD[((-56))+rsi]
    893         lea     r9,[16+rbx*1+r9]
    894         vmovdqu XMMWORD[16+rbp],xmm11
    895         vaesenc xmm2,xmm2,xmm1
    896         cmp     ecx,DWORD[((32+8))+rsp]
    897         mov     rbx,QWORD[((64+16))+rsp]
    898         vaesenc xmm3,xmm3,xmm1
    899         prefetcht0      [31+r10]
    900         vaesenc xmm4,xmm4,xmm1
    901         prefetcht0      [15+r8]
    902         vaesenc xmm5,xmm5,xmm1
    903         lea     rbx,[rbx*1+r10]
    904         cmovge  r10,rsp
    905         vaesenc xmm6,xmm6,xmm1
    906         cmovg   rbx,rsp
    907         vaesenc xmm7,xmm7,xmm1
    908         sub     rbx,r10
    909         vaesenc xmm8,xmm8,xmm1
    910         vpxor   xmm12,xmm15,XMMWORD[16+r10]
    911         mov     QWORD[((64+16))+rsp],rbx
    912         vaesenc xmm9,xmm9,xmm1
    913         vmovups xmm1,XMMWORD[((-40))+rsi]
    914         lea     r10,[16+rbx*1+r10]
    915         vmovdqu XMMWORD[32+rbp],xmm12
    916         vaesenc xmm2,xmm2,xmm0
    917         cmp     ecx,DWORD[((32+12))+rsp]
    918         mov     rbx,QWORD[((64+24))+rsp]
    919         vaesenc xmm3,xmm3,xmm0
    920         prefetcht0      [31+r11]
    921         vaesenc xmm4,xmm4,xmm0
    922         prefetcht0      [15+r9]
    923         vaesenc xmm5,xmm5,xmm0
    924         lea     rbx,[rbx*1+r11]
    925         cmovge  r11,rsp
    926         vaesenc xmm6,xmm6,xmm0
    927         cmovg   rbx,rsp
    928         vaesenc xmm7,xmm7,xmm0
    929         sub     rbx,r11
    930         vaesenc xmm8,xmm8,xmm0
    931         vpxor   xmm13,xmm15,XMMWORD[16+r11]
    932         mov     QWORD[((64+24))+rsp],rbx
    933         vaesenc xmm9,xmm9,xmm0
    934         vmovups xmm0,XMMWORD[((-24))+rsi]
    935         lea     r11,[16+rbx*1+r11]
    936         vmovdqu XMMWORD[48+rbp],xmm13
    937         vaesenc xmm2,xmm2,xmm1
    938         cmp     ecx,DWORD[((32+16))+rsp]
    939         mov     rbx,QWORD[((64+32))+rsp]
    940         vaesenc xmm3,xmm3,xmm1
    941         prefetcht0      [31+r12]
    942         vaesenc xmm4,xmm4,xmm1
    943         prefetcht0      [15+r10]
    944         vaesenc xmm5,xmm5,xmm1
    945         lea     rbx,[rbx*1+r12]
    946         cmovge  r12,rsp
    947         vaesenc xmm6,xmm6,xmm1
    948         cmovg   rbx,rsp
    949         vaesenc xmm7,xmm7,xmm1
    950         sub     rbx,r12
    951         vaesenc xmm8,xmm8,xmm1
    952         vpxor   xmm10,xmm15,XMMWORD[16+r12]
    953         mov     QWORD[((64+32))+rsp],rbx
    954         vaesenc xmm9,xmm9,xmm1
    955         vmovups xmm1,XMMWORD[((-8))+rsi]
    956         lea     r12,[16+rbx*1+r12]
    957         vaesenc xmm2,xmm2,xmm0
    958         cmp     ecx,DWORD[((32+20))+rsp]
    959         mov     rbx,QWORD[((64+40))+rsp]
    960         vaesenc xmm3,xmm3,xmm0
    961         prefetcht0      [31+r13]
    962         vaesenc xmm4,xmm4,xmm0
    963         prefetcht0      [15+r11]
    964         vaesenc xmm5,xmm5,xmm0
    965         lea     rbx,[r13*1+rbx]
    966         cmovge  r13,rsp
    967         vaesenc xmm6,xmm6,xmm0
    968         cmovg   rbx,rsp
    969         vaesenc xmm7,xmm7,xmm0
    970         sub     rbx,r13
    971         vaesenc xmm8,xmm8,xmm0
    972         vpxor   xmm11,xmm15,XMMWORD[16+r13]
    973         mov     QWORD[((64+40))+rsp],rbx
    974         vaesenc xmm9,xmm9,xmm0
    975         vmovups xmm0,XMMWORD[8+rsi]
    976         lea     r13,[16+rbx*1+r13]
    977         vaesenc xmm2,xmm2,xmm1
    978         cmp     ecx,DWORD[((32+24))+rsp]
    979         mov     rbx,QWORD[((64+48))+rsp]
    980         vaesenc xmm3,xmm3,xmm1
    981         prefetcht0      [31+r14]
    982         vaesenc xmm4,xmm4,xmm1
    983         prefetcht0      [15+r12]
    984         vaesenc xmm5,xmm5,xmm1
    985         lea     rbx,[rbx*1+r14]
    986         cmovge  r14,rsp
    987         vaesenc xmm6,xmm6,xmm1
    988         cmovg   rbx,rsp
    989         vaesenc xmm7,xmm7,xmm1
    990         sub     rbx,r14
    991         vaesenc xmm8,xmm8,xmm1
    992         vpxor   xmm12,xmm15,XMMWORD[16+r14]
    993         mov     QWORD[((64+48))+rsp],rbx
    994         vaesenc xmm9,xmm9,xmm1
    995         vmovups xmm1,XMMWORD[24+rsi]
    996         lea     r14,[16+rbx*1+r14]
    997         vaesenc xmm2,xmm2,xmm0
    998         cmp     ecx,DWORD[((32+28))+rsp]
    999         mov     rbx,QWORD[((64+56))+rsp]
    1000         vaesenc xmm3,xmm3,xmm0
    1001         prefetcht0      [31+r15]
    1002         vaesenc xmm4,xmm4,xmm0
    1003         prefetcht0      [15+r13]
    1004         vaesenc xmm5,xmm5,xmm0
    1005         lea     rbx,[rbx*1+r15]
    1006         cmovge  r15,rsp
    1007         vaesenc xmm6,xmm6,xmm0
    1008         cmovg   rbx,rsp
    1009         vaesenc xmm7,xmm7,xmm0
    1010         sub     rbx,r15
    1011         vaesenc xmm8,xmm8,xmm0
    1012         vpxor   xmm13,xmm15,XMMWORD[16+r15]
    1013         mov     QWORD[((64+56))+rsp],rbx
    1014         vaesenc xmm9,xmm9,xmm0
    1015         vmovups xmm0,XMMWORD[40+rsi]
    1016         lea     r15,[16+rbx*1+r15]
    1017         vmovdqu xmm14,XMMWORD[32+rsp]
    1018         prefetcht0      [15+r14]
    1019         prefetcht0      [15+r15]
    1020         cmp     eax,11
    1021         jb      NEAR $L$enc8x_tail
    1022 
    1023         vaesenc xmm2,xmm2,xmm1
    1024         vaesenc xmm3,xmm3,xmm1
    1025         vaesenc xmm4,xmm4,xmm1
    1026         vaesenc xmm5,xmm5,xmm1
    1027         vaesenc xmm6,xmm6,xmm1
    1028         vaesenc xmm7,xmm7,xmm1
    1029         vaesenc xmm8,xmm8,xmm1
    1030         vaesenc xmm9,xmm9,xmm1
    1031         vmovups xmm1,XMMWORD[((176-120))+rsi]
    1032 
    1033         vaesenc xmm2,xmm2,xmm0
    1034         vaesenc xmm3,xmm3,xmm0
    1035         vaesenc xmm4,xmm4,xmm0
    1036         vaesenc xmm5,xmm5,xmm0
    1037         vaesenc xmm6,xmm6,xmm0
    1038         vaesenc xmm7,xmm7,xmm0
    1039         vaesenc xmm8,xmm8,xmm0
    1040         vaesenc xmm9,xmm9,xmm0
    1041         vmovups xmm0,XMMWORD[((192-120))+rsi]
    1042         je      NEAR $L$enc8x_tail
    1043 
    1044         vaesenc xmm2,xmm2,xmm1
    1045         vaesenc xmm3,xmm3,xmm1
    1046         vaesenc xmm4,xmm4,xmm1
    1047         vaesenc xmm5,xmm5,xmm1
    1048         vaesenc xmm6,xmm6,xmm1
    1049         vaesenc xmm7,xmm7,xmm1
    1050         vaesenc xmm8,xmm8,xmm1
    1051         vaesenc xmm9,xmm9,xmm1
    1052         vmovups xmm1,XMMWORD[((208-120))+rsi]
    1053 
    1054         vaesenc xmm2,xmm2,xmm0
    1055         vaesenc xmm3,xmm3,xmm0
    1056         vaesenc xmm4,xmm4,xmm0
    1057         vaesenc xmm5,xmm5,xmm0
    1058         vaesenc xmm6,xmm6,xmm0
    1059         vaesenc xmm7,xmm7,xmm0
    1060         vaesenc xmm8,xmm8,xmm0
    1061         vaesenc xmm9,xmm9,xmm0
    1062         vmovups xmm0,XMMWORD[((224-120))+rsi]
    1063 
    1064 $L$enc8x_tail:
    1065         vaesenc xmm2,xmm2,xmm1
    1066         vpxor   xmm15,xmm15,xmm15
    1067         vaesenc xmm3,xmm3,xmm1
    1068         vaesenc xmm4,xmm4,xmm1
    1069         vpcmpgtd        xmm15,xmm14,xmm15
    1070         vaesenc xmm5,xmm5,xmm1
    1071         vaesenc xmm6,xmm6,xmm1
    1072         vpaddd  xmm15,xmm15,xmm14
    1073         vmovdqu xmm14,XMMWORD[48+rsp]
    1074         vaesenc xmm7,xmm7,xmm1
    1075         mov     rbx,QWORD[64+rsp]
    1076         vaesenc xmm8,xmm8,xmm1
    1077         vaesenc xmm9,xmm9,xmm1
    1078         vmovups xmm1,XMMWORD[((16-120))+rsi]
    1079 
    1080         vaesenclast     xmm2,xmm2,xmm0
    1081         vmovdqa XMMWORD[32+rsp],xmm15
    1082         vpxor   xmm15,xmm15,xmm15
    1083         vaesenclast     xmm3,xmm3,xmm0
    1084         vaesenclast     xmm4,xmm4,xmm0
    1085         vpcmpgtd        xmm15,xmm14,xmm15
    1086         vaesenclast     xmm5,xmm5,xmm0
    1087         vaesenclast     xmm6,xmm6,xmm0
    1088         vpaddd  xmm14,xmm14,xmm15
    1089         vmovdqu xmm15,XMMWORD[((-120))+rsi]
    1090         vaesenclast     xmm7,xmm7,xmm0
    1091         vaesenclast     xmm8,xmm8,xmm0
    1092         vmovdqa XMMWORD[48+rsp],xmm14
    1093         vaesenclast     xmm9,xmm9,xmm0
    1094         vmovups xmm0,XMMWORD[((32-120))+rsi]
    1095 
    1096         vmovups XMMWORD[(-16)+r8],xmm2
    1097         sub     r8,rbx
    1098         vpxor   xmm2,xmm2,XMMWORD[rbp]
    1099         vmovups XMMWORD[(-16)+r9],xmm3
    1100         sub     r9,QWORD[72+rsp]
    1101         vpxor   xmm3,xmm3,XMMWORD[16+rbp]
    1102         vmovups XMMWORD[(-16)+r10],xmm4
    1103         sub     r10,QWORD[80+rsp]
    1104         vpxor   xmm4,xmm4,XMMWORD[32+rbp]
    1105         vmovups XMMWORD[(-16)+r11],xmm5
    1106         sub     r11,QWORD[88+rsp]
    1107         vpxor   xmm5,xmm5,XMMWORD[48+rbp]
    1108         vmovups XMMWORD[(-16)+r12],xmm6
    1109         sub     r12,QWORD[96+rsp]
    1110         vpxor   xmm6,xmm6,xmm10
    1111         vmovups XMMWORD[(-16)+r13],xmm7
    1112         sub     r13,QWORD[104+rsp]
    1113         vpxor   xmm7,xmm7,xmm11
    1114         vmovups XMMWORD[(-16)+r14],xmm8
    1115         sub     r14,QWORD[112+rsp]
    1116         vpxor   xmm8,xmm8,xmm12
    1117         vmovups XMMWORD[(-16)+r15],xmm9
    1118         sub     r15,QWORD[120+rsp]
    1119         vpxor   xmm9,xmm9,xmm13
    1120 
    1121         dec     edx
    1122         jnz     NEAR $L$oop_enc8x
    1123 
    1124         mov     rax,QWORD[16+rsp]
    1125 
    1126 
    1127 
    1128 
    1129 
    1130 
    1131 $L$enc8x_done:
    1132         vzeroupper
    1133         movaps  xmm6,XMMWORD[((-216))+rax]
    1134         movaps  xmm7,XMMWORD[((-200))+rax]
    1135         movaps  xmm8,XMMWORD[((-184))+rax]
    1136         movaps  xmm9,XMMWORD[((-168))+rax]
    1137         movaps  xmm10,XMMWORD[((-152))+rax]
    1138         movaps  xmm11,XMMWORD[((-136))+rax]
    1139         movaps  xmm12,XMMWORD[((-120))+rax]
    1140         movaps  xmm13,XMMWORD[((-104))+rax]
    1141         movaps  xmm14,XMMWORD[((-88))+rax]
    1142         movaps  xmm15,XMMWORD[((-72))+rax]
    1143         mov     r15,QWORD[((-48))+rax]
    1144 
    1145         mov     r14,QWORD[((-40))+rax]
    1146 
    1147         mov     r13,QWORD[((-32))+rax]
    1148 
    1149         mov     r12,QWORD[((-24))+rax]
    1150 
    1151         mov     rbp,QWORD[((-16))+rax]
    1152 
    1153         mov     rbx,QWORD[((-8))+rax]
    1154 
    1155         lea     rsp,[rax]
    1156 
    1157 $L$enc8x_epilogue:
    1158         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    1159         mov     rsi,QWORD[16+rsp]
    1160         DB      0F3h,0C3h               ;repret
    1161 
    1162 $L$SEH_end_aesni_multi_cbc_encrypt_avx:
    1163 
    1164 
    1165 ALIGN   32
    1166 aesni_multi_cbc_decrypt_avx:
    1167         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    1168         mov     QWORD[16+rsp],rsi
    1169         mov     rax,rsp
    1170 $L$SEH_begin_aesni_multi_cbc_decrypt_avx:
    1171         mov     rdi,rcx
    1172         mov     rsi,rdx
    1173         mov     rdx,r8
    1174 
    1175 
    1176 
    1177 _avx_cbc_dec_shortcut:
    1178         mov     rax,rsp
    1179 
    1180         push    rbx
    1181 
    1182         push    rbp
    1183 
    1184         push    r12
    1185 
    1186         push    r13
    1187 
    1188         push    r14
    1189 
    1190         push    r15
    1191 
    1192         lea     rsp,[((-168))+rsp]
    1193         movaps  XMMWORD[rsp],xmm6
    1194         movaps  XMMWORD[16+rsp],xmm7
    1195         movaps  XMMWORD[32+rsp],xmm8
    1196         movaps  XMMWORD[48+rsp],xmm9
    1197         movaps  XMMWORD[64+rsp],xmm10
    1198         movaps  XMMWORD[80+rsp],xmm11
    1199         movaps  XMMWORD[(-120)+rax],xmm12
    1200         movaps  XMMWORD[(-104)+rax],xmm13
    1201         movaps  XMMWORD[(-88)+rax],xmm14
    1202         movaps  XMMWORD[(-72)+rax],xmm15
    1203 
    1204 
    1205 
    1206 
    1207 
    1208 
    1209 
    1210 
    1211 
    1212         sub     rsp,256
    1213         and     rsp,-256
    1214         sub     rsp,192
    1215         mov     QWORD[16+rsp],rax
    1216 
    1217 
    1218 $L$dec8x_body:
    1219         vzeroupper
    1220         vmovdqu xmm15,XMMWORD[rsi]
    1221         lea     rsi,[120+rsi]
    1222         lea     rdi,[160+rdi]
    1223         shr     edx,1
    1224 
    1225 $L$dec8x_loop_grande:
    1226 
    1227         xor     edx,edx
    1228 
    1229         mov     ecx,DWORD[((-144))+rdi]
    1230 
    1231         mov     r8,QWORD[((-160))+rdi]
    1232         cmp     ecx,edx
    1233 
    1234         mov     rbx,QWORD[((-152))+rdi]
    1235         cmovg   edx,ecx
    1236         test    ecx,ecx
    1237 
    1238         vmovdqu xmm2,XMMWORD[((-136))+rdi]
    1239         mov     DWORD[32+rsp],ecx
    1240         cmovle  r8,rsp
    1241         sub     rbx,r8
    1242         mov     QWORD[64+rsp],rbx
    1243         vmovdqu XMMWORD[192+rsp],xmm2
    1244 
    1245         mov     ecx,DWORD[((-104))+rdi]
    1246 
    1247         mov     r9,QWORD[((-120))+rdi]
    1248         cmp     ecx,edx
    1249 
    1250         mov     rbp,QWORD[((-112))+rdi]
    1251         cmovg   edx,ecx
    1252         test    ecx,ecx
    1253 
    1254         vmovdqu xmm3,XMMWORD[((-96))+rdi]
    1255         mov     DWORD[36+rsp],ecx
    1256         cmovle  r9,rsp
    1257         sub     rbp,r9
    1258         mov     QWORD[72+rsp],rbp
    1259         vmovdqu XMMWORD[208+rsp],xmm3
    1260 
    1261         mov     ecx,DWORD[((-64))+rdi]
    1262 
    1263         mov     r10,QWORD[((-80))+rdi]
    1264         cmp     ecx,edx
    1265 
    1266         mov     rbp,QWORD[((-72))+rdi]
    1267         cmovg   edx,ecx
    1268         test    ecx,ecx
    1269 
    1270         vmovdqu xmm4,XMMWORD[((-56))+rdi]
    1271         mov     DWORD[40+rsp],ecx
    1272         cmovle  r10,rsp
    1273         sub     rbp,r10
    1274         mov     QWORD[80+rsp],rbp
    1275         vmovdqu XMMWORD[224+rsp],xmm4
    1276 
    1277         mov     ecx,DWORD[((-24))+rdi]
    1278 
    1279         mov     r11,QWORD[((-40))+rdi]
    1280         cmp     ecx,edx
    1281 
    1282         mov     rbp,QWORD[((-32))+rdi]
    1283         cmovg   edx,ecx
    1284         test    ecx,ecx
    1285 
    1286         vmovdqu xmm5,XMMWORD[((-16))+rdi]
    1287         mov     DWORD[44+rsp],ecx
    1288         cmovle  r11,rsp
    1289         sub     rbp,r11
    1290         mov     QWORD[88+rsp],rbp
    1291         vmovdqu XMMWORD[240+rsp],xmm5
    1292 
    1293         mov     ecx,DWORD[16+rdi]
    1294 
    1295         mov     r12,QWORD[rdi]
    1296         cmp     ecx,edx
    1297 
    1298         mov     rbp,QWORD[8+rdi]
    1299         cmovg   edx,ecx
    1300         test    ecx,ecx
    1301 
    1302         vmovdqu xmm6,XMMWORD[24+rdi]
    1303         mov     DWORD[48+rsp],ecx
    1304         cmovle  r12,rsp
    1305         sub     rbp,r12
    1306         mov     QWORD[96+rsp],rbp
    1307         vmovdqu XMMWORD[256+rsp],xmm6
    1308 
    1309         mov     ecx,DWORD[56+rdi]
    1310 
    1311         mov     r13,QWORD[40+rdi]
    1312         cmp     ecx,edx
    1313 
    1314         mov     rbp,QWORD[48+rdi]
    1315         cmovg   edx,ecx
    1316         test    ecx,ecx
    1317 
    1318         vmovdqu xmm7,XMMWORD[64+rdi]
    1319         mov     DWORD[52+rsp],ecx
    1320         cmovle  r13,rsp
    1321         sub     rbp,r13
    1322         mov     QWORD[104+rsp],rbp
    1323         vmovdqu XMMWORD[272+rsp],xmm7
    1324 
    1325         mov     ecx,DWORD[96+rdi]
    1326 
    1327         mov     r14,QWORD[80+rdi]
    1328         cmp     ecx,edx
    1329 
    1330         mov     rbp,QWORD[88+rdi]
    1331         cmovg   edx,ecx
    1332         test    ecx,ecx
    1333 
    1334         vmovdqu xmm8,XMMWORD[104+rdi]
    1335         mov     DWORD[56+rsp],ecx
    1336         cmovle  r14,rsp
    1337         sub     rbp,r14
    1338         mov     QWORD[112+rsp],rbp
    1339         vmovdqu XMMWORD[288+rsp],xmm8
    1340 
    1341         mov     ecx,DWORD[136+rdi]
    1342 
    1343         mov     r15,QWORD[120+rdi]
    1344         cmp     ecx,edx
    1345 
    1346         mov     rbp,QWORD[128+rdi]
    1347         cmovg   edx,ecx
    1348         test    ecx,ecx
    1349 
    1350         vmovdqu xmm9,XMMWORD[144+rdi]
    1351         mov     DWORD[60+rsp],ecx
    1352         cmovle  r15,rsp
    1353         sub     rbp,r15
    1354         mov     QWORD[120+rsp],rbp
    1355         vmovdqu XMMWORD[304+rsp],xmm9
    1356         test    edx,edx
    1357         jz      NEAR $L$dec8x_done
    1358 
    1359         vmovups xmm1,XMMWORD[((16-120))+rsi]
    1360         vmovups xmm0,XMMWORD[((32-120))+rsi]
    1361         mov     eax,DWORD[((240-120))+rsi]
    1362         lea     rbp,[((192+128))+rsp]
    1363 
    1364         vmovdqu xmm2,XMMWORD[r8]
    1365         vmovdqu xmm3,XMMWORD[r9]
    1366         vmovdqu xmm4,XMMWORD[r10]
    1367         vmovdqu xmm5,XMMWORD[r11]
    1368         vmovdqu xmm6,XMMWORD[r12]
    1369         vmovdqu xmm7,XMMWORD[r13]
    1370         vmovdqu xmm8,XMMWORD[r14]
    1371         vmovdqu xmm9,XMMWORD[r15]
    1372         vmovdqu XMMWORD[rbp],xmm2
    1373         vpxor   xmm2,xmm2,xmm15
    1374         vmovdqu XMMWORD[16+rbp],xmm3
    1375         vpxor   xmm3,xmm3,xmm15
    1376         vmovdqu XMMWORD[32+rbp],xmm4
    1377         vpxor   xmm4,xmm4,xmm15
    1378         vmovdqu XMMWORD[48+rbp],xmm5
    1379         vpxor   xmm5,xmm5,xmm15
    1380         vmovdqu XMMWORD[64+rbp],xmm6
    1381         vpxor   xmm6,xmm6,xmm15
    1382         vmovdqu XMMWORD[80+rbp],xmm7
    1383         vpxor   xmm7,xmm7,xmm15
    1384         vmovdqu XMMWORD[96+rbp],xmm8
    1385         vpxor   xmm8,xmm8,xmm15
    1386         vmovdqu XMMWORD[112+rbp],xmm9
    1387         vpxor   xmm9,xmm9,xmm15
    1388         xor     rbp,0x80
    1389         mov     ecx,1
    1390         jmp     NEAR $L$oop_dec8x
    1391 
    1392 ALIGN   32
    1393 $L$oop_dec8x:
    1394         vaesdec xmm2,xmm2,xmm1
    1395         cmp     ecx,DWORD[((32+0))+rsp]
    1396         vaesdec xmm3,xmm3,xmm1
    1397         prefetcht0      [31+r8]
    1398         vaesdec xmm4,xmm4,xmm1
    1399         vaesdec xmm5,xmm5,xmm1
    1400         lea     rbx,[rbx*1+r8]
    1401         cmovge  r8,rsp
    1402         vaesdec xmm6,xmm6,xmm1
    1403         cmovg   rbx,rsp
    1404         vaesdec xmm7,xmm7,xmm1
    1405         sub     rbx,r8
    1406         vaesdec xmm8,xmm8,xmm1
    1407         vmovdqu xmm10,XMMWORD[16+r8]
    1408         mov     QWORD[((64+0))+rsp],rbx
    1409         vaesdec xmm9,xmm9,xmm1
    1410         vmovups xmm1,XMMWORD[((-72))+rsi]
    1411         lea     r8,[16+rbx*1+r8]
    1412         vmovdqu XMMWORD[128+rsp],xmm10
    1413         vaesdec xmm2,xmm2,xmm0
    1414         cmp     ecx,DWORD[((32+4))+rsp]
    1415         mov     rbx,QWORD[((64+8))+rsp]
    1416         vaesdec xmm3,xmm3,xmm0
    1417         prefetcht0      [31+r9]
    1418         vaesdec xmm4,xmm4,xmm0
    1419         vaesdec xmm5,xmm5,xmm0
    1420         lea     rbx,[rbx*1+r9]
    1421         cmovge  r9,rsp
    1422         vaesdec xmm6,xmm6,xmm0
    1423         cmovg   rbx,rsp
    1424         vaesdec xmm7,xmm7,xmm0
    1425         sub     rbx,r9
    1426         vaesdec xmm8,xmm8,xmm0
    1427         vmovdqu xmm11,XMMWORD[16+r9]
    1428         mov     QWORD[((64+8))+rsp],rbx
    1429         vaesdec xmm9,xmm9,xmm0
    1430         vmovups xmm0,XMMWORD[((-56))+rsi]
    1431         lea     r9,[16+rbx*1+r9]
    1432         vmovdqu XMMWORD[144+rsp],xmm11
    1433         vaesdec xmm2,xmm2,xmm1
    1434         cmp     ecx,DWORD[((32+8))+rsp]
    1435         mov     rbx,QWORD[((64+16))+rsp]
    1436         vaesdec xmm3,xmm3,xmm1
    1437         prefetcht0      [31+r10]
    1438         vaesdec xmm4,xmm4,xmm1
    1439         prefetcht0      [15+r8]
    1440         vaesdec xmm5,xmm5,xmm1
    1441         lea     rbx,[rbx*1+r10]
    1442         cmovge  r10,rsp
    1443         vaesdec xmm6,xmm6,xmm1
    1444         cmovg   rbx,rsp
    1445         vaesdec xmm7,xmm7,xmm1
    1446         sub     rbx,r10
    1447         vaesdec xmm8,xmm8,xmm1
    1448         vmovdqu xmm12,XMMWORD[16+r10]
    1449         mov     QWORD[((64+16))+rsp],rbx
    1450         vaesdec xmm9,xmm9,xmm1
    1451         vmovups xmm1,XMMWORD[((-40))+rsi]
    1452         lea     r10,[16+rbx*1+r10]
    1453         vmovdqu XMMWORD[160+rsp],xmm12
    1454         vaesdec xmm2,xmm2,xmm0
    1455         cmp     ecx,DWORD[((32+12))+rsp]
    1456         mov     rbx,QWORD[((64+24))+rsp]
    1457         vaesdec xmm3,xmm3,xmm0
    1458         prefetcht0      [31+r11]
    1459         vaesdec xmm4,xmm4,xmm0
    1460         prefetcht0      [15+r9]
    1461         vaesdec xmm5,xmm5,xmm0
    1462         lea     rbx,[rbx*1+r11]
    1463         cmovge  r11,rsp
    1464         vaesdec xmm6,xmm6,xmm0
    1465         cmovg   rbx,rsp
    1466         vaesdec xmm7,xmm7,xmm0
    1467         sub     rbx,r11
    1468         vaesdec xmm8,xmm8,xmm0
    1469         vmovdqu xmm13,XMMWORD[16+r11]
    1470         mov     QWORD[((64+24))+rsp],rbx
    1471         vaesdec xmm9,xmm9,xmm0
    1472         vmovups xmm0,XMMWORD[((-24))+rsi]
    1473         lea     r11,[16+rbx*1+r11]
    1474         vmovdqu XMMWORD[176+rsp],xmm13
    1475         vaesdec xmm2,xmm2,xmm1
    1476         cmp     ecx,DWORD[((32+16))+rsp]
    1477         mov     rbx,QWORD[((64+32))+rsp]
    1478         vaesdec xmm3,xmm3,xmm1
    1479         prefetcht0      [31+r12]
    1480         vaesdec xmm4,xmm4,xmm1
    1481         prefetcht0      [15+r10]
    1482         vaesdec xmm5,xmm5,xmm1
    1483         lea     rbx,[rbx*1+r12]
    1484         cmovge  r12,rsp
    1485         vaesdec xmm6,xmm6,xmm1
    1486         cmovg   rbx,rsp
    1487         vaesdec xmm7,xmm7,xmm1
    1488         sub     rbx,r12
    1489         vaesdec xmm8,xmm8,xmm1
    1490         vmovdqu xmm10,XMMWORD[16+r12]
    1491         mov     QWORD[((64+32))+rsp],rbx
    1492         vaesdec xmm9,xmm9,xmm1
    1493         vmovups xmm1,XMMWORD[((-8))+rsi]
    1494         lea     r12,[16+rbx*1+r12]
    1495         vaesdec xmm2,xmm2,xmm0
    1496         cmp     ecx,DWORD[((32+20))+rsp]
    1497         mov     rbx,QWORD[((64+40))+rsp]
    1498         vaesdec xmm3,xmm3,xmm0
    1499         prefetcht0      [31+r13]
    1500         vaesdec xmm4,xmm4,xmm0
    1501         prefetcht0      [15+r11]
    1502         vaesdec xmm5,xmm5,xmm0
    1503         lea     rbx,[r13*1+rbx]
    1504         cmovge  r13,rsp
    1505         vaesdec xmm6,xmm6,xmm0
    1506         cmovg   rbx,rsp
    1507         vaesdec xmm7,xmm7,xmm0
    1508         sub     rbx,r13
    1509         vaesdec xmm8,xmm8,xmm0
    1510         vmovdqu xmm11,XMMWORD[16+r13]
    1511         mov     QWORD[((64+40))+rsp],rbx
    1512         vaesdec xmm9,xmm9,xmm0
    1513         vmovups xmm0,XMMWORD[8+rsi]
    1514         lea     r13,[16+rbx*1+r13]
    1515         vaesdec xmm2,xmm2,xmm1
    1516         cmp     ecx,DWORD[((32+24))+rsp]
    1517         mov     rbx,QWORD[((64+48))+rsp]
    1518         vaesdec xmm3,xmm3,xmm1
    1519         prefetcht0      [31+r14]
    1520         vaesdec xmm4,xmm4,xmm1
    1521         prefetcht0      [15+r12]
    1522         vaesdec xmm5,xmm5,xmm1
    1523         lea     rbx,[rbx*1+r14]
    1524         cmovge  r14,rsp
    1525         vaesdec xmm6,xmm6,xmm1
    1526         cmovg   rbx,rsp
    1527         vaesdec xmm7,xmm7,xmm1
    1528         sub     rbx,r14
    1529         vaesdec xmm8,xmm8,xmm1
    1530         vmovdqu xmm12,XMMWORD[16+r14]
    1531         mov     QWORD[((64+48))+rsp],rbx
    1532         vaesdec xmm9,xmm9,xmm1
    1533         vmovups xmm1,XMMWORD[24+rsi]
    1534         lea     r14,[16+rbx*1+r14]
    1535         vaesdec xmm2,xmm2,xmm0
    1536         cmp     ecx,DWORD[((32+28))+rsp]
    1537         mov     rbx,QWORD[((64+56))+rsp]
    1538         vaesdec xmm3,xmm3,xmm0
    1539         prefetcht0      [31+r15]
    1540         vaesdec xmm4,xmm4,xmm0
    1541         prefetcht0      [15+r13]
    1542         vaesdec xmm5,xmm5,xmm0
    1543         lea     rbx,[rbx*1+r15]
    1544         cmovge  r15,rsp
    1545         vaesdec xmm6,xmm6,xmm0
    1546         cmovg   rbx,rsp
    1547         vaesdec xmm7,xmm7,xmm0
    1548         sub     rbx,r15
    1549         vaesdec xmm8,xmm8,xmm0
    1550         vmovdqu xmm13,XMMWORD[16+r15]
    1551         mov     QWORD[((64+56))+rsp],rbx
    1552         vaesdec xmm9,xmm9,xmm0
    1553         vmovups xmm0,XMMWORD[40+rsi]
    1554         lea     r15,[16+rbx*1+r15]
    1555         vmovdqu xmm14,XMMWORD[32+rsp]
    1556         prefetcht0      [15+r14]
    1557         prefetcht0      [15+r15]
    1558         cmp     eax,11
    1559         jb      NEAR $L$dec8x_tail
    1560 
    1561         vaesdec xmm2,xmm2,xmm1
    1562         vaesdec xmm3,xmm3,xmm1
    1563         vaesdec xmm4,xmm4,xmm1
    1564         vaesdec xmm5,xmm5,xmm1
    1565         vaesdec xmm6,xmm6,xmm1
    1566         vaesdec xmm7,xmm7,xmm1
    1567         vaesdec xmm8,xmm8,xmm1
    1568         vaesdec xmm9,xmm9,xmm1
    1569         vmovups xmm1,XMMWORD[((176-120))+rsi]
    1570 
    1571         vaesdec xmm2,xmm2,xmm0
    1572         vaesdec xmm3,xmm3,xmm0
    1573         vaesdec xmm4,xmm4,xmm0
    1574         vaesdec xmm5,xmm5,xmm0
    1575         vaesdec xmm6,xmm6,xmm0
    1576         vaesdec xmm7,xmm7,xmm0
    1577         vaesdec xmm8,xmm8,xmm0
    1578         vaesdec xmm9,xmm9,xmm0
    1579         vmovups xmm0,XMMWORD[((192-120))+rsi]
    1580         je      NEAR $L$dec8x_tail
    1581 
    1582         vaesdec xmm2,xmm2,xmm1
    1583         vaesdec xmm3,xmm3,xmm1
    1584         vaesdec xmm4,xmm4,xmm1
    1585         vaesdec xmm5,xmm5,xmm1
    1586         vaesdec xmm6,xmm6,xmm1
    1587         vaesdec xmm7,xmm7,xmm1
    1588         vaesdec xmm8,xmm8,xmm1
    1589         vaesdec xmm9,xmm9,xmm1
    1590         vmovups xmm1,XMMWORD[((208-120))+rsi]
    1591 
    1592         vaesdec xmm2,xmm2,xmm0
    1593         vaesdec xmm3,xmm3,xmm0
    1594         vaesdec xmm4,xmm4,xmm0
    1595         vaesdec xmm5,xmm5,xmm0
    1596         vaesdec xmm6,xmm6,xmm0
    1597         vaesdec xmm7,xmm7,xmm0
    1598         vaesdec xmm8,xmm8,xmm0
    1599         vaesdec xmm9,xmm9,xmm0
    1600         vmovups xmm0,XMMWORD[((224-120))+rsi]
    1601 
    1602 $L$dec8x_tail:
    1603         vaesdec xmm2,xmm2,xmm1
    1604         vpxor   xmm15,xmm15,xmm15
    1605         vaesdec xmm3,xmm3,xmm1
    1606         vaesdec xmm4,xmm4,xmm1
    1607         vpcmpgtd        xmm15,xmm14,xmm15
    1608         vaesdec xmm5,xmm5,xmm1
    1609         vaesdec xmm6,xmm6,xmm1
    1610         vpaddd  xmm15,xmm15,xmm14
    1611         vmovdqu xmm14,XMMWORD[48+rsp]
    1612         vaesdec xmm7,xmm7,xmm1
    1613         mov     rbx,QWORD[64+rsp]
    1614         vaesdec xmm8,xmm8,xmm1
    1615         vaesdec xmm9,xmm9,xmm1
    1616         vmovups xmm1,XMMWORD[((16-120))+rsi]
    1617 
    1618         vaesdeclast     xmm2,xmm2,xmm0
    1619         vmovdqa XMMWORD[32+rsp],xmm15
    1620         vpxor   xmm15,xmm15,xmm15
    1621         vaesdeclast     xmm3,xmm3,xmm0
    1622         vpxor   xmm2,xmm2,XMMWORD[rbp]
    1623         vaesdeclast     xmm4,xmm4,xmm0
    1624         vpxor   xmm3,xmm3,XMMWORD[16+rbp]
    1625         vpcmpgtd        xmm15,xmm14,xmm15
    1626         vaesdeclast     xmm5,xmm5,xmm0
    1627         vpxor   xmm4,xmm4,XMMWORD[32+rbp]
    1628         vaesdeclast     xmm6,xmm6,xmm0
    1629         vpxor   xmm5,xmm5,XMMWORD[48+rbp]
    1630         vpaddd  xmm14,xmm14,xmm15
    1631         vmovdqu xmm15,XMMWORD[((-120))+rsi]
    1632         vaesdeclast     xmm7,xmm7,xmm0
    1633         vpxor   xmm6,xmm6,XMMWORD[64+rbp]
    1634         vaesdeclast     xmm8,xmm8,xmm0
    1635         vpxor   xmm7,xmm7,XMMWORD[80+rbp]
    1636         vmovdqa XMMWORD[48+rsp],xmm14
    1637         vaesdeclast     xmm9,xmm9,xmm0
    1638         vpxor   xmm8,xmm8,XMMWORD[96+rbp]
    1639         vmovups xmm0,XMMWORD[((32-120))+rsi]
    1640 
    1641         vmovups XMMWORD[(-16)+r8],xmm2
    1642         sub     r8,rbx
    1643         vmovdqu xmm2,XMMWORD[((128+0))+rsp]
    1644         vpxor   xmm9,xmm9,XMMWORD[112+rbp]
    1645         vmovups XMMWORD[(-16)+r9],xmm3
    1646         sub     r9,QWORD[72+rsp]
    1647         vmovdqu XMMWORD[rbp],xmm2
    1648         vpxor   xmm2,xmm2,xmm15
    1649         vmovdqu xmm3,XMMWORD[((128+16))+rsp]
    1650         vmovups XMMWORD[(-16)+r10],xmm4
    1651         sub     r10,QWORD[80+rsp]
    1652         vmovdqu XMMWORD[16+rbp],xmm3
    1653         vpxor   xmm3,xmm3,xmm15
    1654         vmovdqu xmm4,XMMWORD[((128+32))+rsp]
    1655         vmovups XMMWORD[(-16)+r11],xmm5
    1656         sub     r11,QWORD[88+rsp]
    1657         vmovdqu XMMWORD[32+rbp],xmm4
    1658         vpxor   xmm4,xmm4,xmm15
    1659         vmovdqu xmm5,XMMWORD[((128+48))+rsp]
    1660         vmovups XMMWORD[(-16)+r12],xmm6
    1661         sub     r12,QWORD[96+rsp]
    1662         vmovdqu XMMWORD[48+rbp],xmm5
    1663         vpxor   xmm5,xmm5,xmm15
    1664         vmovdqu XMMWORD[64+rbp],xmm10
    1665         vpxor   xmm6,xmm15,xmm10
    1666         vmovups XMMWORD[(-16)+r13],xmm7
    1667         sub     r13,QWORD[104+rsp]
    1668         vmovdqu XMMWORD[80+rbp],xmm11
    1669         vpxor   xmm7,xmm15,xmm11
    1670         vmovups XMMWORD[(-16)+r14],xmm8
    1671         sub     r14,QWORD[112+rsp]
    1672         vmovdqu XMMWORD[96+rbp],xmm12
    1673         vpxor   xmm8,xmm15,xmm12
    1674         vmovups XMMWORD[(-16)+r15],xmm9
    1675         sub     r15,QWORD[120+rsp]
    1676         vmovdqu XMMWORD[112+rbp],xmm13
    1677         vpxor   xmm9,xmm15,xmm13
    1678 
    1679         xor     rbp,128
    1680         dec     edx
    1681         jnz     NEAR $L$oop_dec8x
    1682 
    1683         mov     rax,QWORD[16+rsp]
    1684 
    1685 
    1686 
    1687 
    1688 
    1689 
    1690 $L$dec8x_done:
    1691         vzeroupper
    1692         movaps  xmm6,XMMWORD[((-216))+rax]
    1693         movaps  xmm7,XMMWORD[((-200))+rax]
    1694         movaps  xmm8,XMMWORD[((-184))+rax]
    1695         movaps  xmm9,XMMWORD[((-168))+rax]
    1696         movaps  xmm10,XMMWORD[((-152))+rax]
    1697         movaps  xmm11,XMMWORD[((-136))+rax]
    1698         movaps  xmm12,XMMWORD[((-120))+rax]
    1699         movaps  xmm13,XMMWORD[((-104))+rax]
    1700         movaps  xmm14,XMMWORD[((-88))+rax]
    1701         movaps  xmm15,XMMWORD[((-72))+rax]
    1702         mov     r15,QWORD[((-48))+rax]
    1703 
    1704         mov     r14,QWORD[((-40))+rax]
    1705 
    1706         mov     r13,QWORD[((-32))+rax]
    1707 
    1708         mov     r12,QWORD[((-24))+rax]
    1709 
    1710         mov     rbp,QWORD[((-16))+rax]
    1711 
    1712         mov     rbx,QWORD[((-8))+rax]
    1713 
    1714         lea     rsp,[rax]
    1715 
    1716 $L$dec8x_epilogue:
    1717         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    1718         mov     rsi,QWORD[16+rsp]
    1719         DB      0F3h,0C3h               ;repret
    1720 
    1721 $L$SEH_end_aesni_multi_cbc_decrypt_avx:
    1722629EXTERN  __imp_RtlVirtualUnwind
    1723630
     
    1821728        DD      $L$SEH_end_aesni_multi_cbc_decrypt wrt ..imagebase
    1822729        DD      $L$SEH_info_aesni_multi_cbc_decrypt wrt ..imagebase
    1823         DD      $L$SEH_begin_aesni_multi_cbc_encrypt_avx wrt ..imagebase
    1824         DD      $L$SEH_end_aesni_multi_cbc_encrypt_avx wrt ..imagebase
    1825         DD      $L$SEH_info_aesni_multi_cbc_encrypt_avx wrt ..imagebase
    1826         DD      $L$SEH_begin_aesni_multi_cbc_decrypt_avx wrt ..imagebase
    1827         DD      $L$SEH_end_aesni_multi_cbc_decrypt_avx wrt ..imagebase
    1828         DD      $L$SEH_info_aesni_multi_cbc_decrypt_avx wrt ..imagebase
    1829730section .xdata rdata align=8
    1830731ALIGN   8
     
    1837738        DD      se_handler wrt ..imagebase
    1838739        DD      $L$dec4x_body wrt ..imagebase,$L$dec4x_epilogue wrt ..imagebase
    1839 $L$SEH_info_aesni_multi_cbc_encrypt_avx:
    1840 DB      9,0,0,0
    1841         DD      se_handler wrt ..imagebase
    1842         DD      $L$enc8x_body wrt ..imagebase,$L$enc8x_epilogue wrt ..imagebase
    1843 $L$SEH_info_aesni_multi_cbc_decrypt_avx:
    1844 DB      9,0,0,0
    1845         DD      se_handler wrt ..imagebase
    1846         DD      $L$dec8x_body wrt ..imagebase,$L$dec8x_epilogue wrt ..imagebase
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette