r230164 - in /trunk/gcc: ChangeLog simplify-rtx.c

segher@gcc.gnu.org segher@gcc.gnu.org
Wed Nov 11 14:09:00 GMT 2015


Author: segher
Date: Wed Nov 11 14:09:30 2015
New Revision: 230164

URL: https://gcc.gnu.org/viewcvs?rev=230164&root=gcc&view=rev
Log:
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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/simplify-rtx.c



More information about the Gcc-cvs mailing list