1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 #ifndef __ASM_GPR_NUM_H 3 #define __ASM_GPR_NUM_H 4 5 #ifdef __ASSEMBLER__ 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 8 .equ .L__gpr_num_x\num, \num 9 .equ .L__gpr_num_w\num, \num 10 .endr 11 .equ .L__gpr_num_xzr, 31 12 .equ .L__gpr_num_wzr, 31 13 14 #define __GPR_NUM(gpr) (.L__gpr_num_##gpr) 15 16 #else /* __ASSEMBLER__ */ 17 18 #define __DEFINE_ASM_GPR_NUMS \ 19 " .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\n" \ 20 " .equ .L__gpr_num_x\\num, \\num\n" \ 21 " .equ .L__gpr_num_w\\num, \\num\n" \ 22 " .endr\n" \ 23 " .equ .L__gpr_num_xzr, 31\n" \ 24 " .equ .L__gpr_num_wzr, 31\n" 25 26 #define __DEFINE_ASM_GPR_ALIASES \ 27 " .irp n,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\n" \ 28 " wx\\n .req w\\n\n" \ 29 " .endr\n" 30 31 #define __GPR_NUM(gpr) "(.L__gpr_num_" gpr ")" 32 33 #endif /* __ASSEMBLER__ */ 34 35 #endif /* __ASM_GPR_NUM_H */ 36