Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jun 2011 20:54:44 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r223484 - head/contrib/binutils/gas/config
Message-ID:  <201106232054.p5NKsiZo016106@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Thu Jun 23 20:54:44 2011
New Revision: 223484
URL: http://svn.freebsd.org/changeset/base/223484

Log:
  Make GNU as recognize the ARM 'rrx' mnemonic, which can be generated by
  clang for certain expressions.  Code taken from Apple cctools (GPLv2).
  
  Submitted by:	damjan.marion@gmail.com

Modified:
  head/contrib/binutils/gas/config/tc-arm.c

Modified: head/contrib/binutils/gas/config/tc-arm.c
==============================================================================
--- head/contrib/binutils/gas/config/tc-arm.c	Thu Jun 23 20:31:52 2011	(r223483)
+++ head/contrib/binutils/gas/config/tc-arm.c	Thu Jun 23 20:54:44 2011	(r223484)
@@ -9974,6 +9974,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
@@ -14901,6 +14908,9 @@ static const struct asm_opcode insns[] =
  TCE(rsb,	0600000, ebc00000, 3, (RR, oRR, SH), arit, t_rsb),
  TC3(rsbs,	0700000, ebd00000, 3, (RR, oRR, SH), arit, t_rsb),
 
+ 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_v6
  TCE(cpy,       1a00000, 4600,     2, (RR, RR),      rd_rm, t_cpy),



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106232054.p5NKsiZo016106>