| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| #ifndef _ASMRISCV_ASM_H_ | |
| #define _ASMRISCV_ASM_H_ | |
| #if __riscv_xlen == 64 | |
| #define __REG_SEL(a, b) a | |
| #elif __riscv_xlen == 32 | |
| #define __REG_SEL(a, b) b | |
| #else | |
| #error "Unexpected __riscv_xlen" | |
| #endif | |
| #define REG_L __REG_SEL(ld, lw) | |
| #define REG_S __REG_SEL(sd, sw) | |
| #define SZREG __REG_SEL(8, 4) | |
| /* ASMARR() may be used with arrays of longs */ | |
| #define ASMARR(reg, idx) ((idx) * SZREG)(reg) | |
| #define FP_SIZE 16 | |
| #endif /* _ASMRISCV_ASM_H_ */ |