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