|
int | arc_get_noshortcut_flag (void) |
|
| INSERT_FN (insert_u8) |
|
| INSERT_FN (insert_u16) |
|
| INSERT_FN (insert_uu16) |
|
| INSERT_FN (insert_ul16) |
|
| INSERT_FN (insert_null) |
|
| INSERT_FN (insert_s12) |
|
| INSERT_FN (insert_s15) |
|
| INSERT_FN (insert_reg) |
|
| INSERT_FN (insert_shimmfinish) |
|
| INSERT_FN (insert_limmfinish) |
|
| INSERT_FN (insert_offset) |
|
| INSERT_FN (insert_base) |
|
| INSERT_FN (insert_st_syntax) |
|
| INSERT_FN (insert_ld_syntax) |
|
| INSERT_FN (insert_ex_syntax) |
|
| INSERT_FN (insert_addr_wb) |
|
| INSERT_FN (insert_flag) |
|
| INSERT_FN (insert_nullify) |
|
| INSERT_FN (insert_flagfinish) |
|
| INSERT_FN (insert_cond) |
|
| INSERT_FN (insert_forcelimm) |
|
| INSERT_FN (insert_reladdr) |
|
| INSERT_FN (insert_absaddr) |
|
| INSERT_FN (insert_jumpflags) |
|
| INSERT_FN (insert_unopmacro) |
|
| EXTRACT_FN (extract_reg) |
|
| EXTRACT_FN (extract_ld_offset) |
|
| EXTRACT_FN (extract_ld_syntax) |
|
| EXTRACT_FN (extract_st_offset) |
|
| EXTRACT_FN (extract_st_syntax) |
|
| EXTRACT_FN (extract_flag) |
|
| EXTRACT_FN (extract_cond) |
|
| EXTRACT_FN (extract_reladdr) |
|
| EXTRACT_FN (extract_jumpflags) |
|
| EXTRACT_FN (extract_unopmacro) |
|
static arc_insn | insert_u8 (arc_insn insn, long *insn2 ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_s12 (arc_insn insn, long *ex, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_u16 (arc_insn insn, long *ex, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_uu16 (arc_insn insn, long *ex, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_ul16 (arc_insn insn, long *ex, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_s15 (arc_insn insn, long *ex, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_null (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_reg (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods, const struct arc_operand_value *reg, long value, const char **errmsg) |
|
static arc_insn | insert_flag (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_nullify (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_flagfinish (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_cond (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_forcelimm (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_addr_wb (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_base (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods, const struct arc_operand_value *reg, long value, const char **errmsg) |
|
static arc_insn | insert_offset (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods, const struct arc_operand_value *reg, long value, const char **errmsg) |
|
static long | extract_st_syntax (arc_insn *insn, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval ATTRIBUTE_UNUSED, int *invalid) |
|
int | arc_limm_fixup_adjust (arc_insn insn) |
|
static arc_insn | insert_st_syntax (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg) |
|
static arc_insn | insert_ld_syntax (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg) |
|
static long | extract_ld_syntax (arc_insn *insn, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval ATTRIBUTE_UNUSED, int *invalid) |
|
static arc_insn | insert_ex_syntax (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg) |
|
static arc_insn | insert_shimmfinish (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_limmfinish (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_jumpflags (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value, const char **errmsg) |
|
static arc_insn | insert_unopmacro (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
static arc_insn | insert_reladdr (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value, const char **errmsg) |
|
static arc_insn | insert_absaddr (arc_insn insn, long *ex ATTRIBUTE_UNUSED, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value *reg ATTRIBUTE_UNUSED, long value ATTRIBUTE_UNUSED, const char **errmsg) |
|
void | arc_opcode_init_extract (void) |
|
static const struct arc_operand_value * | lookup_register (int type, long regno) |
|
static long | extract_reg (arc_insn *insn, const struct arc_operand *operand, int mods, const struct arc_operand_value **opval, int *invalid ATTRIBUTE_UNUSED) |
|
static long | extract_flag (arc_insn *insn, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval, int *invalid ATTRIBUTE_UNUSED) |
|
static long | extract_cond (arc_insn *insn, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval, int *invalid ATTRIBUTE_UNUSED) |
|
static long | extract_reladdr (arc_insn *insn, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval ATTRIBUTE_UNUSED, int *invalid ATTRIBUTE_UNUSED) |
|
static long | extract_jumpflags (arc_insn *insn, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval ATTRIBUTE_UNUSED, int *invalid) |
|
static long | extract_st_offset (arc_insn *insn, const struct arc_operand *operand, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval ATTRIBUTE_UNUSED, int *invalid) |
|
static long | extract_ld_offset (arc_insn *insn, const struct arc_operand *operand, int mods, const struct arc_operand_value **opval, int *invalid) |
|
static long | extract_unopmacro (arc_insn *insn, const struct arc_operand *operand ATTRIBUTE_UNUSED, int mods ATTRIBUTE_UNUSED, const struct arc_operand_value **opval ATTRIBUTE_UNUSED, int *invalid) |
|
int | arc_get_opcode_mach (int bfd_mach, int big_p) |
|
void | arc_opcode_init_tables (int flags) |
|
int | arc_opcode_supported (const struct arc_opcode *opcode) |
|
int | arc_opval_supported (const struct arc_operand_value *opval ATTRIBUTE_UNUSED) |
|
const struct arc_opcode * | arc_opcode_lookup_asm (const char *insn) |
|
const struct arc_opcode * | arc_opcode_lookup_dis (unsigned int insn) |
|
int | arc_test_wb (void) |
|
void | arc_opcode_init_insert (void) |
|
int | arc_opcode_limm_p (long *limmp) |
|
const struct arc_operand_value * | arc_opcode_lookup_suffix (const struct arc_operand *type, int value) |
|
int | arc_insn_is_j (arc_insn) |
|
int | ac_lpcc_insn (arc_insn insn) |
|
int | ac_add_reg_sdasym_insn (arc_insn) |
|
int | ac_get_load_sdasym_insn_type (arc_insn, int) |
|
int | ac_get_store_sdasym_insn_type (arc_insn, int) |
|
int | arc_insn_not_jl (arc_insn insn) |
|
int | a4_brk_insn (arc_insn insn) |
|
int | ac_brk_s_insn (arc_insn insn) |
|
int | ac_branch_or_jump_insn (arc_insn insn, int compact_insn_16) |
|
int | ARC700_rtie_insn (arc_insn insn) |
|
int | ac_get_store_sdasym_insn_type (arc_insn insn, int compact_insn_16 ATTRIBUTE_UNUSED) |
|
int | ac_constant_operand (const struct arc_operand *op) |
|
int | ARC700_register_simd_operand (char fmt) |
|
int | ac_register_operand (const struct arc_operand *op) |
|
int | ac_symbol_operand (const struct arc_operand *op) |
|
int | arc_operand_type (int opertype) |
|
struct arc_operand_value * | get_ext_suffix (char *s, char field) |
|
char * | arc_aux_reg_name (int regVal) |
|
Definition at line 4873 of file arc-opc.c.
4947 if ((
suffix->operand.type == ctype) && !strcmp (
s,
suffix->operand.name)) {
4948 return (&
suffix->operand);
unsigned char suffix[65536]
References ADDRESS12, ADDRESS22_AC, ADDRESS22S_AC, ADDRESS24, ADDRESS3, ADDRESS3_AC, ADDRESS9_AC, arc_ext_operands, arc_mach_a4, CACHEBYPASS11_AC, CACHEBYPASS14, CACHEBYPASS15_AC, CACHEBYPASS26, CACHEBYPASS5, CACHEBYPASS5_AC, COND, COND_AC, test-lz4-speed::default, FLAG, FLAG_AC, JUMPFLAGS, NULL, s, SIGN0, SIGN16_AC, SIGN6_AC, SIGN9, SIZE1, SIZE10, SIZE17_AC, SIZE1_AC, SIZE22, SIZE7_AC, and suffix.
Definition at line 1505 of file arc-opc.c.
1512 long minval, maxval;
1525 if ((insn &
I (-1)) !=
I (1)) {
1550 minval = -(1 << (
bits - 1));
1551 maxval = (1 << (
bits - 1)) - 1;
1556 maxval = (1 <<
bits) - 1;
1561 *errmsg =
_ (
"too many long constants");
1576 if ((value < minval || value > maxval)) {
1577 *errmsg =
_ (
"need too many limms");
1581 if ((insn &
I (-1)) ==
I (1)) {
1582 *errmsg =
_ (
"to many shimms in load");
1586 *errmsg =
_ (
"too many long constants");
1609 insn |= (((
value & 0x100) >> 8) << 15);
#define ARC_OPERAND_STORE
#define ARC_OPERAND_4BYTE_ALIGNED
#define ARC_OPERAND_2BYTE_ALIGNED
int bits(struct state *s, int need)
const lzma_allocator const uint8_t size_t uint8_t * out
References _, arc_cond_p, arc_mach_a4, ARC_OPERAND_2BYTE_ALIGNED, ARC_OPERAND_4BYTE_ALIGNED, ARC_OPERAND_LOAD, ARC_OPERAND_SIGNED, ARC_OPERAND_STORE, ARC_REG_LIMM, B, bits(), C, ex, I, insert_reg(), limm, limm_p, LS_BASE, LS_OFFSET, ls_operand, LS_VALUE, NULL, OP_LIMM, OP_REG, OP_SHIMM, out, reg, shimm, shimm_p, and value.
Definition at line 1107 of file arc-opc.c.
1114 static char buf[100];
1147 insn |= marker <<
operand->shift;
1157 if ((insn & 0xf8000000) == 0x10000000)
1160 if ((((insn >> 7) & 3) == 0) ||
1161 (((insn >> 7) & 3) == 2)) {
1167 else if ((insn & 0xf8000001) == 0x18000000)
1170 if ((((insn >> 1) & 3) == 0) ||
1171 (((insn >> 1) & 3) == 2)) {
1200 *errmsg =
_(
"unable to fit different valued constants into instruction");
1210 *errmsg =
_ (
"auxiliary register not allowed here");
1212 if ((insn &
I (-1)) ==
I (2))
1215 *errmsg =
_ (
"attempt to set readonly register");
1219 *errmsg =
_ (
"attempt to read writeonly register");
1235 insn |= (((
reg->value & 0x3f) << 6) | ((
reg->value & 0xffffffc0) >> 6));
1245 *errmsg =
_ (
"attempt to set readonly register");
1251 *errmsg =
_ (
"attempt to read writeonly register");
1269 insn |= (
reg->value & 0x7) <<
operand->shift;
1274 insn |= (
reg->value & 0x7) <<
operand->shift;
1275 insn |=
reg->value >> 3;
1284 if ((insn & 0xFF) == 0xFF) {
1285 *errmsg =
_ (
"attempt to set readonly register");
1305 if ((insn &
I (-1)) ==
I (2)) {
1330 if ((insn &
I (-1)) ==
I (3)) {
int ac_add_reg_sdasym_insn(arc_insn)
#define ARC_REGISTER_WRITEONLY
#define ARC_SHIFT_REGB_HIGH_AC
#define ARC_REGISTER_READONLY
if(dbg->bits==RZ_SYS_BITS_64)
References _, ac_add_reg_sdasym_insn(), addrwb_p, arc_cond_p, arc_mach_a4, ARC_MOD_AUXREG, ARC_MOD_SDASYM, arc_operands, ARC_REG_LIMM, ARC_REG_SHIMM, ARC_REG_SHIMM_UPDATE, ARC_REGISTER_READONLY, ARC_REGISTER_WRITEONLY, ARC_SHIFT_REGB_HIGH_AC, ARC_SHIMM_CONST_P, AUXREG, AUXREG_AC, flag_p, flagshimm_handled_p, I, if(), limm, limm_p, LS_BASE, LS_DEST, LS_OFFSET, ls_operand, LS_VALUE, OP_LIMM, OP_NONE, OP_REG, OP_SHIMM, reg, arc_operand::shift, shimm, shimm_p, sprintf, and value.
Referenced by insert_base(), and insert_offset().