diff options
Diffstat (limited to 'gas/config/tc-arc.c')
-rw-r--r-- | gas/config/tc-arc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c index 5ced8f037e2..69dad381a72 100644 --- a/gas/config/tc-arc.c +++ b/gas/config/tc-arc.c @@ -3879,7 +3879,8 @@ assemble_insn (const struct arc_opcode *opcode, break; case O_pcl: reloc = ARC_RELOC_TABLE (t->X_md)->reloc; - if (ARC_SHORT (opcode->mask) || opcode->insn_class == JUMP) + if (arc_opcode_len (opcode) == 2 + || 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); @@ -4011,7 +4012,8 @@ assemble_insn (const struct arc_opcode *opcode, insn->relax = relax_insn_p (opcode, tok, ntok, pflags, nflg); /* Instruction length. */ - insn->len = ARC_SHORT (opcode->mask) ? 2 : 4; + insn->len = arc_opcode_len (opcode); + gas_assert (insn->len == 2 || insn->len == 4); insn->insn = image; |