2 * Copyright (C) 1995, 1997, 2007-2013 Free Software Foundation, Inc.
4 * SPDX-License-Identifier: GPL-2.0+
7 /* ANSI concatenation macros. */
9 #define CONCAT1(a, b) CONCAT2(a, b)
10 #define CONCAT2(a, b) a ## b
12 /* Use the right prefix for global labels. */
14 #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
16 #ifndef WORKING_ASSEMBLER
22 #define FUNC(X) .type SYM(X),@function
23 #define HIDDEN_FUNC(X) FUNC(X)` .hidden X
24 #define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X
25 #define ENDFUNC(X) ENDFUNC0(X)
29 .global SYM(__st_r13_to_r15)
30 .global SYM(__st_r13_to_r16)
31 .global SYM(__st_r13_to_r17)
32 .global SYM(__st_r13_to_r18)
33 .global SYM(__st_r13_to_r19)
34 .global SYM(__st_r13_to_r20)
35 .global SYM(__st_r13_to_r21)
36 .global SYM(__st_r13_to_r22)
37 .global SYM(__st_r13_to_r23)
38 .global SYM(__st_r13_to_r24)
39 .global SYM(__st_r13_to_r25)
40 HIDDEN_FUNC(__st_r13_to_r15)
41 HIDDEN_FUNC(__st_r13_to_r16)
42 HIDDEN_FUNC(__st_r13_to_r17)
43 HIDDEN_FUNC(__st_r13_to_r18)
44 HIDDEN_FUNC(__st_r13_to_r19)
45 HIDDEN_FUNC(__st_r13_to_r20)
46 HIDDEN_FUNC(__st_r13_to_r21)
47 HIDDEN_FUNC(__st_r13_to_r22)
48 HIDDEN_FUNC(__st_r13_to_r23)
49 HIDDEN_FUNC(__st_r13_to_r24)
50 HIDDEN_FUNC(__st_r13_to_r25)
74 st r15, [sp,8] ; minimum function size to avoid stall: 6 bytes.
81 ENDFUNC(__st_r13_to_r15)
82 ENDFUNC(__st_r13_to_r16)
83 ENDFUNC(__st_r13_to_r17)
84 ENDFUNC(__st_r13_to_r18)
85 ENDFUNC(__st_r13_to_r19)
86 ENDFUNC(__st_r13_to_r20)
87 ENDFUNC(__st_r13_to_r21)
88 ENDFUNC(__st_r13_to_r22)
89 ENDFUNC(__st_r13_to_r23)
90 ENDFUNC(__st_r13_to_r24)
91 ENDFUNC(__st_r13_to_r25)
95 ; ==================================
98 .global SYM(__ld_r13_to_r15)
99 .global SYM(__ld_r13_to_r16)
100 .global SYM(__ld_r13_to_r17)
101 .global SYM(__ld_r13_to_r18)
102 .global SYM(__ld_r13_to_r19)
103 .global SYM(__ld_r13_to_r20)
104 .global SYM(__ld_r13_to_r21)
105 .global SYM(__ld_r13_to_r22)
106 .global SYM(__ld_r13_to_r23)
107 .global SYM(__ld_r13_to_r24)
108 .global SYM(__ld_r13_to_r25)
109 HIDDEN_FUNC(__ld_r13_to_r15)
110 HIDDEN_FUNC(__ld_r13_to_r16)
111 HIDDEN_FUNC(__ld_r13_to_r17)
112 HIDDEN_FUNC(__ld_r13_to_r18)
113 HIDDEN_FUNC(__ld_r13_to_r19)
114 HIDDEN_FUNC(__ld_r13_to_r20)
115 HIDDEN_FUNC(__ld_r13_to_r21)
116 HIDDEN_FUNC(__ld_r13_to_r22)
117 HIDDEN_FUNC(__ld_r13_to_r23)
118 HIDDEN_FUNC(__ld_r13_to_r24)
119 HIDDEN_FUNC(__ld_r13_to_r25)
120 SYM(__ld_r13_to_r25):
122 SYM(__ld_r13_to_r24):
124 SYM(__ld_r13_to_r23):
126 SYM(__ld_r13_to_r22):
128 SYM(__ld_r13_to_r21):
130 SYM(__ld_r13_to_r20):
132 SYM(__ld_r13_to_r19):
134 SYM(__ld_r13_to_r18):
136 SYM(__ld_r13_to_r17):
138 SYM(__ld_r13_to_r16):
140 SYM(__ld_r13_to_r15):
142 ld r15, [sp,8] ; minimum function size to avoid stall: 6 bytes.
149 ENDFUNC(__ld_r13_to_r15)
150 ENDFUNC(__ld_r13_to_r16)
151 ENDFUNC(__ld_r13_to_r17)
152 ENDFUNC(__ld_r13_to_r18)
153 ENDFUNC(__ld_r13_to_r19)
154 ENDFUNC(__ld_r13_to_r20)
155 ENDFUNC(__ld_r13_to_r21)
156 ENDFUNC(__ld_r13_to_r22)
157 ENDFUNC(__ld_r13_to_r23)
158 ENDFUNC(__ld_r13_to_r24)
159 ENDFUNC(__ld_r13_to_r25)
161 .global SYM(__ld_r13_to_r14_ret)
162 .global SYM(__ld_r13_to_r15_ret)
163 .global SYM(__ld_r13_to_r16_ret)
164 .global SYM(__ld_r13_to_r17_ret)
165 .global SYM(__ld_r13_to_r18_ret)
166 .global SYM(__ld_r13_to_r19_ret)
167 .global SYM(__ld_r13_to_r20_ret)
168 .global SYM(__ld_r13_to_r21_ret)
169 .global SYM(__ld_r13_to_r22_ret)
170 .global SYM(__ld_r13_to_r23_ret)
171 .global SYM(__ld_r13_to_r24_ret)
172 .global SYM(__ld_r13_to_r25_ret)
173 HIDDEN_FUNC(__ld_r13_to_r14_ret)
174 HIDDEN_FUNC(__ld_r13_to_r15_ret)
175 HIDDEN_FUNC(__ld_r13_to_r16_ret)
176 HIDDEN_FUNC(__ld_r13_to_r17_ret)
177 HIDDEN_FUNC(__ld_r13_to_r18_ret)
178 HIDDEN_FUNC(__ld_r13_to_r19_ret)
179 HIDDEN_FUNC(__ld_r13_to_r20_ret)
180 HIDDEN_FUNC(__ld_r13_to_r21_ret)
181 HIDDEN_FUNC(__ld_r13_to_r22_ret)
182 HIDDEN_FUNC(__ld_r13_to_r23_ret)
183 HIDDEN_FUNC(__ld_r13_to_r24_ret)
184 HIDDEN_FUNC(__ld_r13_to_r25_ret)
187 SYM(__ld_r13_to_r25_ret):
189 SYM(__ld_r13_to_r24_ret):
191 SYM(__ld_r13_to_r23_ret):
193 SYM(__ld_r13_to_r22_ret):
195 SYM(__ld_r13_to_r21_ret):
197 SYM(__ld_r13_to_r20_ret):
199 SYM(__ld_r13_to_r19_ret):
201 SYM(__ld_r13_to_r18_ret):
203 SYM(__ld_r13_to_r17_ret):
205 SYM(__ld_r13_to_r16_ret):
207 SYM(__ld_r13_to_r15_ret):
209 SYM(__ld_r13_to_r14_ret):
215 ENDFUNC(__ld_r13_to_r14_ret)
216 ENDFUNC(__ld_r13_to_r15_ret)
217 ENDFUNC(__ld_r13_to_r16_ret)
218 ENDFUNC(__ld_r13_to_r17_ret)
219 ENDFUNC(__ld_r13_to_r18_ret)
220 ENDFUNC(__ld_r13_to_r19_ret)
221 ENDFUNC(__ld_r13_to_r20_ret)
222 ENDFUNC(__ld_r13_to_r21_ret)
223 ENDFUNC(__ld_r13_to_r22_ret)
224 ENDFUNC(__ld_r13_to_r23_ret)
225 ENDFUNC(__ld_r13_to_r24_ret)
226 ENDFUNC(__ld_r13_to_r25_ret)