Silence a warning that is incorrect on ARMv6 and later. In the smull, umull,

smlal, and umlal the output registers are allowed to be the same as either
input registers, where in ARMv4 and ARMv5 they could only be the same as the
last input register.
This commit is contained in:
andrew 2013-08-17 14:36:32 +00:00
parent 8919b4e852
commit 4275694348

View File

@ -7218,10 +7218,11 @@ do_mull (void)
inst.instruction |= inst.operands[2].reg;
inst.instruction |= inst.operands[3].reg << 8;
/* rdhi, rdlo and rm must all be different. */
/* rdhi, rdlo and rm must all be different prior to ARMv6. */
if (inst.operands[0].reg == inst.operands[1].reg
|| inst.operands[0].reg == inst.operands[2].reg
|| ((inst.operands[0].reg == inst.operands[2].reg
|| inst.operands[1].reg == inst.operands[2].reg)
&& !ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v6)))
as_tsktsk (_("rdhi, rdlo and rm must all be different"));
}