mirror of git://gcc.gnu.org/git/gcc.git
re PR rtl-optimization/46603 (gcc.dg/vect/slp-multitypes-2.c execution failure)
PR rtl-optimization/46603 PR bootstrap/50879 * reload.c (push_reload): In the out case, restore previous behavior for subregs that don't have word mode. From-SVN: r180572
This commit is contained in:
parent
859ed2a79e
commit
2286a26f57
|
@ -1,3 +1,10 @@
|
||||||
|
2011-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/46603
|
||||||
|
PR bootstrap/50879
|
||||||
|
* reload.c (push_reload): In the out case, restore previous behavior
|
||||||
|
for subregs that don't have word mode.
|
||||||
|
|
||||||
2011-10-27 Ian Lance Taylor <iant@google.com>
|
2011-10-27 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
* cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
|
* cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
|
||||||
|
|
|
@ -1140,6 +1140,14 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc,
|
||||||
/ UNITS_PER_WORD)))
|
/ UNITS_PER_WORD)))
|
||||||
#endif
|
#endif
|
||||||
))
|
))
|
||||||
|
|| (REG_P (SUBREG_REG (out))
|
||||||
|
&& REGNO (SUBREG_REG (out)) < FIRST_PSEUDO_REGISTER
|
||||||
|
/* The case of a word mode subreg
|
||||||
|
is handled differently in the following statement. */
|
||||||
|
&& ! (GET_MODE_SIZE (outmode) <= UNITS_PER_WORD
|
||||||
|
&& (GET_MODE_SIZE (GET_MODE (SUBREG_REG (out)))
|
||||||
|
> UNITS_PER_WORD))
|
||||||
|
&& ! HARD_REGNO_MODE_OK (subreg_regno (out), outmode))
|
||||||
|| (secondary_reload_class (0, rclass, outmode, out) != NO_REGS
|
|| (secondary_reload_class (0, rclass, outmode, out) != NO_REGS
|
||||||
&& (secondary_reload_class (0, rclass, GET_MODE (SUBREG_REG (out)),
|
&& (secondary_reload_class (0, rclass, GET_MODE (SUBREG_REG (out)),
|
||||||
SUBREG_REG (out))
|
SUBREG_REG (out))
|
||||||
|
|
Loading…
Reference in New Issue