1672999cfSYouling Tang /* SPDX-License-Identifier: GPL-2.0-only */
2672999cfSYouling Tang #ifndef __ASM_GPR_NUM_H
3672999cfSYouling Tang #define __ASM_GPR_NUM_H
4672999cfSYouling Tang 
5672999cfSYouling Tang #ifdef __ASSEMBLY__
6672999cfSYouling Tang 
7672999cfSYouling Tang 	.equ	.L__gpr_num_zero, 0
8672999cfSYouling Tang 	.irp	num,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
9672999cfSYouling Tang 	.equ	.L__gpr_num_$r\num, \num
10672999cfSYouling Tang 	.endr
11672999cfSYouling Tang 
12*24da0249SWANG Rui 	/* ABI names of registers */
13*24da0249SWANG Rui 	.equ	.L__gpr_num_$ra, 1
14*24da0249SWANG Rui 	.equ	.L__gpr_num_$tp, 2
15*24da0249SWANG Rui 	.equ	.L__gpr_num_$sp, 3
16*24da0249SWANG Rui 	.irp	num,0,1,2,3,4,5,6,7
17*24da0249SWANG Rui 	.equ	.L__gpr_num_$a\num, 4 + \num
18*24da0249SWANG Rui 	.endr
19*24da0249SWANG Rui 	.irp	num,0,1,2,3,4,5,6,7,8
20*24da0249SWANG Rui 	.equ	.L__gpr_num_$t\num, 12 + \num
21*24da0249SWANG Rui 	.endr
22*24da0249SWANG Rui 	.equ	.L__gpr_num_$s9, 22
23*24da0249SWANG Rui 	.equ	.L__gpr_num_$fp, 22
24*24da0249SWANG Rui 	.irp	num,0,1,2,3,4,5,6,7,8
25*24da0249SWANG Rui 	.equ	.L__gpr_num_$s\num, 23 + \num
26*24da0249SWANG Rui 	.endr
27*24da0249SWANG Rui 
28672999cfSYouling Tang #else /* __ASSEMBLY__ */
29672999cfSYouling Tang 
30672999cfSYouling Tang #define __DEFINE_ASM_GPR_NUMS					\
31672999cfSYouling Tang "	.equ	.L__gpr_num_zero, 0\n"				\
32672999cfSYouling Tang "	.irp	num,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" \
33672999cfSYouling Tang "	.equ	.L__gpr_num_$r\\num, \\num\n"			\
34672999cfSYouling Tang "	.endr\n"						\
35*24da0249SWANG Rui "	.equ	.L__gpr_num_$ra, 1\n"				\
36*24da0249SWANG Rui "	.equ	.L__gpr_num_$tp, 2\n"				\
37*24da0249SWANG Rui "	.equ	.L__gpr_num_$sp, 3\n"				\
38*24da0249SWANG Rui "	.irp	num,0,1,2,3,4,5,6,7\n"				\
39*24da0249SWANG Rui "	.equ	.L__gpr_num_$a\\num, 4 + \\num\n"		\
40*24da0249SWANG Rui "	.endr\n"						\
41*24da0249SWANG Rui "	.irp	num,0,1,2,3,4,5,6,7,8\n"			\
42*24da0249SWANG Rui "	.equ	.L__gpr_num_$t\\num, 12 + \\num\n"		\
43*24da0249SWANG Rui "	.endr\n"						\
44*24da0249SWANG Rui "	.equ	.L__gpr_num_$s9, 22\n"				\
45*24da0249SWANG Rui "	.equ	.L__gpr_num_$fp, 22\n"				\
46*24da0249SWANG Rui "	.irp	num,0,1,2,3,4,5,6,7,8\n"			\
47*24da0249SWANG Rui "	.equ	.L__gpr_num_$s\\num, 23 + \\num\n"		\
48*24da0249SWANG Rui "	.endr\n"						\
49672999cfSYouling Tang 
50672999cfSYouling Tang #endif /* __ASSEMBLY__ */
51672999cfSYouling Tang 
52672999cfSYouling Tang #endif /* __ASM_GPR_NUM_H */
53