r179628 - in /trunk/gcc: ChangeLog config/sparc...

davem@gcc.gnu.org davem@gcc.gnu.org
Thu Oct 6 19:15:00 GMT 2011


Author: davem
Date: Thu Oct  6 19:15:39 2011
New Revision: 179628

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179628
Log:
Correct errors in sparc SImode popcount/clz patterns when 64-bit.

	* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
	(popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
	SI mode 64-bit code gen case explicitly zero-extend and truncate.
	(*popcount<mode>_sp64): Split up into...
	(*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
	SImode case use truncate.
	(*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
	subtract so the compiler can optimize it.
	(SIDI): Remove unused mode iterator.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sparc/sparc.md



More information about the Gcc-cvs mailing list