xref: /aosp_15_r20/external/cronet/third_party/boringssl/src/gen/test_support/trampoline-x86-linux.S (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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