* lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.

From-SVN: r192879
This commit is contained in:
Joern Rennecke 2012-10-27 15:30:31 +00:00 committed by Joern Rennecke
parent 4c7b9b1cb8
commit a1b46e46c5
2 changed files with 10 additions and 9 deletions

View 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

View 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)