1 2 #ifndef _ORC_LIMITS_H_ 3 #define _ORC_LIMITS_H_ 4 5 #include <orc/orcutils.h> 6 7 ORC_BEGIN_DECLS 8 9 #define ORC_N_REGS (32*4) 10 #define ORC_N_INSNS 100 11 #define ORC_N_VARIABLES 64 12 #define ORC_N_ARRAYS 12 13 #define ORC_N_REGISTERS 20 14 #define ORC_N_FIXUPS 100 15 #define ORC_N_CONSTANTS 20 16 #define ORC_N_LABELS 40 17 #define ORC_N_COMPILER_VARIABLES (ORC_N_VARIABLES+32) 18 19 #define ORC_GP_REG_BASE 32 20 #define ORC_VEC_REG_BASE 64 21 #define ORC_REG_INVALID 0 22 23 #define ORC_STATIC_OPCODE_N_SRC 4 24 #define ORC_STATIC_OPCODE_N_DEST 2 25 26 #define ORC_OPCODE_N_ARGS 4 27 #define ORC_N_TARGETS 10 28 #define ORC_N_RULE_SETS 10 29 30 #define ORC_MAX_VAR_SIZE 8 31 32 #define ORC_MAX_DEST_VARS 4 33 #define ORC_MAX_SRC_VARS 8 34 #define ORC_MAX_TEMP_VARS 16 35 #define ORC_MAX_CONST_VARS 8 36 #define ORC_MAX_PARAM_VARS 8 37 #define ORC_MAX_ACCUM_VARS 4 38 39 enum { 40 ORC_VAR_D1, 41 ORC_VAR_D2, 42 ORC_VAR_D3, 43 ORC_VAR_D4, 44 ORC_VAR_S1, 45 ORC_VAR_S2, 46 ORC_VAR_S3, 47 ORC_VAR_S4, 48 ORC_VAR_S5, 49 ORC_VAR_S6, 50 ORC_VAR_S7, 51 ORC_VAR_S8, 52 ORC_VAR_A1, 53 ORC_VAR_A2, 54 ORC_VAR_A3, 55 ORC_VAR_A4, 56 ORC_VAR_C1, 57 ORC_VAR_C2, 58 ORC_VAR_C3, 59 ORC_VAR_C4, 60 ORC_VAR_C5, 61 ORC_VAR_C6, 62 ORC_VAR_C7, 63 ORC_VAR_C8, 64 ORC_VAR_P1, 65 ORC_VAR_P2, 66 ORC_VAR_P3, 67 ORC_VAR_P4, 68 ORC_VAR_P5, 69 ORC_VAR_P6, 70 ORC_VAR_P7, 71 ORC_VAR_P8, 72 ORC_VAR_T1, 73 ORC_VAR_T2, 74 ORC_VAR_T3, 75 ORC_VAR_T4, 76 ORC_VAR_T5, 77 ORC_VAR_T6, 78 ORC_VAR_T7, 79 ORC_VAR_T8, 80 ORC_VAR_T9, 81 ORC_VAR_T10, 82 ORC_VAR_T11, 83 ORC_VAR_T12, 84 ORC_VAR_T13, 85 ORC_VAR_T14, 86 ORC_VAR_T15, 87 ORC_VAR_T16 88 }; 89 90 91 ORC_END_DECLS 92 93 #endif 94 95