1// This file is generated from a similarly-named Perl script in the BoringSSL 2// source tree. Do not edit by hand. 3 4#include <openssl/asm_base.h> 5 6#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__ELF__) 7.text 8.globl abi_test_trampoline 9.hidden abi_test_trampoline 10.type abi_test_trampoline,@function 11.align 16 12abi_test_trampoline: 13.L_abi_test_trampoline_begin: 14 pushl %ebp 15 pushl %ebx 16 pushl %esi 17 pushl %edi 18 movl 24(%esp),%ecx 19 movl (%ecx),%esi 20 movl 4(%ecx),%edi 21 movl 8(%ecx),%ebx 22 movl 12(%ecx),%ebp 23 subl $44,%esp 24 movl 72(%esp),%eax 25 xorl %ecx,%ecx 26.L000loop: 27 cmpl 76(%esp),%ecx 28 jae .L001loop_done 29 movl (%eax,%ecx,4),%edx 30 movl %edx,(%esp,%ecx,4) 31 addl $1,%ecx 32 jmp .L000loop 33.L001loop_done: 34 call *64(%esp) 35 addl $44,%esp 36 movl 24(%esp),%ecx 37 movl %esi,(%ecx) 38 movl %edi,4(%ecx) 39 movl %ebx,8(%ecx) 40 movl %ebp,12(%ecx) 41 popl %edi 42 popl %esi 43 popl %ebx 44 popl %ebp 45 ret 46.size abi_test_trampoline,.-.L_abi_test_trampoline_begin 47.globl abi_test_get_and_clear_direction_flag 48.hidden abi_test_get_and_clear_direction_flag 49.type abi_test_get_and_clear_direction_flag,@function 50.align 16 51abi_test_get_and_clear_direction_flag: 52.L_abi_test_get_and_clear_direction_flag_begin: 53 pushfl 54 popl %eax 55 andl $1024,%eax 56 shrl $10,%eax 57 cld 58 ret 59.size abi_test_get_and_clear_direction_flag,.-.L_abi_test_get_and_clear_direction_flag_begin 60.globl abi_test_set_direction_flag 61.hidden abi_test_set_direction_flag 62.type abi_test_set_direction_flag,@function 63.align 16 64abi_test_set_direction_flag: 65.L_abi_test_set_direction_flag_begin: 66 std 67 ret 68.size abi_test_set_direction_flag,.-.L_abi_test_set_direction_flag_begin 69.globl abi_test_clobber_eax 70.hidden abi_test_clobber_eax 71.type abi_test_clobber_eax,@function 72.align 16 73abi_test_clobber_eax: 74.L_abi_test_clobber_eax_begin: 75 xorl %eax,%eax 76 ret 77.size abi_test_clobber_eax,.-.L_abi_test_clobber_eax_begin 78.globl abi_test_clobber_ebx 79.hidden abi_test_clobber_ebx 80.type abi_test_clobber_ebx,@function 81.align 16 82abi_test_clobber_ebx: 83.L_abi_test_clobber_ebx_begin: 84 xorl %ebx,%ebx 85 ret 86.size abi_test_clobber_ebx,.-.L_abi_test_clobber_ebx_begin 87.globl abi_test_clobber_ecx 88.hidden abi_test_clobber_ecx 89.type abi_test_clobber_ecx,@function 90.align 16 91abi_test_clobber_ecx: 92.L_abi_test_clobber_ecx_begin: 93 xorl %ecx,%ecx 94 ret 95.size abi_test_clobber_ecx,.-.L_abi_test_clobber_ecx_begin 96.globl abi_test_clobber_edx 97.hidden abi_test_clobber_edx 98.type abi_test_clobber_edx,@function 99.align 16 100abi_test_clobber_edx: 101.L_abi_test_clobber_edx_begin: 102 xorl %edx,%edx 103 ret 104.size abi_test_clobber_edx,.-.L_abi_test_clobber_edx_begin 105.globl abi_test_clobber_edi 106.hidden abi_test_clobber_edi 107.type abi_test_clobber_edi,@function 108.align 16 109abi_test_clobber_edi: 110.L_abi_test_clobber_edi_begin: 111 xorl %edi,%edi 112 ret 113.size abi_test_clobber_edi,.-.L_abi_test_clobber_edi_begin 114.globl abi_test_clobber_esi 115.hidden abi_test_clobber_esi 116.type abi_test_clobber_esi,@function 117.align 16 118abi_test_clobber_esi: 119.L_abi_test_clobber_esi_begin: 120 xorl %esi,%esi 121 ret 122.size abi_test_clobber_esi,.-.L_abi_test_clobber_esi_begin 123.globl abi_test_clobber_ebp 124.hidden abi_test_clobber_ebp 125.type abi_test_clobber_ebp,@function 126.align 16 127abi_test_clobber_ebp: 128.L_abi_test_clobber_ebp_begin: 129 xorl %ebp,%ebp 130 ret 131.size abi_test_clobber_ebp,.-.L_abi_test_clobber_ebp_begin 132.globl abi_test_clobber_xmm0 133.hidden abi_test_clobber_xmm0 134.type abi_test_clobber_xmm0,@function 135.align 16 136abi_test_clobber_xmm0: 137.L_abi_test_clobber_xmm0_begin: 138 pxor %xmm0,%xmm0 139 ret 140.size abi_test_clobber_xmm0,.-.L_abi_test_clobber_xmm0_begin 141.globl abi_test_clobber_xmm1 142.hidden abi_test_clobber_xmm1 143.type abi_test_clobber_xmm1,@function 144.align 16 145abi_test_clobber_xmm1: 146.L_abi_test_clobber_xmm1_begin: 147 pxor %xmm1,%xmm1 148 ret 149.size abi_test_clobber_xmm1,.-.L_abi_test_clobber_xmm1_begin 150.globl abi_test_clobber_xmm2 151.hidden abi_test_clobber_xmm2 152.type abi_test_clobber_xmm2,@function 153.align 16 154abi_test_clobber_xmm2: 155.L_abi_test_clobber_xmm2_begin: 156 pxor %xmm2,%xmm2 157 ret 158.size abi_test_clobber_xmm2,.-.L_abi_test_clobber_xmm2_begin 159.globl abi_test_clobber_xmm3 160.hidden abi_test_clobber_xmm3 161.type abi_test_clobber_xmm3,@function 162.align 16 163abi_test_clobber_xmm3: 164.L_abi_test_clobber_xmm3_begin: 165 pxor %xmm3,%xmm3 166 ret 167.size abi_test_clobber_xmm3,.-.L_abi_test_clobber_xmm3_begin 168.globl abi_test_clobber_xmm4 169.hidden abi_test_clobber_xmm4 170.type abi_test_clobber_xmm4,@function 171.align 16 172abi_test_clobber_xmm4: 173.L_abi_test_clobber_xmm4_begin: 174 pxor %xmm4,%xmm4 175 ret 176.size abi_test_clobber_xmm4,.-.L_abi_test_clobber_xmm4_begin 177.globl abi_test_clobber_xmm5 178.hidden abi_test_clobber_xmm5 179.type abi_test_clobber_xmm5,@function 180.align 16 181abi_test_clobber_xmm5: 182.L_abi_test_clobber_xmm5_begin: 183 pxor %xmm5,%xmm5 184 ret 185.size abi_test_clobber_xmm5,.-.L_abi_test_clobber_xmm5_begin 186.globl abi_test_clobber_xmm6 187.hidden abi_test_clobber_xmm6 188.type abi_test_clobber_xmm6,@function 189.align 16 190abi_test_clobber_xmm6: 191.L_abi_test_clobber_xmm6_begin: 192 pxor %xmm6,%xmm6 193 ret 194.size abi_test_clobber_xmm6,.-.L_abi_test_clobber_xmm6_begin 195.globl abi_test_clobber_xmm7 196.hidden abi_test_clobber_xmm7 197.type abi_test_clobber_xmm7,@function 198.align 16 199abi_test_clobber_xmm7: 200.L_abi_test_clobber_xmm7_begin: 201 pxor %xmm7,%xmm7 202 ret 203.size abi_test_clobber_xmm7,.-.L_abi_test_clobber_xmm7_begin 204#endif // !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__ELF__) 205