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
This commit is contained in:
parent
c505fc0613
commit
56106c2ed0
@ -1,3 +1,9 @@
|
||||
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
|
||||
|
@ -5736,14 +5736,16 @@ expand_compound_operation (rtx x)
|
||||
|
||||
modewidth = GET_MODE_BITSIZE (GET_MODE (x));
|
||||
if (modewidth + len >= pos)
|
||||
tem = simplify_shift_const (NULL_RTX, unsignedp ? LSHIFTRT : ASHIFTRT,
|
||||
GET_MODE (x),
|
||||
simplify_shift_const (NULL_RTX, ASHIFT,
|
||||
GET_MODE (x),
|
||||
XEXP (x, 0),
|
||||
modewidth - pos - len),
|
||||
modewidth - len);
|
||||
|
||||
{
|
||||
enum machine_mode mode = GET_MODE (x);
|
||||
tem = gen_lowpart (mode, XEXP (x, 0));
|
||||
if (!tem || GET_CODE (tem) == CLOBBER)
|
||||
return x;
|
||||
tem = simplify_shift_const (NULL_RTX, ASHIFT, mode,
|
||||
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)
|
||||
tem = simplify_and_const_int (NULL_RTX, GET_MODE (x),
|
||||
simplify_shift_const (NULL_RTX, LSHIFTRT,
|
||||
|
Loading…
Reference in New Issue
Block a user