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 9section code use32 class=code align=64 10%elifidn __OUTPUT_FORMAT__,win32 11$@feat.00 equ 1 12section .text code align=64 13%else 14section .text code 15%endif 16global _abi_test_trampoline 17align 16 18_abi_test_trampoline: 19L$_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 32L$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 39L$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 52global _abi_test_get_and_clear_direction_flag 53align 16 54_abi_test_get_and_clear_direction_flag: 55L$_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 62global _abi_test_set_direction_flag 63align 16 64_abi_test_set_direction_flag: 65L$_abi_test_set_direction_flag_begin: 66 std 67 ret 68global _abi_test_clobber_eax 69align 16 70_abi_test_clobber_eax: 71L$_abi_test_clobber_eax_begin: 72 xor eax,eax 73 ret 74global _abi_test_clobber_ebx 75align 16 76_abi_test_clobber_ebx: 77L$_abi_test_clobber_ebx_begin: 78 xor ebx,ebx 79 ret 80global _abi_test_clobber_ecx 81align 16 82_abi_test_clobber_ecx: 83L$_abi_test_clobber_ecx_begin: 84 xor ecx,ecx 85 ret 86global _abi_test_clobber_edx 87align 16 88_abi_test_clobber_edx: 89L$_abi_test_clobber_edx_begin: 90 xor edx,edx 91 ret 92global _abi_test_clobber_edi 93align 16 94_abi_test_clobber_edi: 95L$_abi_test_clobber_edi_begin: 96 xor edi,edi 97 ret 98global _abi_test_clobber_esi 99align 16 100_abi_test_clobber_esi: 101L$_abi_test_clobber_esi_begin: 102 xor esi,esi 103 ret 104global _abi_test_clobber_ebp 105align 16 106_abi_test_clobber_ebp: 107L$_abi_test_clobber_ebp_begin: 108 xor ebp,ebp 109 ret 110global _abi_test_clobber_xmm0 111align 16 112_abi_test_clobber_xmm0: 113L$_abi_test_clobber_xmm0_begin: 114 pxor xmm0,xmm0 115 ret 116global _abi_test_clobber_xmm1 117align 16 118_abi_test_clobber_xmm1: 119L$_abi_test_clobber_xmm1_begin: 120 pxor xmm1,xmm1 121 ret 122global _abi_test_clobber_xmm2 123align 16 124_abi_test_clobber_xmm2: 125L$_abi_test_clobber_xmm2_begin: 126 pxor xmm2,xmm2 127 ret 128global _abi_test_clobber_xmm3 129align 16 130_abi_test_clobber_xmm3: 131L$_abi_test_clobber_xmm3_begin: 132 pxor xmm3,xmm3 133 ret 134global _abi_test_clobber_xmm4 135align 16 136_abi_test_clobber_xmm4: 137L$_abi_test_clobber_xmm4_begin: 138 pxor xmm4,xmm4 139 ret 140global _abi_test_clobber_xmm5 141align 16 142_abi_test_clobber_xmm5: 143L$_abi_test_clobber_xmm5_begin: 144 pxor xmm5,xmm5 145 ret 146global _abi_test_clobber_xmm6 147align 16 148_abi_test_clobber_xmm6: 149L$_abi_test_clobber_xmm6_begin: 150 pxor xmm6,xmm6 151 ret 152global _abi_test_clobber_xmm7 153align 16 154_abi_test_clobber_xmm7: 155L$_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 160ret 161%endif 162