summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-11 14:09:30 +0000
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-11 14:09:30 +0000
commit74d500fb012b4ad68acf531784a756dbe271a6d2 (patch)
treec09f91af0c54de0985d5a415cf2c88fc2d1c1afd /gcc/cp
parent13b8babff2d06ff16e262df8a96efd78ac6154f8 (diff)
downloadgcc-74d500fb012b4ad68acf531784a756dbe271a6d2.tar.gz
simplify-rtx: Simplify trunc of and of shiftrt
If we have (truncate:M1 (and:M2 (lshiftrt:M2 (x:M2) C) C2)) we can write it instead as (and:M1 (lshiftrt:M1 (truncate:M1 (x:M2)) C) C2) (if that is valid, of course), which has smaller modes for the binary ops, and the truncate can often simplify further (if "x" is a register, for example). * gcc/simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of [LA]SHIFTRT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230164 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
0 files changed, 0 insertions, 0 deletions