7fc4426959
When encoding instructions it's sometimes necessary to set a register field to a precise number. This is easiest to do using the x<num> naming. Signed-off-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Anup Patel <anup@brainfault.org> Signed-off-by: Anup Patel <anup@brainfault.org>
86 lines
2.4 KiB
C
86 lines
2.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef __ASM_GPR_NUM_H
|
|
#define __ASM_GPR_NUM_H
|
|
|
|
#ifdef __ASSEMBLY__
|
|
|
|
.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
|
|
.equ .L__gpr_num_x\num, \num
|
|
.endr
|
|
|
|
.equ .L__gpr_num_zero, 0
|
|
.equ .L__gpr_num_ra, 1
|
|
.equ .L__gpr_num_sp, 2
|
|
.equ .L__gpr_num_gp, 3
|
|
.equ .L__gpr_num_tp, 4
|
|
.equ .L__gpr_num_t0, 5
|
|
.equ .L__gpr_num_t1, 6
|
|
.equ .L__gpr_num_t2, 7
|
|
.equ .L__gpr_num_s0, 8
|
|
.equ .L__gpr_num_s1, 9
|
|
.equ .L__gpr_num_a0, 10
|
|
.equ .L__gpr_num_a1, 11
|
|
.equ .L__gpr_num_a2, 12
|
|
.equ .L__gpr_num_a3, 13
|
|
.equ .L__gpr_num_a4, 14
|
|
.equ .L__gpr_num_a5, 15
|
|
.equ .L__gpr_num_a6, 16
|
|
.equ .L__gpr_num_a7, 17
|
|
.equ .L__gpr_num_s2, 18
|
|
.equ .L__gpr_num_s3, 19
|
|
.equ .L__gpr_num_s4, 20
|
|
.equ .L__gpr_num_s5, 21
|
|
.equ .L__gpr_num_s6, 22
|
|
.equ .L__gpr_num_s7, 23
|
|
.equ .L__gpr_num_s8, 24
|
|
.equ .L__gpr_num_s9, 25
|
|
.equ .L__gpr_num_s10, 26
|
|
.equ .L__gpr_num_s11, 27
|
|
.equ .L__gpr_num_t3, 28
|
|
.equ .L__gpr_num_t4, 29
|
|
.equ .L__gpr_num_t5, 30
|
|
.equ .L__gpr_num_t6, 31
|
|
|
|
#else /* __ASSEMBLY__ */
|
|
|
|
#define __DEFINE_ASM_GPR_NUMS \
|
|
" .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" \
|
|
" .equ .L__gpr_num_x\\num, \\num\n" \
|
|
" .endr\n" \
|
|
" .equ .L__gpr_num_zero, 0\n" \
|
|
" .equ .L__gpr_num_ra, 1\n" \
|
|
" .equ .L__gpr_num_sp, 2\n" \
|
|
" .equ .L__gpr_num_gp, 3\n" \
|
|
" .equ .L__gpr_num_tp, 4\n" \
|
|
" .equ .L__gpr_num_t0, 5\n" \
|
|
" .equ .L__gpr_num_t1, 6\n" \
|
|
" .equ .L__gpr_num_t2, 7\n" \
|
|
" .equ .L__gpr_num_s0, 8\n" \
|
|
" .equ .L__gpr_num_s1, 9\n" \
|
|
" .equ .L__gpr_num_a0, 10\n" \
|
|
" .equ .L__gpr_num_a1, 11\n" \
|
|
" .equ .L__gpr_num_a2, 12\n" \
|
|
" .equ .L__gpr_num_a3, 13\n" \
|
|
" .equ .L__gpr_num_a4, 14\n" \
|
|
" .equ .L__gpr_num_a5, 15\n" \
|
|
" .equ .L__gpr_num_a6, 16\n" \
|
|
" .equ .L__gpr_num_a7, 17\n" \
|
|
" .equ .L__gpr_num_s2, 18\n" \
|
|
" .equ .L__gpr_num_s3, 19\n" \
|
|
" .equ .L__gpr_num_s4, 20\n" \
|
|
" .equ .L__gpr_num_s5, 21\n" \
|
|
" .equ .L__gpr_num_s6, 22\n" \
|
|
" .equ .L__gpr_num_s7, 23\n" \
|
|
" .equ .L__gpr_num_s8, 24\n" \
|
|
" .equ .L__gpr_num_s9, 25\n" \
|
|
" .equ .L__gpr_num_s10, 26\n" \
|
|
" .equ .L__gpr_num_s11, 27\n" \
|
|
" .equ .L__gpr_num_t3, 28\n" \
|
|
" .equ .L__gpr_num_t4, 29\n" \
|
|
" .equ .L__gpr_num_t5, 30\n" \
|
|
" .equ .L__gpr_num_t6, 31\n"
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#endif /* __ASM_GPR_NUM_H */
|