diff options
| author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-04 14:15:37 +0000 |
|---|---|---|
| committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-04 14:15:37 +0000 |
| commit | 0518a4654158e334d3947b485dc2fec353e80e9b (patch) | |
| tree | 5409dbf0f47dca9a57cdfb0b9da22af3175d67e5 /gcc/tree-inline.c | |
| parent | 7412ead0d624068d2370401cc768b6185ce2b59a (diff) | |
| download | ppe42-gcc-0518a4654158e334d3947b485dc2fec353e80e9b.tar.gz ppe42-gcc-0518a4654158e334d3947b485dc2fec353e80e9b.zip | |
PR rtl-optimization/26244
* cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
inner_const are negative or greater than or equal to the bitsize of
MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
CONST0_RTX (mode) when the new shift count is greater than or equal to
to the bitsize of the object being shifted and XEXP (y, 0) has no side
effects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115924 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
0 files changed, 0 insertions, 0 deletions

