* lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.
authorJoern Rennecke <joern.rennecke@embecosm.com>
Sat, 27 Oct 2012 15:30:31 +0000 (15:30 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Sat, 27 Oct 2012 15:30:31 +0000 (16:30 +0100)
From-SVN: r192879

gcc/ChangeLog
gcc/lra-assigns.c

index f9a4bee960671717b88b9dd3db1beea17a7a16c8..e5e5055b9b0d747def4f562e415d1a3f0d0e7e7a 100644 (file)
@@ -1,3 +1,7 @@
+2012-10-27  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.
+
 2012-10-27  Georg-Johann Lay  <avr@gjlay.de>
 
        PR target/55034
index bcf26afcf292ef97d396d93320255d8f2cf7b4f2..1f89338ebe19dfd589cf139abba7b133b56ee82b 100644 (file)
@@ -571,15 +571,12 @@ find_hard_regno_for (int regno, int *cost, int try_only_hard_regno)
          && HARD_REGNO_MODE_OK (hard_regno, PSEUDO_REGNO_MODE (regno))
          && ! TEST_HARD_REG_BIT (impossible_start_hard_regs, hard_regno)
          && (nregs_diff == 0
-#ifdef WORDS_BIG_ENDIAN
-             || (hard_regno - nregs_diff >= 0
-                 && TEST_HARD_REG_BIT (reg_class_contents[rclass],
-                                       hard_regno - nregs_diff))
-#else
-             || TEST_HARD_REG_BIT (reg_class_contents[rclass],
-                                   hard_regno + nregs_diff)
-#endif
-             ))
+             || (WORDS_BIG_ENDIAN
+                 ? (hard_regno - nregs_diff >= 0
+                    && TEST_HARD_REG_BIT (reg_class_contents[rclass],
+                                          hard_regno - nregs_diff))
+                 : TEST_HARD_REG_BIT (reg_class_contents[rclass],
+                                      hard_regno + nregs_diff))))
        {
          if (hard_regno_costs_check[hard_regno]
              != curr_hard_regno_costs_check)