mirror of
https://github.com/sarah-walker-pcem/pcem.git
synced 2025-07-23 03:33:02 +02:00
141 lines
2.7 KiB
C
141 lines
2.7 KiB
C
#ifndef _CODEGEN_BACKEND_ARM64_DEFS_H_
|
|
#define _CODEGEN_BACKEND_ARM64_DEFS_H_
|
|
|
|
#define REG_W0 0
|
|
#define REG_W1 1
|
|
#define REG_W2 2
|
|
#define REG_W3 3
|
|
#define REG_W4 4
|
|
#define REG_W5 5
|
|
#define REG_W6 6
|
|
#define REG_W7 7
|
|
#define REG_W8 8
|
|
#define REG_W9 9
|
|
#define REG_W10 10
|
|
#define REG_W11 11
|
|
#define REG_W12 12
|
|
#define REG_W13 13
|
|
#define REG_W14 14
|
|
#define REG_W15 15
|
|
#define REG_W16 16
|
|
#define REG_W17 17
|
|
#define REG_W18 18
|
|
#define REG_W19 19
|
|
#define REG_W20 20
|
|
#define REG_W21 21
|
|
#define REG_W22 22
|
|
#define REG_W23 23
|
|
#define REG_W24 24
|
|
#define REG_W25 25
|
|
#define REG_W26 26
|
|
#define REG_W27 27
|
|
#define REG_W28 28
|
|
#define REG_W29 29
|
|
#define REG_W30 30
|
|
#define REG_WZR 31
|
|
|
|
#define REG_X0 0
|
|
#define REG_X1 1
|
|
#define REG_X2 2
|
|
#define REG_X3 3
|
|
#define REG_X4 4
|
|
#define REG_X5 5
|
|
#define REG_X6 6
|
|
#define REG_X7 7
|
|
#define REG_X8 8
|
|
#define REG_X9 9
|
|
#define REG_X10 10
|
|
#define REG_X11 11
|
|
#define REG_X12 12
|
|
#define REG_X13 13
|
|
#define REG_X14 14
|
|
#define REG_X15 15
|
|
#define REG_X16 16
|
|
#define REG_X17 17
|
|
#define REG_X18 18
|
|
#define REG_X19 19
|
|
#define REG_X20 20
|
|
#define REG_X21 21
|
|
#define REG_X22 22
|
|
#define REG_X23 23
|
|
#define REG_X24 24
|
|
#define REG_X25 25
|
|
#define REG_X26 26
|
|
#define REG_X27 27
|
|
#define REG_X28 28
|
|
#define REG_X29 29
|
|
#define REG_X30 30
|
|
#define REG_XZR 31
|
|
|
|
#define REG_V0 0
|
|
#define REG_V1 1
|
|
#define REG_V2 2
|
|
#define REG_V3 3
|
|
#define REG_V4 4
|
|
#define REG_V5 5
|
|
#define REG_V6 6
|
|
#define REG_V7 7
|
|
#define REG_V8 8
|
|
#define REG_V9 9
|
|
#define REG_V10 10
|
|
#define REG_V11 11
|
|
#define REG_V12 12
|
|
#define REG_V13 13
|
|
#define REG_V14 14
|
|
#define REG_V15 15
|
|
#define REG_V16 16
|
|
#define REG_V17 17
|
|
#define REG_V18 18
|
|
#define REG_V19 19
|
|
#define REG_V20 20
|
|
#define REG_V21 21
|
|
#define REG_V22 22
|
|
#define REG_V23 23
|
|
#define REG_V24 24
|
|
#define REG_V25 25
|
|
#define REG_V26 26
|
|
#define REG_V27 27
|
|
#define REG_V28 28
|
|
#define REG_V29 29
|
|
#define REG_V30 30
|
|
#define REG_V31 31
|
|
|
|
#define REG_XSP 31
|
|
|
|
#define REG_ARG0 REG_X0
|
|
#define REG_ARG1 REG_X1
|
|
#define REG_ARG2 REG_X2
|
|
#define REG_ARG3 REG_X3
|
|
|
|
#define REG_CPUSTATE REG_X29
|
|
|
|
#define REG_TEMP REG_X7
|
|
#define REG_TEMP2 REG_X6
|
|
|
|
#define REG_V_TEMP REG_V0
|
|
|
|
#define CODEGEN_HOST_REGS 10
|
|
#define CODEGEN_HOST_FP_REGS 8
|
|
|
|
extern void *codegen_mem_load_byte;
|
|
extern void *codegen_mem_load_word;
|
|
extern void *codegen_mem_load_long;
|
|
extern void *codegen_mem_load_quad;
|
|
extern void *codegen_mem_load_single;
|
|
extern void *codegen_mem_load_double;
|
|
|
|
extern void *codegen_mem_store_byte;
|
|
extern void *codegen_mem_store_word;
|
|
extern void *codegen_mem_store_long;
|
|
extern void *codegen_mem_store_quad;
|
|
extern void *codegen_mem_store_single;
|
|
extern void *codegen_mem_store_double;
|
|
|
|
extern void *codegen_fp_round;
|
|
extern void *codegen_fp_round_quad;
|
|
|
|
extern void *codegen_gpf_rout;
|
|
extern void *codegen_exit_rout;
|
|
|
|
#endif /* _CODEGEN_BACKEND_ARM64_DEFS_H_ */
|