+2019-01-11 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/87305
+ * lra-assigns.c
+ (setup_live_pseudos_and_spill_after_risky_transforms): Add code
+ for little endian pseudos used as paradoxical subreg.
+
2019-01-11 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/88693
- hard_regno_nregs (hard_regno, PSEUDO_REGNO_MODE (i)));
enum reg_class rclass = lra_get_allocno_class (i);
- if (WORDS_BIG_ENDIAN
- && (hard_regno - nregs_diff < 0
- || !TEST_HARD_REG_BIT (reg_class_contents[rclass],
- hard_regno - nregs_diff)))
+ if ((WORDS_BIG_ENDIAN
+ && (hard_regno - nregs_diff < 0
+ || !TEST_HARD_REG_BIT (reg_class_contents[rclass],
+ hard_regno - nregs_diff)))
+ || (!WORDS_BIG_ENDIAN
+ && (hard_regno + nregs_diff >= FIRST_PSEUDO_REGISTER
+ || !TEST_HARD_REG_BIT (reg_class_contents[rclass],
+ hard_regno + nregs_diff))))
{
/* Hard registers of paradoxical sub-registers are out of
range of pseudo register class. Spill the pseudo. */