r243792 - in /trunk/gcc: ChangeLog combine.c

krebbel@gcc.gnu.org krebbel@gcc.gnu.org
Mon Dec 19 09:51:00 GMT 2016


Author: krebbel
Date: Mon Dec 19 09:51:11 2016
New Revision: 243792

URL: https://gcc.gnu.org/viewcvs?rev=243792&root=gcc&view=rev
Log:
combine: Omit redundant AND in change_zero_ext.

This is another micro-optimisation in change_zero_ext.  If an

  (and (lshiftrt ... (N)) (M))

generated by change_zero_ext is equivalent to just

  (lshiftrt ... (N))

(because the AND constant selects the N rightmost bits of the
result), strip off the AND.

gcc/ChangeLog:

2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* combine.c (change_zero_ext): Skip generation of redundant AND.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/combine.c



More information about the Gcc-cvs mailing list