xref: /linux/arch/riscv/include/asm/gpr-num.h (revision c6fbb759)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #ifndef __ASM_GPR_NUM_H
3 #define __ASM_GPR_NUM_H
4 
5 #ifdef __ASSEMBLY__
6 
7 	.irp	num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
8 	.equ	.L__gpr_num_x\num, \num
9 	.endr
10 
11 	.equ	.L__gpr_num_zero,	0
12 	.equ	.L__gpr_num_ra,		1
13 	.equ	.L__gpr_num_sp,		2
14 	.equ	.L__gpr_num_gp,		3
15 	.equ	.L__gpr_num_tp,		4
16 	.equ	.L__gpr_num_t0,		5
17 	.equ	.L__gpr_num_t1,		6
18 	.equ	.L__gpr_num_t2,		7
19 	.equ	.L__gpr_num_s0,		8
20 	.equ	.L__gpr_num_s1,		9
21 	.equ	.L__gpr_num_a0,		10
22 	.equ	.L__gpr_num_a1,		11
23 	.equ	.L__gpr_num_a2,		12
24 	.equ	.L__gpr_num_a3,		13
25 	.equ	.L__gpr_num_a4,		14
26 	.equ	.L__gpr_num_a5,		15
27 	.equ	.L__gpr_num_a6,		16
28 	.equ	.L__gpr_num_a7,		17
29 	.equ	.L__gpr_num_s2,		18
30 	.equ	.L__gpr_num_s3,		19
31 	.equ	.L__gpr_num_s4,		20
32 	.equ	.L__gpr_num_s5,		21
33 	.equ	.L__gpr_num_s6,		22
34 	.equ	.L__gpr_num_s7,		23
35 	.equ	.L__gpr_num_s8,		24
36 	.equ	.L__gpr_num_s9,		25
37 	.equ	.L__gpr_num_s10,	26
38 	.equ	.L__gpr_num_s11,	27
39 	.equ	.L__gpr_num_t3,		28
40 	.equ	.L__gpr_num_t4,		29
41 	.equ	.L__gpr_num_t5,		30
42 	.equ	.L__gpr_num_t6,		31
43 
44 #else /* __ASSEMBLY__ */
45 
46 #define __DEFINE_ASM_GPR_NUMS					\
47 "	.irp	num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31\n" \
48 "	.equ	.L__gpr_num_x\\num, \\num\n"			\
49 "	.endr\n"						\
50 "	.equ	.L__gpr_num_zero,	0\n"			\
51 "	.equ	.L__gpr_num_ra,		1\n"			\
52 "	.equ	.L__gpr_num_sp,		2\n"			\
53 "	.equ	.L__gpr_num_gp,		3\n"			\
54 "	.equ	.L__gpr_num_tp,		4\n"			\
55 "	.equ	.L__gpr_num_t0,		5\n"			\
56 "	.equ	.L__gpr_num_t1,		6\n"			\
57 "	.equ	.L__gpr_num_t2,		7\n"			\
58 "	.equ	.L__gpr_num_s0,		8\n"			\
59 "	.equ	.L__gpr_num_s1,		9\n"			\
60 "	.equ	.L__gpr_num_a0,		10\n"			\
61 "	.equ	.L__gpr_num_a1,		11\n"			\
62 "	.equ	.L__gpr_num_a2,		12\n"			\
63 "	.equ	.L__gpr_num_a3,		13\n"			\
64 "	.equ	.L__gpr_num_a4,		14\n"			\
65 "	.equ	.L__gpr_num_a5,		15\n"			\
66 "	.equ	.L__gpr_num_a6,		16\n"			\
67 "	.equ	.L__gpr_num_a7,		17\n"			\
68 "	.equ	.L__gpr_num_s2,		18\n"			\
69 "	.equ	.L__gpr_num_s3,		19\n"			\
70 "	.equ	.L__gpr_num_s4,		20\n"			\
71 "	.equ	.L__gpr_num_s5,		21\n"			\
72 "	.equ	.L__gpr_num_s6,		22\n"			\
73 "	.equ	.L__gpr_num_s7,		23\n"			\
74 "	.equ	.L__gpr_num_s8,		24\n"			\
75 "	.equ	.L__gpr_num_s9,		25\n"			\
76 "	.equ	.L__gpr_num_s10,	26\n"			\
77 "	.equ	.L__gpr_num_s11,	27\n"			\
78 "	.equ	.L__gpr_num_t3,		28\n"			\
79 "	.equ	.L__gpr_num_t4,		29\n"			\
80 "	.equ	.L__gpr_num_t5,		30\n"			\
81 "	.equ	.L__gpr_num_t6,		31\n"
82 
83 #endif /* __ASSEMBLY__ */
84 
85 #endif /* __ASM_GPR_NUM_H */
86