aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-arm.c2
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/arm/unwind.d4
-rw-r--r--gas/testsuite/gas/arm/unwind.s2
-rw-r--r--gas/testsuite/gas/arm/unwind_vxworks.d4
6 files changed, 18 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index d9b215f..ca8e0a5 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-21 Joseph Myers <joseph@codesourcery.com>
+
+ * config/tc-arm.c (s_arm_unwind_save_mmxwr): Correct condition for
+ merging with previous long opcode.
+
2006-08-22 Pedro Alves <pedro_alves@portugalmail.pt>
* Makefile.am (TARG_ENV_HFILES): Add te-wince-pe.h.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 577c76c..63aa32e 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -3448,7 +3448,7 @@ s_arm_unwind_save_mmxwr (void)
op = 0xffff << (reg - 1);
if (reg > 0
- || ((mask & op) == (1u << (reg - 1))))
+ && ((mask & op) == (1u << (reg - 1))))
{
op = (1 << (reg + i + 1)) - 1;
op &= ~((1 << reg) - 1);
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 35220b6..d4bd44b 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2006-08-21 Joseph Myers <joseph@codesourcery.com>
+
+ * gas/arm/unwind.s: Test not merging iWMMXt register save with
+ previous long opcode.
+ * gas/arm/unwind.d, gas/arm/unwind_vxworks.d: Update.
+
2006-08-16 Julian Brown <julian@codesourcery.com>
* gas/arm/noarm.s: Add test for disabled ARM insns.
diff --git a/gas/testsuite/gas/arm/unwind.d b/gas/testsuite/gas/arm/unwind.d
index cd4a7c7..e7a9036 100644
--- a/gas/testsuite/gas/arm/unwind.d
+++ b/gas/testsuite/gas/arm/unwind.d
@@ -32,8 +32,8 @@ Contents of section .text:
0010 (04200520|20052004) .*
Contents of section .ARM.extab:
0000 (449b0181 b0b08086|81019b44 8680b0b0) 00000000 00000000 .*
- 0010 (8402b101 b0b0b005 2a000000 00c60181|01b10284 05b0b0b0 0000002a 8101c600) .*
- 0020 (b0b0c1c1|c1c1b0b0) 00000000 .*
+ 0010 (8402b101 b0b0b005 2a000000 00c60281|01b10284 05b0b0b0 0000002a 8102c600) .*
+ 0020 (d0c6c1c1 b0b0c0c6|c1c1c6d0 c6c0b0b0) 00000000 .*
Contents of section .ARM.exidx:
0000 00000000 (b0b0a880 04000000|80a8b0b0 00000004) 00000000 .*
0010 (08000000 0c000000 0c000000 1c000000|00000008 0000000c 0000000c 0000001c) .*
diff --git a/gas/testsuite/gas/arm/unwind.s b/gas/testsuite/gas/arm/unwind.s
index 7d0f126..f050378 100644
--- a/gas/testsuite/gas/arm/unwind.s
+++ b/gas/testsuite/gas/arm/unwind.s
@@ -27,6 +27,8 @@ foo2: @ Custom personality routine
.fnend
foo3: @ Saving iwmmxt registers
.fnstart
+ .save {wr12}
+ .save {wr13}
.save {wr11}
.save {wr10}
.save {wr10, wr11}
diff --git a/gas/testsuite/gas/arm/unwind_vxworks.d b/gas/testsuite/gas/arm/unwind_vxworks.d
index ccd16a6..4e4b215 100644
--- a/gas/testsuite/gas/arm/unwind_vxworks.d
+++ b/gas/testsuite/gas/arm/unwind_vxworks.d
@@ -31,8 +31,8 @@ Contents of section .text:
0010 (04200520|20052004) .*
Contents of section .ARM.extab:
0000 (449b0181 b0b08086|81019b44 8680b0b0) 00000000 00000000 .*
- 0010 (8402b101 b0b0b005 2a000000 00c60181|01b10284 05b0b0b0 0000002a 8101c600) .*
- 0020 (b0b0c1c1|c1c1b0b0) 00000000 .*
+ 0010 (8402b101 b0b0b005 2a000000 00c60281|01b10284 05b0b0b0 0000002a 8102c600) .*
+ 0020 (d0c6c1c1 b0b0c0c6|c1c1c6d0 c6c0b0b0) 00000000 .*
Contents of section .ARM.exidx:
0000 00000000 (b0b0a880|80a8b0b0) 00000000 00000000 .*
0010 00000000 00000000 00000000 00000000 .*