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

davem@gcc.gnu.org davem@gcc.gnu.org
Wed Oct 5 03:26:00 GMT 2011


Author: davem
Date: Wed Oct  5 03:25:58 2011
New Revision: 179535

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179535
Log:
Add support for more sparc VIS 3.0 instructions.

gcc/

	* config/sparc/sparc.md (UNSPEC_FHADD, UNSPEC_FHSUB,
	UNSPEC_XMUL): New unspecs.
	(muldi3_v8plus): Use output_v8plus_mult.
	(*naddsf3, *nadddf3, *nmulsf3, *nmuldf3, *nmuldf3_extend):
	New VIS 3.0 combiner patterns.
	(fhaddsf_vis, fhadddf_vis, fhsubsf_vis, fhsubdf_vis,
	fnhaddsf_vis, fnhaddf_vis, umulxhi_vis, *umulxhi_sp64,
	umulxhi_v8plus, xmulx_vis, *xmulx_sp64, xmulx_v8plus,
	xmulxhi_vis, *xmulxhi_sp64, xmulxhi_v8plus): New VIS 3.0
	builtins patterns.
	* config/sparc/sparc.c (sparc_vis_init_builtins): Emit new
	builtins.
	(output_v8plus_mult): New function.
	* config/sparc/sparc-protos.h: Declare it.
	* config/sparc/visintrin.h (__vis_fhadds, __vis_fhaddd,
	__vis_fhsubs, __vis_fhsubd, __vis_fnhadds, __vis_fnhaddd,
	__vis_umulxhi, __vis_xmulx, __vis_xmulxhi): New intrinsics.
	* doc/extend.texi: Document new builtins.

gcc/testsuite/

	* gcc.target/sparc/fhalve.c: New test.
	* gcc.target/sparc/fnegop.c: New test.
	* gcc.target/sparc/xmul.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/sparc/fhalve.c
    trunk/gcc/testsuite/gcc.target/sparc/fnegop.c
    trunk/gcc/testsuite/gcc.target/sparc/xmul.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sparc/sparc-protos.h
    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



More information about the Gcc-cvs mailing list