gas/
authorJoseph Myers <joseph@codesourcery.com>
Sat, 19 Aug 2006 16:27:35 +0000 (16:27 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Sat, 19 Aug 2006 16:27:35 +0000 (16:27 +0000)
* config/tc-arm.c (s_arm_unwind_save_mmxwr): Correct condition for
merging with previous long opcode.

gas/testsuite/
* gas/arm/unwind.s: Test not merging iWMMXt register save with
previous long opcode.
* gas/arm/unwind.d, gas/arm/unwind_vxworks.d: Update.

ChangeLog.csl
gas/config/tc-arm.c
gas/testsuite/gas/arm/unwind.d
gas/testsuite/gas/arm/unwind.s
gas/testsuite/gas/arm/unwind_vxworks.d

index 6ccbea3..ac2b988 100644 (file)
@@ -1,3 +1,14 @@
+2006-08-19  Joseph Myers  <joseph@codesourcery.com>
+
+       gas/
+       * config/tc-arm.c (s_arm_unwind_save_mmxwr): Correct condition for
+       merging with previous long opcode.
+
+       gas/testsuite/
+       * 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-18  Paul Brook  <paul@codesourcery.com>
 
        Backport from mainline.
index 9c3077a..176c065 100644 (file)
@@ -3454,7 +3454,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);
index cd4a7c7..e7a9036 100644 (file)
@@ -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)  .*
index 7d0f126..f050378 100644 (file)
@@ -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}
index ccd16a6..4e4b215 100644 (file)
@@ -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  .*