aboutsummaryrefslogtreecommitdiff
path: root/contrib/binutils
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2013-08-17 14:36:32 +0000
committerAndrew Turner <andrew@FreeBSD.org>2013-08-17 14:36:32 +0000
commitfbc66a3be69f6c830709f6c554a44ec99203298c (patch)
treeb283f4629c32b6a756ef45bbeb59dc5dd669ccf6 /contrib/binutils
parent9a57f6e88cc09486ccdce204d8660462510254fc (diff)
Notes
Diffstat (limited to 'contrib/binutils')
-rw-r--r--contrib/binutils/gas/config/tc-arm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/contrib/binutils/gas/config/tc-arm.c b/contrib/binutils/gas/config/tc-arm.c
index b41ce60d065f..e1a6c6dd7065 100644
--- a/contrib/binutils/gas/config/tc-arm.c
+++ b/contrib/binutils/gas/config/tc-arm.c
@@ -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"));
}