David Benjamin | fe0c91e | 2024-03-18 15:37:24 +1000 | [diff] [blame] | 1 | ; This file is generated from a similarly-named Perl script in the BoringSSL |
| 2 | ; source tree. Do not edit by hand. |
| 3 | |
| 4 | %ifdef BORINGSSL_PREFIX |
| 5 | %include "boringssl_prefix_symbols_nasm.inc" |
| 6 | %endif |
| 7 | %ifidn __OUTPUT_FORMAT__, win32 |
| 8 | %ifidn __OUTPUT_FORMAT__,obj |
| 9 | section code use32 class=code align=64 |
| 10 | %elifidn __OUTPUT_FORMAT__,win32 |
| 11 | $@feat.00 equ 1 |
| 12 | section .text code align=64 |
| 13 | %else |
| 14 | section .text code |
| 15 | %endif |
| 16 | global _abi_test_trampoline |
| 17 | align 16 |
| 18 | _abi_test_trampoline: |
| 19 | L$_abi_test_trampoline_begin: |
| 20 | push ebp |
| 21 | push ebx |
| 22 | push esi |
| 23 | push edi |
| 24 | mov ecx,DWORD [24+esp] |
| 25 | mov esi,DWORD [ecx] |
| 26 | mov edi,DWORD [4+ecx] |
| 27 | mov ebx,DWORD [8+ecx] |
| 28 | mov ebp,DWORD [12+ecx] |
| 29 | sub esp,44 |
| 30 | mov eax,DWORD [72+esp] |
| 31 | xor ecx,ecx |
| 32 | L$000loop: |
| 33 | cmp ecx,DWORD [76+esp] |
| 34 | jae NEAR L$001loop_done |
| 35 | mov edx,DWORD [ecx*4+eax] |
| 36 | mov DWORD [ecx*4+esp],edx |
| 37 | add ecx,1 |
| 38 | jmp NEAR L$000loop |
| 39 | L$001loop_done: |
| 40 | call DWORD [64+esp] |
| 41 | add esp,44 |
| 42 | mov ecx,DWORD [24+esp] |
| 43 | mov DWORD [ecx],esi |
| 44 | mov DWORD [4+ecx],edi |
| 45 | mov DWORD [8+ecx],ebx |
| 46 | mov DWORD [12+ecx],ebp |
| 47 | pop edi |
| 48 | pop esi |
| 49 | pop ebx |
| 50 | pop ebp |
| 51 | ret |
| 52 | global _abi_test_get_and_clear_direction_flag |
| 53 | align 16 |
| 54 | _abi_test_get_and_clear_direction_flag: |
| 55 | L$_abi_test_get_and_clear_direction_flag_begin: |
| 56 | pushfd |
| 57 | pop eax |
| 58 | and eax,1024 |
| 59 | shr eax,10 |
| 60 | cld |
| 61 | ret |
| 62 | global _abi_test_set_direction_flag |
| 63 | align 16 |
| 64 | _abi_test_set_direction_flag: |
| 65 | L$_abi_test_set_direction_flag_begin: |
| 66 | std |
| 67 | ret |
| 68 | global _abi_test_clobber_eax |
| 69 | align 16 |
| 70 | _abi_test_clobber_eax: |
| 71 | L$_abi_test_clobber_eax_begin: |
| 72 | xor eax,eax |
| 73 | ret |
| 74 | global _abi_test_clobber_ebx |
| 75 | align 16 |
| 76 | _abi_test_clobber_ebx: |
| 77 | L$_abi_test_clobber_ebx_begin: |
| 78 | xor ebx,ebx |
| 79 | ret |
| 80 | global _abi_test_clobber_ecx |
| 81 | align 16 |
| 82 | _abi_test_clobber_ecx: |
| 83 | L$_abi_test_clobber_ecx_begin: |
| 84 | xor ecx,ecx |
| 85 | ret |
| 86 | global _abi_test_clobber_edx |
| 87 | align 16 |
| 88 | _abi_test_clobber_edx: |
| 89 | L$_abi_test_clobber_edx_begin: |
| 90 | xor edx,edx |
| 91 | ret |
| 92 | global _abi_test_clobber_edi |
| 93 | align 16 |
| 94 | _abi_test_clobber_edi: |
| 95 | L$_abi_test_clobber_edi_begin: |
| 96 | xor edi,edi |
| 97 | ret |
| 98 | global _abi_test_clobber_esi |
| 99 | align 16 |
| 100 | _abi_test_clobber_esi: |
| 101 | L$_abi_test_clobber_esi_begin: |
| 102 | xor esi,esi |
| 103 | ret |
| 104 | global _abi_test_clobber_ebp |
| 105 | align 16 |
| 106 | _abi_test_clobber_ebp: |
| 107 | L$_abi_test_clobber_ebp_begin: |
| 108 | xor ebp,ebp |
| 109 | ret |
| 110 | global _abi_test_clobber_xmm0 |
| 111 | align 16 |
| 112 | _abi_test_clobber_xmm0: |
| 113 | L$_abi_test_clobber_xmm0_begin: |
| 114 | pxor xmm0,xmm0 |
| 115 | ret |
| 116 | global _abi_test_clobber_xmm1 |
| 117 | align 16 |
| 118 | _abi_test_clobber_xmm1: |
| 119 | L$_abi_test_clobber_xmm1_begin: |
| 120 | pxor xmm1,xmm1 |
| 121 | ret |
| 122 | global _abi_test_clobber_xmm2 |
| 123 | align 16 |
| 124 | _abi_test_clobber_xmm2: |
| 125 | L$_abi_test_clobber_xmm2_begin: |
| 126 | pxor xmm2,xmm2 |
| 127 | ret |
| 128 | global _abi_test_clobber_xmm3 |
| 129 | align 16 |
| 130 | _abi_test_clobber_xmm3: |
| 131 | L$_abi_test_clobber_xmm3_begin: |
| 132 | pxor xmm3,xmm3 |
| 133 | ret |
| 134 | global _abi_test_clobber_xmm4 |
| 135 | align 16 |
| 136 | _abi_test_clobber_xmm4: |
| 137 | L$_abi_test_clobber_xmm4_begin: |
| 138 | pxor xmm4,xmm4 |
| 139 | ret |
| 140 | global _abi_test_clobber_xmm5 |
| 141 | align 16 |
| 142 | _abi_test_clobber_xmm5: |
| 143 | L$_abi_test_clobber_xmm5_begin: |
| 144 | pxor xmm5,xmm5 |
| 145 | ret |
| 146 | global _abi_test_clobber_xmm6 |
| 147 | align 16 |
| 148 | _abi_test_clobber_xmm6: |
| 149 | L$_abi_test_clobber_xmm6_begin: |
| 150 | pxor xmm6,xmm6 |
| 151 | ret |
| 152 | global _abi_test_clobber_xmm7 |
| 153 | align 16 |
| 154 | _abi_test_clobber_xmm7: |
| 155 | L$_abi_test_clobber_xmm7_begin: |
| 156 | pxor xmm7,xmm7 |
| 157 | ret |
| 158 | %else |
| 159 | ; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738 |
| 160 | ret |
| 161 | %endif |