gas/
2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
* config/tc-arc.c (attributes_t): Renamed attribute class to
attr_class.
(find_opcode_match, assemble_insn, tokenize_extinsn): Changed.
opcode/
2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
* arc-dis.c (find_format, find_format, get_auxreg)
(print_insn_arc): Changed.
* arc-ext.h (INSERT_XOP): Likewise.
include/
2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
* opcode/arc.h (struct arc_opcode): Renamed attribute class to
insn_class.
(struct arc_flag_class): Renamed attribute class to flag_class.
+2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * config/tc-arc.c (attributes_t): Renamed attribute class to
+ attr_class.
+ (find_opcode_match, assemble_insn, tokenize_extinsn): Changed.
+
2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
* configuse.tgt: Add entry for arm-phoenix.
2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
* configuse.tgt: Add entry for arm-phoenix.
#define is_spfp_p(op) (((sc) == SPX))
#define is_dpfp_p(op) (((sc) == DPX))
#define is_fpuda_p(op) (((sc) == DPA))
#define is_spfp_p(op) (((sc) == SPX))
#define is_dpfp_p(op) (((sc) == DPX))
#define is_fpuda_p(op) (((sc) == DPA))
-#define is_br_jmp_insn_p(op) (((op)->class == BRANCH || (op)->class == JUMP))
-#define is_kernel_insn_p(op) (((op)->class == KERNEL))
+#define is_br_jmp_insn_p(op) (((op)->insn_class == BRANCH || (op)->insn_class == JUMP))
+#define is_kernel_insn_p(op) (((op)->insn_class == KERNEL))
/* Generic assembler global variables which must be defined by all
targets. */
/* Generic assembler global variables which must be defined by all
targets. */
{
const char *name;
int len;
{
const char *name;
int len;
} attributes_t;
static const attributes_t suffixclass[] =
} attributes_t;
static const attributes_t suffixclass[] =
const char *p;
const struct arc_aux_reg *auxr;
const char *p;
const struct arc_aux_reg *auxr;
- if (opcode->class != AUXREG)
+ if (opcode->insn_class != AUXREG)
goto de_fault;
p = S_GET_NAME (tok[tokidx].X_add_symbol);
goto de_fault;
p = S_GET_NAME (tok[tokidx].X_add_symbol);
/* Check for extension conditional codes. */
if (ext_condcode.arc_ext_condcode
/* Check for extension conditional codes. */
if (ext_condcode.arc_ext_condcode
- && cl_flags->class & F_CLASS_EXTEND)
+ && cl_flags->flag_class & F_CLASS_EXTEND)
{
struct arc_flag_operand *pf = ext_condcode.arc_ext_condcode;
while (pf->name)
{
struct arc_flag_operand *pf = ext_condcode.arc_ext_condcode;
while (pf->name)
- if ((cl_flags->class & F_CLASS_REQUIRED) && cl_matches == 0)
+ if ((cl_flags->flag_class & F_CLASS_REQUIRED) && cl_matches == 0)
- if ((cl_flags->class & F_CLASS_OPTIONAL) && cl_matches > 1)
+ if ((cl_flags->flag_class & F_CLASS_OPTIONAL) && cl_matches > 1)
goto match_failed;
}
/* Did I check all the parsed flags? */
goto match_failed;
}
/* Did I check all the parsed flags? */
switch (t->X_md)
{
case O_plt:
switch (t->X_md)
{
case O_plt:
- if (opcode->class == JUMP)
+ if (opcode->insn_class == JUMP)
as_bad_where (frag_now->fr_file, frag_now->fr_line,
_("Unable to use @plt relocatio for insn %s"),
opcode->name);
as_bad_where (frag_now->fr_file, frag_now->fr_line,
_("Unable to use @plt relocatio for insn %s"),
opcode->name);
break;
case O_pcl:
reloc = ARC_RELOC_TABLE (t->X_md)->reloc;
break;
case O_pcl:
reloc = ARC_RELOC_TABLE (t->X_md)->reloc;
- if (ARC_SHORT (opcode->mask) || opcode->class == JUMP)
+ if (ARC_SHORT (opcode->mask) || opcode->insn_class == JUMP)
as_bad_where (frag_now->fr_file, frag_now->fr_line,
_("Unable to use @pcl relocation for insn %s"),
opcode->name);
as_bad_where (frag_now->fr_file, frag_now->fr_line,
_("Unable to use @pcl relocation for insn %s"),
opcode->name);
if (!strncmp (suffixclass[i].name, input_line_pointer,
suffixclass[i].len))
{
if (!strncmp (suffixclass[i].name, input_line_pointer,
suffixclass[i].len))
{
- suffix_class |= suffixclass[i].class;
+ suffix_class |= suffixclass[i].attr_class;
input_line_pointer += suffixclass[i].len;
break;
}
input_line_pointer += suffixclass[i].len;
break;
}
input_line_pointer,
syntaxclassmod[i].len))
{
input_line_pointer,
syntaxclassmod[i].len))
{
- syntax_class_modifiers |= syntaxclassmod[i].class;
+ syntax_class_modifiers |= syntaxclassmod[i].attr_class;
input_line_pointer += syntaxclassmod[i].len;
break;
}
input_line_pointer += syntaxclassmod[i].len;
break;
}
input_line_pointer,
syntaxclass[i].len))
{
input_line_pointer,
syntaxclass[i].len))
{
- syntax_class |= syntaxclass[i].class;
+ syntax_class |= syntaxclass[i].attr_class;
input_line_pointer += syntaxclass[i].len;
break;
}
input_line_pointer += syntaxclass[i].len;
break;
}
+2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * opcode/arc.h (struct arc_opcode): Renamed attribute class to
+ insn_class.
+ (struct arc_flag_class): Renamed attribute class to flag_class.
+
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* opcode/tic54x.h (struct symbol_): typedef to tic54x_symbol instead of
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* opcode/tic54x.h (struct symbol_): typedef to tic54x_symbol instead of
unsigned cpu;
/* The instruction class. This is used by gdb. */
unsigned cpu;
/* The instruction class. This is used by gdb. */
+ insn_class_t insn_class;
/* The instruction subclass. */
insn_subclass_t subclass;
/* The instruction subclass. */
insn_subclass_t subclass;
struct arc_flag_class
{
/* Flag class. */
struct arc_flag_class
{
/* Flag class. */
+ flag_class_t flag_class;
/* List of valid flags (codes). */
unsigned flags[256];
/* List of valid flags (codes). */
unsigned flags[256];
+2016-05-23 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * arc-dis.c (find_format, find_format, get_auxreg)
+ (print_insn_arc): Changed.
+ * arc-ext.h (INSERT_XOP): Likewise.
+
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* tic54x-dis.c (sprint_mmr): Adjust.
2016-05-23 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* tic54x-dis.c (sprint_mmr): Adjust.
unsigned int value;
/* Check first the extensions. */
unsigned int value;
/* Check first the extensions. */
- if (cl_flags->class & F_CLASS_EXTEND)
+ if (cl_flags->flag_class & F_CLASS_EXTEND)
{
value = (insn[0] & 0x1F);
if (arcExtMap_condCodeName (value))
{
value = (insn[0] & 0x1F);
if (arcExtMap_condCodeName (value))
const unsigned *flgopridx;
/* Check first the extensions. */
const unsigned *flgopridx;
/* Check first the extensions. */
- if (cl_flags->class & F_CLASS_EXTEND)
+ if (cl_flags->flag_class & F_CLASS_EXTEND)
{
const char *name;
value = (insn[0] & 0x1F);
{
const char *name;
value = (insn[0] & 0x1F);
unsigned int i;
const struct arc_aux_reg *auxr = &arc_aux_regs[0];
unsigned int i;
const struct arc_aux_reg *auxr = &arc_aux_regs[0];
- if (opcode->class != AUXREG)
+ if (opcode->insn_class != AUXREG)
return NULL;
name = arcExtMap_auxRegName (value);
return NULL;
name = arcExtMap_auxRegName (value);
(*info->fprintf_func) (info->stream, "%s", opcode->name);
/* Preselect the insn class. */
(*info->fprintf_func) (info->stream, "%s", opcode->name);
/* Preselect the insn class. */
+ switch (opcode->insn_class)
{
case BRANCH:
case JUMP:
{
case BRANCH:
case JUMP:
(OP)->opcode = CODE; \
(OP)->mask = MASK; \
(OP)->cpu = CPU; \
(OP)->opcode = CODE; \
(OP)->mask = MASK; \
(OP)->cpu = CPU; \
+ (OP)->insn_class = ARITH; \
(OP)->subclass = NONE; \
memcpy ((OP)->operands, (ARG), MAX_INSN_ARGS); \
memcpy ((OP)->flags, (FLG), MAX_INSN_FLGS); \
(OP)->subclass = NONE; \
memcpy ((OP)->operands, (ARG), MAX_INSN_ARGS); \
memcpy ((OP)->flags, (FLG), MAX_INSN_FLGS); \