~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/powerpc/lib/reg.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 /*
  3  * test helper assembly functions
  4  *
  5  * Copyright (C) 2016 Simon Guo, IBM Corporation.
  6  */
  7 #include <ppc-asm.h>
  8 #include "reg.h"
  9 
 10 
 11 /* Non volatile GPR - unsigned long buf[18] */
 12 FUNC_START(load_gpr)
 13         ld      14, 0*8(3)
 14         ld      15, 1*8(3)
 15         ld      16, 2*8(3)
 16         ld      17, 3*8(3)
 17         ld      18, 4*8(3)
 18         ld      19, 5*8(3)
 19         ld      20, 6*8(3)
 20         ld      21, 7*8(3)
 21         ld      22, 8*8(3)
 22         ld      23, 9*8(3)
 23         ld      24, 10*8(3)
 24         ld      25, 11*8(3)
 25         ld      26, 12*8(3)
 26         ld      27, 13*8(3)
 27         ld      28, 14*8(3)
 28         ld      29, 15*8(3)
 29         ld      30, 16*8(3)
 30         ld      31, 17*8(3)
 31         blr
 32 FUNC_END(load_gpr)
 33 
 34 FUNC_START(store_gpr)
 35         std     14, 0*8(3)
 36         std     15, 1*8(3)
 37         std     16, 2*8(3)
 38         std     17, 3*8(3)
 39         std     18, 4*8(3)
 40         std     19, 5*8(3)
 41         std     20, 6*8(3)
 42         std     21, 7*8(3)
 43         std     22, 8*8(3)
 44         std     23, 9*8(3)
 45         std     24, 10*8(3)
 46         std     25, 11*8(3)
 47         std     26, 12*8(3)
 48         std     27, 13*8(3)
 49         std     28, 14*8(3)
 50         std     29, 15*8(3)
 51         std     30, 16*8(3)
 52         std     31, 17*8(3)
 53         blr
 54 FUNC_END(store_gpr)
 55 
 56 /* Double Precision Float - double buf[32] */
 57 FUNC_START(store_fpr)
 58         stfd  0,  0*8(3)
 59         stfd  1,  1*8(3)
 60         stfd  2,  2*8(3)
 61         stfd  3,  3*8(3)
 62         stfd  4,  4*8(3)
 63         stfd  5,  5*8(3)
 64         stfd  6,  6*8(3)
 65         stfd  7,  7*8(3)
 66         stfd  8,  8*8(3)
 67         stfd  9,  9*8(3)
 68         stfd 10, 10*8(3)
 69         stfd 11, 11*8(3)
 70         stfd 12, 12*8(3)
 71         stfd 13, 13*8(3)
 72         stfd 14, 14*8(3)
 73         stfd 15, 15*8(3)
 74         stfd 16, 16*8(3)
 75         stfd 17, 17*8(3)
 76         stfd 18, 18*8(3)
 77         stfd 19, 19*8(3)
 78         stfd 20, 20*8(3)
 79         stfd 21, 21*8(3)
 80         stfd 22, 22*8(3)
 81         stfd 23, 23*8(3)
 82         stfd 24, 24*8(3)
 83         stfd 25, 25*8(3)
 84         stfd 26, 26*8(3)
 85         stfd 27, 27*8(3)
 86         stfd 28, 28*8(3)
 87         stfd 29, 29*8(3)
 88         stfd 30, 30*8(3)
 89         stfd 31, 31*8(3)
 90         blr
 91 FUNC_END(store_fpr)
 92 
 93 /* VMX/VSX registers - unsigned long buf[128] */
 94 FUNC_START(loadvsx)
 95         lis     4, 0
 96         LXVD2X  (0,(4),(3))
 97         addi    4, 4, 16
 98         LXVD2X  (1,(4),(3))
 99         addi    4, 4, 16
