Commit 56106c2e by Roger Sayle Committed by Kazu Hirata

re PR rtl-optimization/27538 (execute/20030128-1.c FAILs)

	PR rtl-optimization/27538
	* combine.c (expand_compound_operation): Call gen_lowpart
	before calling simplify_shift_const.

From-SVN: r113763
parent c505fc06
2006-05-14 Roger Sayle <roger@eyesopen.com> 2006-05-14 Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/27538
* combine.c (expand_compound_operation): Call gen_lowpart
before calling simplify_shift_const.
2006-05-14 Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/22563 PR rtl-optimization/22563
* expmed.c (store_fixed_bit_field): When using AND and IOR to store * expmed.c (store_fixed_bit_field): When using AND and IOR to store
a fixed width bitfield, always force the intermediates into psuedos. a fixed width bitfield, always force the intermediates into psuedos.
......
...@@ -5736,14 +5736,16 @@ expand_compound_operation (rtx x) ...@@ -5736,14 +5736,16 @@ expand_compound_operation (rtx x)
modewidth = GET_MODE_BITSIZE (GET_MODE (x)); modewidth = GET_MODE_BITSIZE (GET_MODE (x));
if (modewidth + len >= pos) if (modewidth + len >= pos)
tem = simplify_shift_const (NULL_RTX, unsignedp ? LSHIFTRT : ASHIFTRT, {
GET_MODE (x), enum machine_mode mode = GET_MODE (x);
simplify_shift_const (NULL_RTX, ASHIFT, tem = gen_lowpart (mode, XEXP (x, 0));
GET_MODE (x), if (!tem || GET_CODE (tem) == CLOBBER)
XEXP (x, 0), return x;
modewidth - pos - len), tem = simplify_shift_const (NULL_RTX, ASHIFT, mode,
modewidth - len); tem, modewidth - pos - len);
tem = simplify_shift_const (NULL_RTX, unsignedp ? LSHIFTRT : ASHIFTRT,
mode, tem, modewidth - len);
}
else if (unsignedp && len < HOST_BITS_PER_WIDE_INT) else if (unsignedp && len < HOST_BITS_PER_WIDE_INT)
tem = simplify_and_const_int (NULL_RTX, GET_MODE (x), tem = simplify_and_const_int (NULL_RTX, GET_MODE (x),
simplify_shift_const (NULL_RTX, LSHIFTRT, simplify_shift_const (NULL_RTX, LSHIFTRT,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment