summaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-07-01 16:36:28 +0000
committerNick Clifton <nickc@redhat.com>2009-07-01 16:36:28 +0000
commitdf9164e8cd7cf104ee6f9fea6dae3ea30f493170 (patch)
treecdbc8bde668b9dcb0541cb924e093790657512da /gas
parentbe6689f7e10c0cf2e3717caa7ca37abd35842a84 (diff)
downloadbinutils-redhat-df9164e8cd7cf104ee6f9fea6dae3ea30f493170.tar.gz
PR 10168
* config/tc-arm.c (do_t_pkhtb): Swap Rm and Rn when encoding as PKHBT. * gas/arm/thumb32.d: Fix expected disassembly of PKHTB insn.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-arm.c11
-rw-r--r--gas/doc/as.texinfo2
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/arm/thumb32.d2
5 files changed, 23 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 32bb41305b..58697d66df 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-01 Nick Clifton <nickc@redhat.com>
+
+ PR 10168
+ * config/tc-arm.c (do_t_pkhtb): Swap Rm and Rn when encoding as
+ PKHBT.
+
2009-07-01 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (MISSING_FNSTART): Define.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 35498f20c9..99b6e41560 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -10479,7 +10479,16 @@ static void
do_t_pkhtb (void)
{
if (!inst.operands[3].present)
- inst.instruction &= ~0x00000020;
+ {
+ unsigned Rtmp;
+
+ inst.instruction &= ~0x00000020;
+
+ /* PR 10168. Swap the Rm and Rn registers. */
+ Rtmp = inst.operands[1].reg;
+ inst.operands[1].reg = inst.operands[2].reg;
+ inst.operands[2].reg = Rtmp;
+ }
do_t_pkhbt ();
}
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index fc6794ba63..d1240bf562 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -305,7 +305,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
@emph{Target i386 options:}
[@b{--32}|@b{--64}] [@b{-n}]
- [@b{-march}=@var{CPU}[+@var{EXTENSION}@dots{}]] [@b{-mtune}=@var{CPU}]
+ [@b{-march}=@var{CPU}[+@var{EXTENSION}@dots{}]] [@b{-mtune}=@var{CPU}]
@end ifset
@ifset I960
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 09149bbb6e..ccb7ecfff4 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-01 Nick Clifton <nickc@redhat.com>
+
+ PR 10168
+ * gas/arm/thumb32.d: Fix expected disassembly of PKHTB insn.
+
2009-07-01 Paul Brook <paul@codesourcery.com>
* gas/arm/fp-save.s: Add .fnstart and .fnend directives.
diff --git a/gas/testsuite/gas/arm/thumb32.d b/gas/testsuite/gas/arm/thumb32.d
index e53a23dd32..04c90daa9d 100644
--- a/gas/testsuite/gas/arm/thumb32.d
+++ b/gas/testsuite/gas/arm/thumb32.d
@@ -687,7 +687,7 @@ Disassembly of section .text:
0[0-9a-f]+ <[^>]+> eac0 0009 pkhbt r0, r0, r9
0[0-9a-f]+ <[^>]+> eac0 5000 pkhbt r0, r0, r0, lsl #20
0[0-9a-f]+ <[^>]+> eac0 00c0 pkhbt r0, r0, r0, lsl #3
-0[0-9a-f]+ <[^>]+> eac2 0103 pkhbt r1, r2, r3
+0[0-9a-f]+ <[^>]+> eac3 0102 pkhbt r1, r3, r2
0[0-9a-f]+ <[^>]+> eac2 4163 pkhtb r1, r2, r3, asr #17
0[0-9a-f]+ <[^>]+> b401 push \{r0\}
0[0-9a-f]+ <[^>]+> bc01 pop \{r0\}