Lines Matching refs:operand
56 UNUSED, /* Indicates the end of the operand list */
126 struct operand {
127 int bits; /* The number of bits in the operand. */
138 static const struct operand operands[] =
1047 /* Extracts an operand value from an instruction. */
1049 const struct operand *operand)
1054 /* Extract fragments of the operand byte for byte. */
1055 code += operand->shift / 8;
1056 bits = (operand->shift & 7) + operand->bits;
1064 val &= ((1U << (operand->bits - 1)) << 1) - 1;
1067 if (operand->bits == 20 && operand->shift == 20)
1070 /* Sign extend value if the operand is signed or pc relative. */
1071 if ((operand->flags & (OPERAND_SIGNED | OPERAND_PCREL)) &&
1072 (val & (1U << (operand->bits - 1))))
1073 val |= (-1U << (operand->bits - 1)) << 1;
1075 /* Double value if the operand is pc relative. */
1076 if (operand->flags & OPERAND_PCREL)
1080 if (operand->flags & OPERAND_LENGTH)
1161 const struct operand *operand;
1173 operand = operands + *ops;
1174 value = extract_operand(code, operand);
1175 if ((operand->flags & OPERAND_INDEX) && value == 0)
1177 if ((operand->flags & OPERAND_BASE) &&
1184 if (operand->flags & OPERAND_GPR)
1186 else if (operand->flags & OPERAND_FPR)
1188 else if (operand->flags & OPERAND_AR)
1190 else if (operand->flags & OPERAND_CR)
1192 else if (operand->flags & OPERAND_PCREL)
1194 else if (operand->flags & OPERAND_SIGNED)
1198 if (operand->flags & OPERAND_DISP)
1200 else if (operand->flags & OPERAND_BASE) {