diff options
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 11 | ||||
-rw-r--r-- | gas/doc/as.texinfo | 2 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/thumb32.d | 2 |
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\} |