summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2012-08-22 14:39:43 +0000
committerjsg <jsg@openbsd.org>2012-08-22 14:39:43 +0000
commitf20666721f3e5d90e525c3cd4c516ff481ab89f9 (patch)
tree39832debf7267cf21194572f5f5cdf2bd3f74114
parentBring in a change from post 2.17 (but still GPLv2) binutils (diff)
downloadwireguard-openbsd-f20666721f3e5d90e525c3cd4c516ff481ab89f9.tar.xz
wireguard-openbsd-f20666721f3e5d90e525c3cd4c516ff481ab89f9.zip
recognise rrx mnemonic, from GPLv2 apple cctools via FreeBSD
ok miod@
-rw-r--r--gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c b/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c
index 485fad2e53c..912fca0e29d 100644
--- a/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c
+++ b/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c
@@ -7644,6 +7644,13 @@ do_t_rbit (void)
}
static void
+do_t_rd_rm (void)
+{
+ inst.instruction |= inst.operands[0].reg << 8;
+ inst.instruction |= inst.operands[1].reg;
+}
+
+static void
do_t_rev (void)
{
if (inst.operands[0].reg <= 7 && inst.operands[1].reg <= 7
@@ -9334,6 +9341,9 @@ static const struct asm_opcode insns[] =
TCE(ldrexd, 1b00f9f, e8d0007f, 3, (RRnpc, oRRnpc, RRnpcb), ldrexd, t_ldrexd),
TCE(strexd, 1a00f90, e8c00070, 4, (RRnpc, RRnpc, oRRnpc, RRnpcb), strexd, t_strexd),
+ TCE(rrx, 1a00060, ea4f0030, 2, (RR, RR), rd_rm, t_rd_rm),
+ TCE(rrxs, 1b00060, ea5f0030, 2, (RR, RR), rd_rm, t_rd_rm),
+
#undef THUMB_VARIANT
#define THUMB_VARIANT &arm_ext_v6t2
TCE(ldrexb, 1d00f9f, e8d00f4f, 2, (RRnpc, RRnpcb), rd_rn, rd_rn),