VirtualBox

Changeset 100978 in vbox


Ignore:
Timestamp:
Aug 25, 2023 3:30:02 PM (13 months ago)
Author:
vboxsync
Message:

openssl-3.1.0: wrong .S format. bugref:10418

Location:
trunk/src/libs/openssl-3.1.0/crypto/genasm-macosx
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/openssl-3.1.0/crypto/genasm-macosx/aes-gcm-avx512.S

    r100976 r100978  
    1 default rel
    2 %define XMMWORD
    3 %define YMMWORD
    4 %define ZMMWORD
    5 section .text code align=64
     1.text
     2.globl  ossl_vaes_vpclmulqdq_capable
     3.type   ossl_vaes_vpclmulqdq_capable,@function
     4ossl_vaes_vpclmulqdq_capable:
     5        xorl    %eax,%eax
     6        .byte   0xf3,0xc3
     7.size   ossl_vaes_vpclmulqdq_capable, .-ossl_vaes_vpclmulqdq_capable
    68
    7 global  ossl_vaes_vpclmulqdq_capable
     9.globl  ossl_aes_gcm_init_avx512
     10.globl  ossl_aes_gcm_setiv_avx512
     11.globl  ossl_aes_gcm_update_aad_avx512
     12.globl  ossl_aes_gcm_encrypt_avx512
     13.globl  ossl_aes_gcm_decrypt_avx512
     14.globl  ossl_aes_gcm_finalize_avx512
     15.globl  ossl_gcm_gmult_avx512
    816
    9 ossl_vaes_vpclmulqdq_capable:
    10         xor     eax,eax
    11         DB      0F3h,0C3h               ;repret
    12 
    13 
    14 global  ossl_aes_gcm_init_avx512
    15 global  ossl_aes_gcm_setiv_avx512
    16 global  ossl_aes_gcm_update_aad_avx512
    17 global  ossl_aes_gcm_encrypt_avx512
    18 global  ossl_aes_gcm_decrypt_avx512
    19 global  ossl_aes_gcm_finalize_avx512
    20 global  ossl_gcm_gmult_avx512
    21 
    22 
     17.type   ossl_aes_gcm_init_avx512,@function
    2318ossl_aes_gcm_init_avx512:
    2419ossl_aes_gcm_setiv_avx512:
     
    2823ossl_aes_gcm_finalize_avx512:
    2924ossl_gcm_gmult_avx512:
    30 DB      0x0f,0x0b
    31         DB      0F3h,0C3h               ;repret
    32 
     25.byte   0x0f,0x0b
     26        .byte   0xf3,0xc3
     27.size   ossl_aes_gcm_init_avx512, .-ossl_aes_gcm_init_avx512
     28        .section ".note.gnu.property", "a"
     29        .p2align 3
     30        .long 1f - 0f
     31        .long 4f - 1f
     32        .long 5
     330:
     34        # "GNU" encoded with .byte, since .asciz isn't supported
     35        # on Solaris.
     36        .byte 0x47
     37        .byte 0x4e
     38        .byte 0x55
     39        .byte 0
     401:
     41        .p2align 3
     42        .long 0xc0000002
     43        .long 3f - 2f
     442:
     45        .long 3
     463:
     47        .p2align 3
     484:
  • trunk/src/libs/openssl-3.1.0/crypto/genasm-macosx/poly1305-x86_64.S

    r100976 r100978  
    1 default rel
    2 %define XMMWORD
    3 %define YMMWORD
    4 %define ZMMWORD
    5 section .text code align=64
    6 
    7 
    8 EXTERN  OPENSSL_ia32cap_P
    9 
    10 global  poly1305_init
    11 
    12 global  poly1305_blocks
    13 
    14 global  poly1305_emit
    15 
    16 
    17 
    18 ALIGN   32
     1.text
     2
     3
     4
     5.globl  poly1305_init
     6.hidden poly1305_init
     7.globl  poly1305_blocks
     8.hidden poly1305_blocks
     9.globl  poly1305_emit
     10.hidden poly1305_emit
     11
     12.type   poly1305_init,@function
     13.align  32
    1914poly1305_init:
    20         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    21         mov     QWORD[16+rsp],rsi
    22         mov     rax,rsp
    23 $L$SEH_begin_poly1305_init:
    24         mov     rdi,rcx
    25         mov     rsi,rdx
    26         mov     rdx,r8
    27 
    28 
    29 
    30         xor     rax,rax
    31         mov     QWORD[rdi],rax
    32         mov     QWORD[8+rdi],rax
    33         mov     QWORD[16+rdi],rax
    34 
    35         cmp     rsi,0
    36         je      NEAR $L$no_key
    37 
    38         lea     r10,[poly1305_blocks]
    39         lea     r11,[poly1305_emit]
    40         mov     rax,0x0ffffffc0fffffff
    41         mov     rcx,0x0ffffffc0ffffffc
    42         and     rax,QWORD[rsi]
    43         and     rcx,QWORD[8+rsi]
    44         mov     QWORD[24+rdi],rax
    45         mov     QWORD[32+rdi],rcx
    46         mov     QWORD[rdx],r10
    47         mov     QWORD[8+rdx],r11
    48         mov     eax,1
    49 $L$no_key:
    50         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    51         mov     rsi,QWORD[16+rsp]
    52         DB      0F3h,0C3h               ;repret
    53 
    54 $L$SEH_end_poly1305_init:
    55 
    56 
    57 ALIGN   32
     15.cfi_startproc
     16        xorq    %rax,%rax
     17        movq    %rax,0(%rdi)
     18        movq    %rax,8(%rdi)
     19        movq    %rax,16(%rdi)
     20
     21        cmpq    $0,%rsi
     22        je      .Lno_key
     23
     24        leaq    poly1305_blocks(%rip),%r10
     25        leaq    poly1305_emit(%rip),%r11
     26        movq    $0x0ffffffc0fffffff,%rax
     27        movq    $0x0ffffffc0ffffffc,%rcx
     28        andq    0(%rsi),%rax
     29        andq    8(%rsi),%rcx
     30        movq    %rax,24(%rdi)
     31        movq    %rcx,32(%rdi)
     32        movq    %r10,0(%rdx)
     33        movq    %r11,8(%rdx)
     34        movl    $1,%eax
     35.Lno_key:
     36        .byte   0xf3,0xc3
     37.cfi_endproc
     38.size   poly1305_init,.-poly1305_init
     39
     40.type   poly1305_blocks,@function
     41.align  32
    5842poly1305_blocks:
    59         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    60         mov     QWORD[16+rsp],rsi
    61         mov     rax,rsp
    62 $L$SEH_begin_poly1305_blocks:
    63         mov     rdi,rcx
    64         mov     rsi,rdx
    65         mov     rdx,r8
    66         mov     rcx,r9
    67 
    68 
    69 
    70 $L$blocks:
    71         shr     rdx,4
    72         jz      NEAR $L$no_data
    73 
    74         push    rbx
    75 
    76         push    rbp
    77 
    78         push    r12
    79 
    80         push    r13
    81 
    82         push    r14
    83 
    84         push    r15
    85 
    86 $L$blocks_body:
    87 
    88         mov     r15,rdx
    89 
    90         mov     r11,QWORD[24+rdi]
    91         mov     r13,QWORD[32+rdi]
    92 
    93         mov     r14,QWORD[rdi]
    94         mov     rbx,QWORD[8+rdi]
    95         mov     rbp,QWORD[16+rdi]
    96 
    97         mov     r12,r13
    98         shr     r13,2
    99         mov     rax,r12
    100         add     r13,r12
    101         jmp     NEAR $L$oop
    102 
    103 ALIGN   32
    104 $L$oop:
    105         add     r14,QWORD[rsi]
    106         adc     rbx,QWORD[8+rsi]
    107         lea     rsi,[16+rsi]
    108         adc     rbp,rcx
    109         mul     r14
    110         mov     r9,rax
    111         mov     rax,r11
    112         mov     r10,rdx
    113 
    114         mul     r14
    115         mov     r14,rax
    116         mov     rax,r11
    117         mov     r8,rdx
    118 
    119         mul     rbx
    120         add     r9,rax
    121         mov     rax,r13
    122         adc     r10,rdx
    123 
    124         mul     rbx
    125         mov     rbx,rbp
    126         add     r14,rax
    127         adc     r8,rdx
    128 
    129         imul    rbx,r13
    130         add     r9,rbx
    131         mov     rbx,r8
    132         adc     r10,0
    133 
    134         imul    rbp,r11
    135         add     rbx,r9
    136         mov     rax,-4
    137         adc     r10,rbp
    138 
    139         and     rax,r10
    140         mov     rbp,r10
    141         shr     r10,2
    142         and     rbp,3
    143         add     rax,r10
    144         add     r14,rax
    145         adc     rbx,0
    146         adc     rbp,0
    147         mov     rax,r12
    148         dec     r15
    149         jnz     NEAR $L$oop
    150 
    151         mov     QWORD[rdi],r14
    152         mov     QWORD[8+rdi],rbx
    153         mov     QWORD[16+rdi],rbp
    154 
    155         mov     r15,QWORD[rsp]
    156 
    157         mov     r14,QWORD[8+rsp]
    158 
    159         mov     r13,QWORD[16+rsp]
    160 
    161         mov     r12,QWORD[24+rsp]
    162 
    163         mov     rbp,QWORD[32+rsp]
    164 
    165         mov     rbx,QWORD[40+rsp]
    166 
    167         lea     rsp,[48+rsp]
    168 
    169 $L$no_data:
    170 $L$blocks_epilogue:
    171         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    172         mov     rsi,QWORD[16+rsp]
    173         DB      0F3h,0C3h               ;repret
    174 
    175 $L$SEH_end_poly1305_blocks:
    176 
    177 
    178 ALIGN   32
     43.cfi_startproc
     44.Lblocks:
     45        shrq    $4,%rdx
     46        jz      .Lno_data
     47
     48        pushq   %rbx
     49.cfi_adjust_cfa_offset  8
     50.cfi_offset     %rbx,-16
     51        pushq   %rbp
     52.cfi_adjust_cfa_offset  8
     53.cfi_offset     %rbp,-24
     54        pushq   %r12
     55.cfi_adjust_cfa_offset  8
     56.cfi_offset     %r12,-32
     57        pushq   %r13
     58.cfi_adjust_cfa_offset  8
     59.cfi_offset     %r13,-40
     60        pushq   %r14
     61.cfi_adjust_cfa_offset  8
     62.cfi_offset     %r14,-48
     63        pushq   %r15
     64.cfi_adjust_cfa_offset  8
     65.cfi_offset     %r15,-56
     66.Lblocks_body:
     67
     68        movq    %rdx,%r15
     69
     70        movq    24(%rdi),%r11
     71        movq    32(%rdi),%r13
     72
     73        movq    0(%rdi),%r14
     74        movq    8(%rdi),%rbx
     75        movq    16(%rdi),%rbp
     76
     77        movq    %r13,%r12
     78        shrq    $2,%r13
     79        movq    %r12,%rax
     80        addq    %r12,%r13
     81        jmp     .Loop
     82
     83.align  32
     84.Loop:
     85        addq    0(%rsi),%r14
     86        adcq    8(%rsi),%rbx
     87        leaq    16(%rsi),%rsi
     88        adcq    %rcx,%rbp
     89        mulq    %r14
     90        movq    %rax,%r9
     91        movq    %r11,%rax
     92        movq    %rdx,%r10
     93
     94        mulq    %r14
     95        movq    %rax,%r14
     96        movq    %r11,%rax
     97        movq    %rdx,%r8
     98
     99        mulq    %rbx
     100        addq    %rax,%r9
     101        movq    %r13,%rax
     102        adcq    %rdx,%r10
     103
     104        mulq    %rbx
     105        movq    %rbp,%rbx
     106        addq    %rax,%r14
     107        adcq    %rdx,%r8
     108
     109        imulq   %r13,%rbx
     110        addq    %rbx,%r9
     111        movq    %r8,%rbx
     112        adcq    $0,%r10
     113
     114        imulq   %r11,%rbp
     115        addq    %r9,%rbx
     116        movq    $-4,%rax
     117        adcq    %rbp,%r10
     118
     119        andq    %r10,%rax
     120        movq    %r10,%rbp
     121        shrq    $2,%r10
     122        andq    $3,%rbp
     123        addq    %r10,%rax
     124        addq    %rax,%r14
     125        adcq    $0,%rbx
     126        adcq    $0,%rbp
     127        movq    %r12,%rax
     128        decq    %r15
     129        jnz     .Loop
     130
     131        movq    %r14,0(%rdi)
     132        movq    %rbx,8(%rdi)
     133        movq    %rbp,16(%rdi)
     134
     135        movq    0(%rsp),%r15
     136.cfi_restore    %r15
     137        movq    8(%rsp),%r14
     138.cfi_restore    %r14
     139        movq    16(%rsp),%r13
     140.cfi_restore    %r13
     141        movq    24(%rsp),%r12
     142.cfi_restore    %r12
     143        movq    32(%rsp),%rbp
     144.cfi_restore    %rbp
     145        movq    40(%rsp),%rbx
     146.cfi_restore    %rbx
     147        leaq    48(%rsp),%rsp
     148.cfi_adjust_cfa_offset  -48
     149.Lno_data:
     150.Lblocks_epilogue:
     151        .byte   0xf3,0xc3
     152.cfi_endproc
     153.size   poly1305_blocks,.-poly1305_blocks
     154
     155.type   poly1305_emit,@function
     156.align  32
    179157poly1305_emit:
    180         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    181         mov     QWORD[16+rsp],rsi
    182         mov     rax,rsp
    183 $L$SEH_begin_poly1305_emit:
    184         mov     rdi,rcx
    185         mov     rsi,rdx
    186         mov     rdx,r8
    187 
    188 
    189 
    190 $L$emit:
    191         mov     r8,QWORD[rdi]
    192         mov     r9,QWORD[8+rdi]
    193         mov     r10,QWORD[16+rdi]
    194 
    195         mov     rax,r8
    196         add     r8,5
    197         mov     rcx,r9
    198         adc     r9,0
    199         adc     r10,0
    200         shr     r10,2
    201         cmovnz  rax,r8
    202         cmovnz  rcx,r9
    203 
    204         add     rax,QWORD[rdx]
    205         adc     rcx,QWORD[8+rdx]
    206         mov     QWORD[rsi],rax
    207         mov     QWORD[8+rsi],rcx
    208 
    209         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    210         mov     rsi,QWORD[16+rsp]
    211         DB      0F3h,0C3h               ;repret
    212 
    213 $L$SEH_end_poly1305_emit:
    214 DB      80,111,108,121,49,51,48,53,32,102,111,114,32,120,56,54
    215 DB      95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32
    216 DB      98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115
    217 DB      108,46,111,114,103,62,0
    218 ALIGN   16
    219 global  xor128_encrypt_n_pad
    220 
    221 ALIGN   16
     158.cfi_startproc
     159.Lemit:
     160        movq    0(%rdi),%r8
     161        movq    8(%rdi),%r9
     162        movq    16(%rdi),%r10
     163
     164        movq    %r8,%rax
     165        addq    $5,%r8
     166        movq    %r9,%rcx
     167        adcq    $0,%r9
     168        adcq    $0,%r10
     169        shrq    $2,%r10
     170        cmovnzq %r8,%rax
     171        cmovnzq %r9,%rcx
     172
     173        addq    0(%rdx),%rax
     174        adcq    8(%rdx),%rcx
     175        movq    %rax,0(%rsi)
     176        movq    %rcx,8(%rsi)
     177
     178        .byte   0xf3,0xc3
     179.cfi_endproc
     180.size   poly1305_emit,.-poly1305_emit
     181.byte   80,111,108,121,49,51,48,53,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
     182.align  16
     183.globl  xor128_encrypt_n_pad
     184.type   xor128_encrypt_n_pad,@function
     185.align  16
    222186xor128_encrypt_n_pad:
    223 
    224         sub     rdx,r8
    225         sub     rcx,r8
    226         mov     r10,r9
    227         shr     r9,4
    228         jz      NEAR $L$tail_enc
    229         nop
    230 $L$oop_enc_xmm:
    231         movdqu  xmm0,XMMWORD[r8*1+rdx]
    232         pxor    xmm0,XMMWORD[r8]
    233         movdqu  XMMWORD[r8*1+rcx],xmm0
    234         movdqa  XMMWORD[r8],xmm0
    235         lea     r8,[16+r8]
    236         dec     r9
    237         jnz     NEAR $L$oop_enc_xmm
    238 
    239         and     r10,15
    240         jz      NEAR $L$done_enc
    241 
    242 $L$tail_enc:
    243         mov     r9,16
    244         sub     r9,r10
    245         xor     eax,eax
    246 $L$oop_enc_byte:
    247         mov     al,BYTE[r8*1+rdx]
    248         xor     al,BYTE[r8]
    249         mov     BYTE[r8*1+rcx],al
    250         mov     BYTE[r8],al
    251         lea     r8,[1+r8]
    252         dec     r10
    253         jnz     NEAR $L$oop_enc_byte
    254 
    255         xor     eax,eax
    256 $L$oop_enc_pad:
    257         mov     BYTE[r8],al
    258         lea     r8,[1+r8]
    259         dec     r9
    260         jnz     NEAR $L$oop_enc_pad
    261 
    262 $L$done_enc:
    263         mov     rax,r8
    264         DB      0F3h,0C3h               ;repret
    265 
    266 
    267 
    268 global  xor128_decrypt_n_pad
    269 
    270 ALIGN   16
     187.cfi_startproc
     188        subq    %rdx,%rsi
     189        subq    %rdx,%rdi
     190        movq    %rcx,%r10
     191        shrq    $4,%rcx
     192        jz      .Ltail_enc
     193        nop
     194.Loop_enc_xmm:
     195        movdqu  (%rsi,%rdx,1),%xmm0
     196        pxor    (%rdx),%xmm0
     197        movdqu  %xmm0,(%rdi,%rdx,1)
     198        movdqa  %xmm0,(%rdx)
     199        leaq    16(%rdx),%rdx
     200        decq    %rcx
     201        jnz     .Loop_enc_xmm
     202
     203        andq    $15,%r10
     204        jz      .Ldone_enc
     205
     206.Ltail_enc:
     207        movq    $16,%rcx
     208        subq    %r10,%rcx
     209        xorl    %eax,%eax
     210.Loop_enc_byte:
     211        movb    (%rsi,%rdx,1),%al
     212        xorb    (%rdx),%al
     213        movb    %al,(%rdi,%rdx,1)
     214        movb    %al,(%rdx)
     215        leaq    1(%rdx),%rdx
     216        decq    %r10
     217        jnz     .Loop_enc_byte
     218
     219        xorl    %eax,%eax
     220.Loop_enc_pad:
     221        movb    %al,(%rdx)
     222        leaq    1(%rdx),%rdx
     223        decq    %rcx
     224        jnz     .Loop_enc_pad
     225
     226.Ldone_enc:
     227        movq    %rdx,%rax
     228        .byte   0xf3,0xc3
     229.cfi_endproc
     230.size   xor128_encrypt_n_pad,.-xor128_encrypt_n_pad
     231
     232.globl  xor128_decrypt_n_pad
     233.type   xor128_decrypt_n_pad,@function
     234.align  16
    271235xor128_decrypt_n_pad:
    272 
    273         sub     rdx,r8
    274         sub     rcx,r8
    275         mov     r10,r9
    276         shr     r9,4
    277         jz      NEAR $L$tail_dec
    278         nop
    279 $L$oop_dec_xmm:
    280         movdqu  xmm0,XMMWORD[r8*1+rdx]
    281         movdqa  xmm1,XMMWORD[r8]
    282         pxor    xmm1,xmm0
    283         movdqu  XMMWORD[r8*1+rcx],xmm1
    284         movdqa  XMMWORD[r8],xmm0
    285         lea     r8,[16+r8]
    286         dec     r9
    287         jnz     NEAR $L$oop_dec_xmm
    288 
    289         pxor    xmm1,xmm1
    290         and     r10,15
    291         jz      NEAR $L$done_dec
    292 
    293 $L$tail_dec:
    294         mov     r9,16
    295         sub     r9,r10
    296         xor     eax,eax
    297         xor     r11,r11
    298 $L$oop_dec_byte:
    299         mov     r11b,BYTE[r8*1+rdx]
    300         mov     al,BYTE[r8]
    301         xor     al,r11b
    302         mov     BYTE[r8*1+rcx],al
    303         mov     BYTE[r8],r11b
    304         lea     r8,[1+r8]
    305         dec     r10
    306         jnz     NEAR $L$oop_dec_byte
    307 
    308         xor     eax,eax
    309 $L$oop_dec_pad:
    310         mov     BYTE[r8],al
    311         lea     r8,[1+r8]
    312         dec     r9
    313         jnz     NEAR $L$oop_dec_pad
    314 
    315 $L$done_dec:
    316         mov     rax,r8
    317         DB      0F3h,0C3h               ;repret
    318 
    319 
    320 EXTERN  __imp_RtlVirtualUnwind
    321 
    322 ALIGN   16
    323 se_handler:
    324         push    rsi
    325         push    rdi
    326         push    rbx
    327         push    rbp
    328         push    r12
    329         push    r13
    330         push    r14
    331         push    r15
    332         pushfq
    333         sub     rsp,64
    334 
    335         mov     rax,QWORD[120+r8]
    336         mov     rbx,QWORD[248+r8]
    337 
    338         mov     rsi,QWORD[8+r9]
    339         mov     r11,QWORD[56+r9]
    340 
    341         mov     r10d,DWORD[r11]
    342         lea     r10,[r10*1+rsi]
    343         cmp     rbx,r10
    344         jb      NEAR $L$common_seh_tail
    345 
    346         mov     rax,QWORD[152+r8]
    347 
    348         mov     r10d,DWORD[4+r11]
    349         lea     r10,[r10*1+rsi]
    350         cmp     rbx,r10
    351         jae     NEAR $L$common_seh_tail
    352 
    353         lea     rax,[48+rax]
    354 
    355         mov     rbx,QWORD[((-8))+rax]
    356         mov     rbp,QWORD[((-16))+rax]
    357         mov     r12,QWORD[((-24))+rax]
    358         mov     r13,QWORD[((-32))+rax]
    359         mov     r14,QWORD[((-40))+rax]
    360         mov     r15,QWORD[((-48))+rax]
    361         mov     QWORD[144+r8],rbx
    362         mov     QWORD[160+r8],rbp
    363         mov     QWORD[216+r8],r12
    364         mov     QWORD[224+r8],r13
    365         mov     QWORD[232+r8],r14
    366         mov     QWORD[240+r8],r15
    367 
    368         jmp     NEAR $L$common_seh_tail
    369 
    370 
    371 
    372 ALIGN   16
    373 avx_handler:
    374         push    rsi
    375         push    rdi
    376         push    rbx
    377         push    rbp
    378         push    r12
    379         push    r13
    380         push    r14
    381         push    r15
    382         pushfq
    383         sub     rsp,64
    384 
    385         mov     rax,QWORD[120+r8]
    386         mov     rbx,QWORD[248+r8]
    387 
    388         mov     rsi,QWORD[8+r9]
    389         mov     r11,QWORD[56+r9]
    390 
    391         mov     r10d,DWORD[r11]
    392         lea     r10,[r10*1+rsi]
    393         cmp     rbx,r10
    394         jb      NEAR $L$common_seh_tail
    395 
    396         mov     rax,QWORD[152+r8]
    397 
    398         mov     r10d,DWORD[4+r11]
    399         lea     r10,[r10*1+rsi]
    400         cmp     rbx,r10
    401         jae     NEAR $L$common_seh_tail
    402 
    403         mov     rax,QWORD[208+r8]
    404 
    405         lea     rsi,[80+rax]
    406         lea     rax,[248+rax]
    407         lea     rdi,[512+r8]
    408         mov     ecx,20
    409         DD      0xa548f3fc
    410 
    411 $L$common_seh_tail:
    412         mov     rdi,QWORD[8+rax]
    413         mov     rsi,QWORD[16+rax]
    414         mov     QWORD[152+r8],rax
    415         mov     QWORD[168+r8],rsi
    416         mov     QWORD[176+r8],rdi
    417 
    418         mov     rdi,QWORD[40+r9]
    419         mov     rsi,r8
    420         mov     ecx,154
    421         DD      0xa548f3fc
    422 
    423         mov     rsi,r9
    424         xor     rcx,rcx
    425         mov     rdx,QWORD[8+rsi]
    426         mov     r8,QWORD[rsi]
    427         mov     r9,QWORD[16+rsi]
    428         mov     r10,QWORD[40+rsi]
    429         lea     r11,[56+rsi]
    430         lea     r12,[24+rsi]
    431         mov     QWORD[32+rsp],r10
    432         mov     QWORD[40+rsp],r11
    433         mov     QWORD[48+rsp],r12
    434         mov     QWORD[56+rsp],rcx
    435         call    QWORD[__imp_RtlVirtualUnwind]
    436 
    437         mov     eax,1
    438         add     rsp,64
    439         popfq
    440         pop     r15
    441         pop     r14
    442         pop     r13
    443         pop     r12
    444         pop     rbp
    445         pop     rbx
    446         pop     rdi
    447         pop     rsi
    448         DB      0F3h,0C3h               ;repret
    449 
    450 
    451 section .pdata rdata align=4
    452 ALIGN   4
    453         DD      $L$SEH_begin_poly1305_init wrt ..imagebase
    454         DD      $L$SEH_end_poly1305_init wrt ..imagebase
    455         DD      $L$SEH_info_poly1305_init wrt ..imagebase
    456 
    457         DD      $L$SEH_begin_poly1305_blocks wrt ..imagebase
    458         DD      $L$SEH_end_poly1305_blocks wrt ..imagebase
    459         DD      $L$SEH_info_poly1305_blocks wrt ..imagebase
    460 
    461         DD      $L$SEH_begin_poly1305_emit wrt ..imagebase
    462         DD      $L$SEH_end_poly1305_emit wrt ..imagebase
    463         DD      $L$SEH_info_poly1305_emit wrt ..imagebase
    464 section .xdata rdata align=8
    465 ALIGN   8
    466 $L$SEH_info_poly1305_init:
    467 DB      9,0,0,0
    468         DD      se_handler wrt ..imagebase
    469         DD      $L$SEH_begin_poly1305_init wrt ..imagebase,$L$SEH_begin_poly1305_init wrt ..imagebase
    470 
    471 $L$SEH_info_poly1305_blocks:
    472 DB      9,0,0,0
    473         DD      se_handler wrt ..imagebase
    474         DD      $L$blocks_body wrt ..imagebase,$L$blocks_epilogue wrt ..imagebase
    475 
    476 $L$SEH_info_poly1305_emit:
    477 DB      9,0,0,0
    478         DD      se_handler wrt ..imagebase
    479         DD      $L$SEH_begin_poly1305_emit wrt ..imagebase,$L$SEH_begin_poly1305_emit wrt ..imagebase
     236.cfi_startproc
     237        subq    %rdx,%rsi
     238        subq    %rdx,%rdi
     239        movq    %rcx,%r10
     240        shrq    $4,%rcx
     241        jz      .Ltail_dec
     242        nop
     243.Loop_dec_xmm:
     244        movdqu  (%rsi,%rdx,1),%xmm0
     245        movdqa  (%rdx),%xmm1
     246        pxor    %xmm0,%xmm1
     247        movdqu  %xmm1,(%rdi,%rdx,1)
     248        movdqa  %xmm0,(%rdx)
     249        leaq    16(%rdx),%rdx
     250        decq    %rcx
     251        jnz     .Loop_dec_xmm
     252
     253        pxor    %xmm1,%xmm1
     254        andq    $15,%r10
     255        jz      .Ldone_dec
     256
     257.Ltail_dec:
     258        movq    $16,%rcx
     259        subq    %r10,%rcx
     260        xorl    %eax,%eax
     261        xorq    %r11,%r11
     262.Loop_dec_byte:
     263        movb    (%rsi,%rdx,1),%r11b
     264        movb    (%rdx),%al
     265        xorb    %r11b,%al
     266        movb    %al,(%rdi,%rdx,1)
     267        movb    %r11b,(%rdx)
     268        leaq    1(%rdx),%rdx
     269        decq    %r10
     270        jnz     .Loop_dec_byte
     271
     272        xorl    %eax,%eax
     273.Loop_dec_pad:
     274        movb    %al,(%rdx)
     275        leaq    1(%rdx),%rdx
     276        decq    %rcx
     277        jnz     .Loop_dec_pad
     278
     279.Ldone_dec:
     280        movq    %rdx,%rax
     281        .byte   0xf3,0xc3
     282.cfi_endproc
     283.size   xor128_decrypt_n_pad,.-xor128_decrypt_n_pad
     284        .section ".note.gnu.property", "a"
     285        .p2align 3
     286        .long 1f - 0f
     287        .long 4f - 1f
     288        .long 5
     2890:
     290        # "GNU" encoded with .byte, since .asciz isn't supported
     291        # on Solaris.
     292        .byte 0x47
     293        .byte 0x4e
     294        .byte 0x55
     295        .byte 0
     2961:
     297        .p2align 3
     298        .long 0xc0000002
     299        .long 3f - 2f
     3002:
     301        .long 3
     3023:
     303        .p2align 3
     3044:
  • trunk/src/libs/openssl-3.1.0/crypto/genasm-macosx/rsaz-2k-avx512.S

    r100976 r100978  
    1 default rel
    2 %define XMMWORD
    3 %define YMMWORD
    4 %define ZMMWORD
    5 section .text code align=64
     1.text
    62
     3.globl  ossl_rsaz_avx512ifma_eligible
     4.type   ossl_rsaz_avx512ifma_eligible,@function
     5ossl_rsaz_avx512ifma_eligible:
     6        xorl    %eax,%eax
     7        .byte   0xf3,0xc3
     8.size   ossl_rsaz_avx512ifma_eligible, .-ossl_rsaz_avx512ifma_eligible
    79
    8 global  ossl_rsaz_avx512ifma_eligible
    9 
    10 ossl_rsaz_avx512ifma_eligible:
    11         xor     eax,eax
    12         DB      0F3h,0C3h               ;repret
    13 
    14 
    15 global  ossl_rsaz_amm52x20_x1_ifma256
    16 global  ossl_rsaz_amm52x20_x2_ifma256
    17 global  ossl_extract_multiplier_2x20_win5
    18 
     10.globl  ossl_rsaz_amm52x20_x1_ifma256
     11.globl  ossl_rsaz_amm52x20_x2_ifma256
     12.globl  ossl_extract_multiplier_2x20_win5
     13.type   ossl_rsaz_amm52x20_x1_ifma256,@function
    1914ossl_rsaz_amm52x20_x1_ifma256:
    2015ossl_rsaz_amm52x20_x2_ifma256:
    2116ossl_extract_multiplier_2x20_win5:
    22 DB      0x0f,0x0b
    23         DB      0F3h,0C3h               ;repret
    24 
     17.byte   0x0f,0x0b
     18        .byte   0xf3,0xc3
     19.size   ossl_rsaz_amm52x20_x1_ifma256, .-ossl_rsaz_amm52x20_x1_ifma256
     20        .section ".note.gnu.property", "a"
     21        .p2align 3
     22        .long 1f - 0f
     23        .long 4f - 1f
     24        .long 5
     250:
     26        # "GNU" encoded with .byte, since .asciz isn't supported
     27        # on Solaris.
     28        .byte 0x47
     29        .byte 0x4e
     30        .byte 0x55
     31        .byte 0
     321:
     33        .p2align 3
     34        .long 0xc0000002
     35        .long 3f - 2f
     362:
     37        .long 3
     383:
     39        .p2align 3
     404:
  • trunk/src/libs/openssl-3.1.0/crypto/genasm-macosx/rsaz-3k-avx512.S

    r100976 r100978  
    1 default rel
    2 %define XMMWORD
    3 %define YMMWORD
    4 %define ZMMWORD
    5 section .text code align=64
     1.text
    62
    7 
    8 global  ossl_rsaz_amm52x30_x1_ifma256
    9 global  ossl_rsaz_amm52x30_x2_ifma256
    10 global  ossl_extract_multiplier_2x30_win5
    11 
     3.globl  ossl_rsaz_amm52x30_x1_ifma256
     4.globl  ossl_rsaz_amm52x30_x2_ifma256
     5.globl  ossl_extract_multiplier_2x30_win5
     6.type   ossl_rsaz_amm52x30_x1_ifma256,@function
    127ossl_rsaz_amm52x30_x1_ifma256:
    138ossl_rsaz_amm52x30_x2_ifma256:
    149ossl_extract_multiplier_2x30_win5:
    15 DB      0x0f,0x0b
    16         DB      0F3h,0C3h               ;repret
    17 
     10.byte   0x0f,0x0b
     11        .byte   0xf3,0xc3
     12.size   ossl_rsaz_amm52x30_x1_ifma256, .-ossl_rsaz_amm52x30_x1_ifma256
     13        .section ".note.gnu.property", "a"
     14        .p2align 3
     15        .long 1f - 0f
     16        .long 4f - 1f
     17        .long 5
     180:
     19        # "GNU" encoded with .byte, since .asciz isn't supported
     20        # on Solaris.
     21        .byte 0x47
     22        .byte 0x4e
     23        .byte 0x55
     24        .byte 0
     251:
     26        .p2align 3
     27        .long 0xc0000002
     28        .long 3f - 2f
     292:
     30        .long 3
     313:
     32        .p2align 3
     334:
  • trunk/src/libs/openssl-3.1.0/crypto/genasm-macosx/rsaz-4k-avx512.S

    r100976 r100978  
    1 default rel
    2 %define XMMWORD
    3 %define YMMWORD
    4 %define ZMMWORD
    5 section .text code align=64
     1.text
    62
    7 
    8 global  ossl_rsaz_amm52x40_x1_ifma256
    9 global  ossl_rsaz_amm52x40_x2_ifma256
    10 global  ossl_extract_multiplier_2x40_win5
    11 
     3.globl  ossl_rsaz_amm52x40_x1_ifma256
     4.globl  ossl_rsaz_amm52x40_x2_ifma256
     5.globl  ossl_extract_multiplier_2x40_win5
     6.type   ossl_rsaz_amm52x40_x1_ifma256,@function
    127ossl_rsaz_amm52x40_x1_ifma256:
    138ossl_rsaz_amm52x40_x2_ifma256:
    149ossl_extract_multiplier_2x40_win5:
    15 DB      0x0f,0x0b
    16         DB      0F3h,0C3h               ;repret
    17 
     10.byte   0x0f,0x0b
     11        .byte   0xf3,0xc3
     12.size   ossl_rsaz_amm52x40_x1_ifma256, .-ossl_rsaz_amm52x40_x1_ifma256
     13        .section ".note.gnu.property", "a"
     14        .p2align 3
     15        .long 1f - 0f
     16        .long 4f - 1f
     17        .long 5
     180:
     19        # "GNU" encoded with .byte, since .asciz isn't supported
     20        # on Solaris.
     21        .byte 0x47
     22        .byte 0x4e
     23        .byte 0x55
     24        .byte 0
     251:
     26        .p2align 3
     27        .long 0xc0000002
     28        .long 3f - 2f
     292:
     30        .long 3
     313:
     32        .p2align 3
     334:
  • trunk/src/libs/openssl-3.1.0/crypto/genasm-macosx/rsaz-avx512.S

    r100977 r100978  
    1 default rel
    2 %define XMMWORD
    3 %define YMMWORD
    4 %define ZMMWORD
    5 section .text code align=64
     1.text   
    62
     3.globl  ossl_rsaz_avx512ifma_eligible
     4.type   ossl_rsaz_avx512ifma_eligible,@function
     5ossl_rsaz_avx512ifma_eligible:
     6        xorl    %eax,%eax
     7        .byte   0xf3,0xc3
     8.size   ossl_rsaz_avx512ifma_eligible, .-ossl_rsaz_avx512ifma_eligible
    79
    8 global  ossl_rsaz_avx512ifma_eligible
    9 
    10 ossl_rsaz_avx512ifma_eligible:
    11         xor     eax,eax
    12         DB      0F3h,0C3h               ;repret
    13 
    14 
    15 global  ossl_rsaz_amm52x20_x1_256
    16 global  ossl_rsaz_amm52x20_x2_256
    17 global  ossl_extract_multiplier_2x20_win5
    18 
     10.globl  ossl_rsaz_amm52x20_x1_256
     11.globl  ossl_rsaz_amm52x20_x2_256
     12.globl  ossl_extract_multiplier_2x20_win5
     13.type   ossl_rsaz_amm52x20_x1_256,@function
    1914ossl_rsaz_amm52x20_x1_256:
    2015ossl_rsaz_amm52x20_x2_256:
    2116ossl_extract_multiplier_2x20_win5:
    22 DB      0x0f,0x0b
    23         DB      0F3h,0C3h               ;repret
    24 
     17.byte   0x0f,0x0b
     18        .byte   0xf3,0xc3
     19.size   ossl_rsaz_amm52x20_x1_256, .-ossl_rsaz_amm52x20_x1_256
     20        .section ".note.gnu.property", "a"
     21        .p2align 3
     22        .long 1f - 0f
     23        .long 4f - 1f
     24        .long 5
     250:
     26        # "GNU" encoded with .byte, since .asciz isn't supported
     27        # on Solaris.
     28        .byte 0x47
     29        .byte 0x4e
     30        .byte 0x55
     31        .byte 0
     321:
     33        .p2align 3
     34        .long 0xc0000002
     35        .long 3f - 2f
     362:
     37        .long 3
     383:
     39        .p2align 3
     404:
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