aboutsummaryrefslogtreecommitdiff
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
commit1ef52f49b55a9e0dfc107f5c6832bf9db6c0fc2d (patch)
treeaf682de06c7d3e351a80647be7a38194f6bd6293 /gas
parentc9d707578e291858083028f1b4230be113d84d46 (diff)
downloadfsf-binutils-gdb-1ef52f49b55a9e0dfc107f5c6832bf9db6c0fc2d.zip
fsf-binutils-gdb-1ef52f49b55a9e0dfc107f5c6832bf9db6c0fc2d.tar.gz
fsf-binutils-gdb-1ef52f49b55a9e0dfc107f5c6832bf9db6c0fc2d.tar.bz2
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 32bb413..58697d6 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 35498f2..99b6e41 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 fc6794b..d1240bf 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 09149bb..ccb7ecf 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 e53a23d..04c90da 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\}