• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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__,obj
8section	code	use32 class=code align=64
9%elifidn __OUTPUT_FORMAT__,win32
10%ifdef __YASM_VERSION_ID__
11%if __YASM_VERSION_ID__ < 01010000h
12%error yasm version 1.1.0 or later needed.
13%endif
14; Yasm automatically includes .00 and complains about redefining it.
15; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
16%else
17$@feat.00 equ 1
18%endif
19section	.text	code align=64
20%else
21section	.text	code
22%endif
23global	_abi_test_trampoline
24align	16
25_abi_test_trampoline:
26L$_abi_test_trampoline_begin:
27	push	ebp
28	push	ebx
29	push	esi
30	push	edi
31	mov	ecx,DWORD [24+esp]
32	mov	esi,DWORD [ecx]
33	mov	edi,DWORD [4+ecx]
34	mov	ebx,DWORD [8+ecx]
35	mov	ebp,DWORD [12+ecx]
36	sub	esp,44
37	mov	eax,DWORD [72+esp]
38	xor	ecx,ecx
39L$000loop:
40	cmp	ecx,DWORD [76+esp]
41	jae	NEAR L$001loop_done
42	mov	edx,DWORD [ecx*4+eax]
43	mov	DWORD [ecx*4+esp],edx
44	add	ecx,1
45	jmp	NEAR L$000loop
46L$001loop_done:
47	call	DWORD [64+esp]
48	add	esp,44
49	mov	ecx,DWORD [24+esp]
50	mov	DWORD [ecx],esi
51	mov	DWORD [4+ecx],edi
52	mov	DWORD [8+ecx],ebx
53	mov	DWORD [12+ecx],ebp
54	pop	edi
55	pop	esi
56	pop	ebx
57	pop	ebp
58	ret
59global	_abi_test_get_and_clear_direction_flag
60align	16
61_abi_test_get_and_clear_direction_flag:
62L$_abi_test_get_and_clear_direction_flag_begin:
63	pushfd
64	pop	eax
65	and	eax,1024
66	shr	eax,10
67	cld
68	ret
69global	_abi_test_set_direction_flag
70align	16
71_abi_test_set_direction_flag:
72L$_abi_test_set_direction_flag_begin:
73	std
74	ret
75global	_abi_test_clobber_eax
76align	16
77_abi_test_clobber_eax:
78L$_abi_test_clobber_eax_begin:
79	xor	eax,eax
80	ret
81global	_abi_test_clobber_ebx
82align	16
83_abi_test_clobber_ebx:
84L$_abi_test_clobber_ebx_begin:
85	xor	ebx,ebx
86	ret
87global	_abi_test_clobber_ecx
88align	16
89_abi_test_clobber_ecx:
90L$_abi_test_clobber_ecx_begin:
91	xor	ecx,ecx
92	ret
93global	_abi_test_clobber_edx
94align	16
95_abi_test_clobber_edx:
96L$_abi_test_clobber_edx_begin:
97	xor	edx,edx
98	ret
99global	_abi_test_clobber_edi
100align	16
101_abi_test_clobber_edi:
102L$_abi_test_clobber_edi_begin:
103	xor	edi,edi
104	ret
105global	_abi_test_clobber_esi
106align	16
107_abi_test_clobber_esi:
108L$_abi_test_clobber_esi_begin:
109	xor	esi,esi
110	ret
111global	_abi_test_clobber_ebp
112align	16
113_abi_test_clobber_ebp:
114L$_abi_test_clobber_ebp_begin:
115	xor	ebp,ebp
116	ret
117global	_abi_test_clobber_xmm0
118align	16
119_abi_test_clobber_xmm0:
120L$_abi_test_clobber_xmm0_begin:
121	pxor	xmm0,xmm0
122	ret
123global	_abi_test_clobber_xmm1
124align	16
125_abi_test_clobber_xmm1:
126L$_abi_test_clobber_xmm1_begin:
127	pxor	xmm1,xmm1
128	ret
129global	_abi_test_clobber_xmm2
130align	16
131_abi_test_clobber_xmm2:
132L$_abi_test_clobber_xmm2_begin:
133	pxor	xmm2,xmm2
134	ret
135global	_abi_test_clobber_xmm3
136align	16
137_abi_test_clobber_xmm3:
138L$_abi_test_clobber_xmm3_begin:
139	pxor	xmm3,xmm3
140	ret
141global	_abi_test_clobber_xmm4
142align	16
143_abi_test_clobber_xmm4:
144L$_abi_test_clobber_xmm4_begin:
145	pxor	xmm4,xmm4
146	ret
147global	_abi_test_clobber_xmm5
148align	16
149_abi_test_clobber_xmm5:
150L$_abi_test_clobber_xmm5_begin:
151	pxor	xmm5,xmm5
152	ret
153global	_abi_test_clobber_xmm6
154align	16
155_abi_test_clobber_xmm6:
156L$_abi_test_clobber_xmm6_begin:
157	pxor	xmm6,xmm6
158	ret
159global	_abi_test_clobber_xmm7
160align	16
161_abi_test_clobber_xmm7:
162L$_abi_test_clobber_xmm7_begin:
163	pxor	xmm7,xmm7
164	ret
165