gas:
authorJoseph Myers <joseph@codesourcery.com>
Mon, 21 Aug 2006 11:41:24 +0000 (11:41 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 21 Aug 2006 11:41:24 +0000 (11:41 +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.

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

index d9b215f7e9074ef627989e8676df6dea643adce4..ca8e0a5ecfa98f50ee7e198d75454a7b195a4a0b 100644 (file)
@@ -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.
index 577c76c1204e16f80861dc513d6ef325e2cb57da..63aa32e75d073b77306d305f15dc740aa7cc743e 100644 (file)
@@ -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);
index 35220b60d68de961abc7e53da5af10fdbf0e217e..d4bd44be426b17cc1b08e80082f98d49cc5a1950 100644 (file)
@@ -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.
index cd4a7c7995c2f631c66e4865896422ec0b788652..e7a9036d64df0aedafea0d0e5ca340ca88a842b6 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 7d0f126954f1a4d2dbe2ed25a021ff0cc077f629..f0503788b3ac40fcfe20c03e9b55a57d0355742a 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 ccd16a65cc9aae3770d32a2520b811474e543222..4e4b215ad394a40468e334f2d0f61dc988bcea6a 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  .*