Lines Matching refs:SIZE
21 #define INT_ADJ(SIZE, LSB, MAX_VAL, SHIFT, PRINT_HEX) \ argument
24 { OP_INT, SIZE, LSB }, MAX_VAL, 0, SHIFT, PRINT_HEX \
29 #define UINT(SIZE, LSB) \ argument
30 INT_ADJ(SIZE, LSB, (1 << (SIZE)) - 1, 0, FALSE)
32 #define SINT(SIZE, LSB) \ argument
33 INT_ADJ(SIZE, LSB, (1 << ((SIZE) - 1)) - 1, 0, FALSE)
35 #define HINT(SIZE, LSB) \ argument
36 INT_ADJ(SIZE, LSB, (1 << (SIZE)) - 1, 0, TRUE)
38 #define BIT(SIZE, LSB, BIAS) \ argument
41 { OP_INT, SIZE, LSB }, (1 << (SIZE)) - 1, BIAS, 0, TRUE \
46 #define MAPPED_INT(SIZE, LSB, MAP, PRINT_HEX) \ argument
49 static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
51 { OP_MAPPED_INT, SIZE, LSB }, MAP, PRINT_HEX \
56 #define MAPPED_STRING(SIZE, LSB, MAP, ALLOW_CONSTANTS) \ argument
59 static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
61 { OP_MAPPED_STRING, SIZE, LSB }, MAP, ALLOW_CONSTANTS \
66 #define MSB(SIZE, LSB, BIAS, ADD_LSB, OPSIZE) \ argument
69 { OP_MSB, SIZE, LSB }, BIAS, ADD_LSB, OPSIZE \
74 #define REG(SIZE, LSB, BANK) \ argument
77 { OP_REG, SIZE, LSB }, OP_REG_##BANK, 0 \
82 #define OPTIONAL_REG(SIZE, LSB, BANK) \ argument
85 { OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, 0 \
90 #define MAPPED_REG(SIZE, LSB, BANK, MAP) \ argument
93 static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
95 { OP_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
100 #define OPTIONAL_MAPPED_REG(SIZE, LSB, BANK, MAP) \ argument
103 static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
105 { OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
110 #define REG_PAIR(SIZE, LSB, BANK, MAP) \ argument
113 static_assert1[(1 << (SIZE)) == ARRAY_SIZE (MAP##1)]; \
115 static_assert2[(1 << (SIZE)) == ARRAY_SIZE (MAP##2)]; \
117 { OP_REG_PAIR, SIZE, LSB }, OP_REG_##BANK, MAP##1, MAP##2 \
122 #define PCREL(SIZE, LSB, IS_SIGNED, SHIFT, ALIGN_LOG2, INCLUDE_ISA_BIT, \ argument
126 { { OP_PCREL, SIZE, LSB }, \
127 (1 << ((SIZE) - (IS_SIGNED))) - 1, 0, SHIFT, TRUE }, \
133 #define JUMP(SIZE, LSB, SHIFT) \ argument
134 PCREL (SIZE, LSB, FALSE, SHIFT, SIZE + SHIFT, TRUE, FALSE)
136 #define JALX(SIZE, LSB, SHIFT) \ argument
137 PCREL (SIZE, LSB, FALSE, SHIFT, SIZE + SHIFT, TRUE, TRUE)
139 #define BRANCH(SIZE, LSB, SHIFT) \ argument
140 PCREL (SIZE, LSB, TRUE, SHIFT, 0, TRUE, FALSE)
142 #define SPECIAL(SIZE, LSB, TYPE) \ argument
144 static const struct mips_operand op = { OP_##TYPE, SIZE, LSB }; \
148 #define PREV_CHECK(SIZE, LSB, GT_OK, LT_OK, EQ_OK, ZERO_OK) \ argument
151 { OP_CHECK_PREV, SIZE, LSB }, GT_OK, LT_OK, EQ_OK, ZERO_OK \