gas/arc: Limit special handling of t/nt flag to ARCv2
In a later commit I'll be adding a new version of the ".nt" flag for an ARC700 extension (NPS400) which does not require this same special handling. In this commit I have restricted the special flag handling to only apply if we are assembling for ARCv2. This is a restructuring commit, and there should be no user visible changes after this commit. gas/ChangeLog: * config/tc-arc.c (assemble_insn): Only handle ".t" and ".nt" specially for ARCv2.
This commit is contained in:
parent
e189bfe660
commit
2c52e2e8c9
|
@ -1,3 +1,8 @@
|
|||
2017-03-16 Rinat Zelig <rinat@mellanox.com>
|
||||
|
||||
* config/tc-arc.c (assemble_insn): Only handle ".t" and ".nt"
|
||||
specially for ARCv2.
|
||||
|
||||
2017-03-14 Kito Cheng <kito.cheng@gmail.com>
|
||||
|
||||
* config/tc-riscv.c (validate_riscv_insn): Add 'o' RVC immediate
|
||||
|
|
|
@ -4010,11 +4010,19 @@ assemble_insn (const struct arc_opcode *opcode,
|
|||
if (!strcmp (flg_operand->name, "d"))
|
||||
has_delay_slot = TRUE;
|
||||
|
||||
/* There is an exceptional case when we cannot insert a flag
|
||||
just as it is. The .T flag must be handled in relation with
|
||||
the relative address. */
|
||||
if (!strcmp (flg_operand->name, "t")
|
||||
|| !strcmp (flg_operand->name, "nt"))
|
||||
/* There is an exceptional case when we cannot insert a flag just as
|
||||
it is. On ARCv2 the '.t' and '.nt' flags must be handled in
|
||||
relation with the relative address. Unfortunately, some of the
|
||||
ARC700 extensions (NPS400) also have a '.nt' flag that should be
|
||||
handled in the normal way.
|
||||
|
||||
Flag operands don't have an architecture field, so we can't
|
||||
directly validate that FLAG_OPERAND is valid for the current
|
||||
architecture, what we do instead is just validate that we're
|
||||
assembling for an ARCv2 architecture. */
|
||||
if ((selected_cpu.flags & ARC_OPCODE_ARCV2)
|
||||
&& (!strcmp (flg_operand->name, "t")
|
||||
|| !strcmp (flg_operand->name, "nt")))
|
||||
{
|
||||
unsigned bitYoperand = 0;
|
||||
/* FIXME! move selection bbit/brcc in arc-opc.c. */
|
||||
|
|
Loading…
Reference in New Issue