100         LXVD2X  (2,(4),(3))
101         addi    4, 4, 16
102         LXVD2X  (3,(4),(3))
103         addi    4, 4, 16
104         LXVD2X  (4,(4),(3))
105         addi    4, 4, 16
106         LXVD2X  (5,(4),(3))
107         addi    4, 4, 16
108         LXVD2X  (6,(4),(3))
109         addi    4, 4, 16
110         LXVD2X  (7,(4),(3))
111         addi    4, 4, 16
112         LXVD2X  (8,(4),(3))
113         addi    4, 4, 16
114         LXVD2X  (9,(4),(3))
115         addi    4, 4, 16
116         LXVD2X  (10,(4),(3))
117         addi    4, 4, 16
118         LXVD2X  (11,(4),(3))
119         addi    4, 4, 16
120         LXVD2X  (12,(4),(3))
121         addi    4, 4, 16
122         LXVD2X  (13,(4),(3))
123         addi    4, 4, 16
124         LXVD2X  (14,(4),(3))
125         addi    4, 4, 16
126         LXVD2X  (15,(4),(3))
127         addi    4, 4, 16
128         LXVD2X  (16,(4),(3))
129         addi    4, 4, 16
130         LXVD2X  (17,(4),(3))
131         addi    4, 4, 16
132         LXVD2X  (18,(4),(3))
133         addi    4, 4, 16
134         LXVD2X  (19,(4),(3))
135         addi    4, 4, 16
136         LXVD2X  (20,(4),(3))
137         addi    4, 4, 16
138         LXVD2X  (21,(4),(3))
139         addi    4, 4, 16
140         LXVD2X  (22,(4),(3))
141         addi    4, 4, 16
142         LXVD2X  (23,(4),(3))
143         addi    4, 4, 16
144         LXVD2X  (24,(4),(3))
145         addi    4, 4, 16
146         LXVD2X  (25,(4),(3))
147         addi    4, 4, 16
148         LXVD2X  (26,(4),(3))
149         addi    4, 4, 16
150         LXVD2X  (27,(4),(3))
151         addi    4, 4, 16
152         LXVD2X  (28,(4),(3))
153         addi    4, 4, 16
154         LXVD2X  (29,(4),(3))
155         addi    4, 4, 16
156         LXVD2X  (30,(4),(3))
157         addi    4, 4, 16
158         LXVD2X  (31,(4),(3))
159         addi    4, 4, 16
160         LXVD2X  (32,(4),(3))
161         addi    4, 4, 16
162         LXVD2X  (33,(4),(3))
163         addi    4, 4, 16
164         LXVD2X  (34,(4),(3))
165         addi    4, 4, 16
166         LXVD2X  (35,(4),(3))
167         addi    4, 4, 16
168         LXVD2X  (36,(4),(3))
169         addi    4, 4, 16
170         LXVD2X  (37,(4),(3))
171         addi    4, 4, 16
172         LXVD2X  (38,(4),(3))
173         addi    4, 4, 16
174         LXVD2X  (39,(4),(3))
175         addi    4, 4, 16
176         LXVD2X  (40,(4),(3))
177         addi    4, 4, 16
178         LXVD2X  (41,(4),(3))
179         addi    4, 4, 16
180         LXVD2X  (42,(4),(3))
181         addi    4, 4, 16
182         LXVD2X  (43,(4),(3))
183         addi    4, 4, 16
184         LXVD2X  (44,(4),(3))
185         addi    4, 4, 16
186         LXVD2X  (45,(4),(3))
187         addi    4, 4, 16
188         LXVD2X  (46,(4),(3))
189         addi    4, 4, 16
190         LXVD2X  (47,(4),(3))
191         addi    4, 4, 16
192         LXVD2X  (48,(4),(3))
193         addi    4, 4, 16
194         LXVD2X  (49,(4),(3))
195         addi    4, 4, 16
196         LXVD2X  (50,(4),(3))
197         addi    4, 4, 16
198         LXVD2X  (51,(4),(3))
199         addi    4, 4, 16
200         LXVD2X  (52,(4),(3))
201         addi    4, 4, 16
202         LXVD2X  (53,(4),(3))
203         addi    4, 4, 16
204         LXVD2X  (54,(4),(3))
205         addi    4, 4, 16
206         LXVD2X  (55,(4),(3))
207         addi    4, 4, 16
208         LXVD2X  (56,(4),(3))
209         addi    4, 4, 16
210         LXVD2X  (57,(4),(3))
211         addi    4, 4, 16
212         LXVD2X  (58,(4),(3))
213         addi    4, 4, 16
214         LXVD2X  (59,(4),(3))
215         addi    4, 4, 16
216         LXVD2X  (60,(4),(3))
217         addi    4, 4, 16
218         LXVD2X  (61,(4),(3))
219         addi    4, 4, 16
220         LXVD2X  (62,(4),(3))
221         addi    4, 4, 16
222         LXVD2X  (63,(4),(3))
223         blr
224 FUNC_END(loadvsx)
225 
226 FUNC_START(storevsx)
227         lis     4, 0
228         STXVD2X (0,(4),(3))
229         addi    4, 4, 16
230         STXVD2X (1,(4),(3))
231         addi    4, 4, 16
232         STXVD2X (2,(4),(3))
233         addi    4, 4, 16
234         STXVD2X (3,(4),(3))
235         addi    4, 4, 16
236         STXVD2X (4,(4),(3))
237         addi    4, 4, 16
238         STXVD2X (5,(4),(3))
239         addi    4, 4, 16
240         STXVD2X (6,(4),(3))
241         addi    4, 4, 16
242         STXVD2X (7,(4),(3))
243         addi    4, 4, 16
244         STXVD2X (8,(4),(3))
245         addi    4, 4, 16
246         STXVD2X (9,(4),(3))
247         addi    4, 4, 16
248         STXVD2X (10,(4),(3))
249         addi    4, 4, 16
250         STXVD2X (11,(4),(3))
251         addi    4, 4, 16
252         STXVD2X (12,(4),(3))
253         addi    4, 4, 16
254         STXVD2X (13,(4),(3))
255         addi    4, 4, 16
256         STXVD2X (14,(4),(3))
257         addi    4, 4, 16
258         STXVD2X (15,(4),(3))
259         addi    4, 4, 16
260         STXVD2X (16,(4),(3))
261         addi    4, 4, 16
262         STXVD2X (17,(4),(3))
263         addi    4, 4, 16
264         STXVD2X (18,(4),(3))
265         addi    4, 4, 16
266         STXVD2X (19,(4),(3))
267         addi    4, 4, 16
268         STXVD2X (20,(4),(3))
269         addi    4, 4, 16
270         STXVD2X (21,(4),(3))
271         addi    4, 4, 16
272         STXVD2X (22,(4),(3))
273         addi    4, 4, 16
274         STXVD2X (23,(4),(3))
275         addi    4, 4, 16
276         STXVD2X (24,(4),(3))
277         addi    4, 4, 16
278         STXVD2X (25,(4),(3))
279         addi    4, 4, 16
280         STXVD2X (26,(4),(3))
281         addi    4, 4, 16
282         STXVD2X (27,(4),(3))
283         addi    4, 4, 16
284         STXVD2X (28,(4),(3))
285         addi    4, 4, 16
286         STXVD2X (29,(4),(3))
287         addi    4, 4, 16
288         STXVD2X (30,(4),(3))
289         addi    4, 4, 16
290         STXVD2X (31,(4),(3))
291         addi    4, 4, 16
292         STXVD2X (32,(4),(3))
293         addi    4, 4, 16
294         STXVD2X (33,(4),(3))
295         addi    4, 4, 16
296         STXVD2X (34,(4),(3))
297         addi    4, 4, 16
298         STXVD2X (35,(4),(3))
299         addi    4, 4, 16
300         STXVD2X (36,(4),(3))
301         addi    4, 4, 16
302         STXVD2X (37,(4),(3))
303         addi    4, 4, 16
304         STXVD2X (38,(4),(3))
305         addi    4, 4, 16
306         STXVD2X (39,(4),(3))
307         addi    4, 4, 16
308         STXVD2X (40,(4),(3))
309         addi    4, 4, 16
310         STXVD2X (41,(4),(3))
311         addi    4, 4, 16
312         STXVD2X (42,(4),(3))
313         addi    4, 4, 16
314         STXVD2X (43,(4),(3))
315         addi    4, 4, 16
316         STXVD2X (44,(4),(3))
317         addi    4, 4, 16
318         STXVD2X (45,(4),(3))
319         addi    4, 4, 16
320         STXVD2X (46,(4),(3))
321         addi    4, 4, 16
322         STXVD2X (47,(4),(3))
323         addi    4, 4, 16
324         STXVD2X (48,(4),(3))
325         addi    4, 4, 16
326         STXVD2X (49,(4),(3))
327         addi    4, 4, 16
328         STXVD2X (50,(4),(3))
329         addi    4, 4, 16
330         STXVD2X (51,(4),(3))
331         addi    4, 4, 16
332         STXVD2X (52,(4),(3))
333         addi    4, 4, 16
334         STXVD2X (53,(4),(3))
335         addi    4, 4, 16
336         STXVD2X (54,(4),(3))
337         addi    4, 4, 16
338         STXVD2X (55,(4),(3))
339         addi    4, 4, 16
340         STXVD2X (56,(4),(3))
341         addi    4, 4, 16
342         STXVD2X (57,(4),(3))
343         addi    4, 4, 16
344         STXVD2X (58,(4),(3))
345         addi    4, 4, 16
346         STXVD2X (59,(4),(3))
347         addi    4, 4, 16
348         STXVD2X (60,(4),(3))
349         addi    4, 4, 16
350         STXVD2X (61,(4),(3))
351         addi    4, 4, 16
352         STXVD2X (62,(4),(3))
353         addi    4, 4, 16
354         STXVD2X (63,(4),(3))
355         blr
356 FUNC_END(storevsx)

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php