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

davem@gcc.gnu.org davem@gcc.gnu.org
Tue Sep 27 02:10:00 GMT 2011


Author: davem
Date: Tue Sep 27 02:10:10 2011
New Revision: 179227

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179227
Log:
Improve code generation for edge and pixel-compare, specifically avoid
sign and zero extensions on 64-bit and allow such instructions to be
placed in delay slots.

gcc/

	* config/sparc/sparc.md (edge{8,16,32}{,l}): Return Pmode.
	(fcmp{le,ne,gt,eq}{16,32}): Likewise.
	* config/sparc/visintrin.h: Update edge and pixel-compare
	intrinsics to return 'long' instead of 'int'.
	* doc/extend.texi: Update documentation to match.
	* config/sparc/sparc.c (eligible_for_return_delay): When leaf or
	flat, allow any instruction.  Otherwise, when V9 allow parallels
	which consist only of sets to registers outside of %o0 to %o5.
	(sparc_vis_init_builtins): Update VIS builtin types for edge
	and pixel-compare.

gcc/testsuite/

	* gcc.target/sparc/edge.c: Update for new return types.
	* gcc.target/sparc/fcmp.c: Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sparc/sparc.c
    trunk/gcc/config/sparc/sparc.md
    trunk/gcc/config/sparc/visintrin.h
    trunk/gcc/doc/extend.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/sparc/edge.c
    trunk/gcc/testsuite/gcc.target/sparc/fcmp.c



More information about the Gcc-cvs mailing list