r200349 - in /trunk/gcc: ChangeLog config/i386/...

tmsriram@gcc.gnu.org tmsriram@gcc.gnu.org
Sun Jun 23 06:15:00 GMT 2013


Author: tmsriram
Date: Sun Jun 23 06:15:19 2013
New Revision: 200349

URL: http://gcc.gnu.org/viewcvs?rev=200349&root=gcc&view=rev
Log:
Allow mmintrin headers to work with function specific target opts.  Please
see discussion here:
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00740.html

	* config/i386/i386.c (ix86_pragma_target_parse):  Restore target
	when current target options does not apply.
	* config/i386/i386-protos.h (ix86_reset_previous_fndecl): New function.
	* config/i386/i386.c (ix86_reset_previous_fndecl): Ditto.
	* config/i386/bmiintrin.h: Pass appropriate target attributes to header.
	* config/i386/mmintrin.h: Ditto.
	* config/i386/nmmintrin.h: Ditto.
	* config/i386/avx2intrin.h: Ditto.
	* config/i386/fxsrintrin.h: Ditto.
	* config/i386/tbmintrin.h: Ditto.
	* config/i386/xsaveintrin.h: Ditto.
	* config/i386/f16cintrin.h: Ditto.
	* config/i386/xtestintrin.h: Ditto.
	* config/i386/xsaveoptintrin.h: Ditto.
	* config/i386/bmi2intrin.h: Ditto.
	* config/i386/lzcntintrin.h: Ditto.
	* config/i386/smmintrin.h: Ditto.
	* config/i386/wmmintrin.h: Ditto.
	* config/i386/x86intrin.h: Remove all header include guards.
	* config/i386/prfchwintrin.h: Ditto.
	* config/i386/pmmintrin.h: Ditto.
	* config/i386/tmmintrin.h: Ditto.
	* config/i386/xmmintrin.h: Ditto.
	* config/i386/popcntintrin.h: Ditto.
	* config/i386/rdseedintrin.h: Ditto.
	* config/i386/ammintrin.h: Ditto.
	* config/i386/emmintrin.h: Ditto.
	* config/i386/immintrin.h: Remove all header include guards.
	* config/i386/fma4intrin.h: Ditto.
	* config/i386/lwpintrin.h: Ditto.
	* config/i386/xopintrin.h: Ditto.
	* config/i386/ia32intrin.h: Ditto.
	* config/i386/avxintrin.h: Ditto.
	* config/i386/rtmintrin.h: Ditto.
	* config/i386/fmaintrin.h: Ditto.
	* config/i386/mm3dnow.h: Ditto.

	* testsuite/gcc.target/i386/intrinsics_1.c: New test.
	* testsuite/gcc.target/i386/intrinsics_2.c: Ditto.
	* testsuite/gcc.target/i386/intrinsics_3.c: Ditto.
	* testsuite/gcc.target/i386/intrinsics_4.c: Ditto.
	* testsuite/gcc.target/i386/intrinsics_5.c: Ditto.
	* testsuite/gcc.target/i386/intrinsics_6.c: Ditto.
	* testsuite/gcc.target/i386/avx-1.c: Provide macros for builtins
	needing immediate arguments in f16cintrin.h and rtmintrin.h.



Added:
    trunk/gcc/testsuite/gcc.target/i386/intrinsics_1.c
    trunk/gcc/testsuite/gcc.target/i386/intrinsics_2.c
    trunk/gcc/testsuite/gcc.target/i386/intrinsics_3.c
    trunk/gcc/testsuite/gcc.target/i386/intrinsics_4.c
    trunk/gcc/testsuite/gcc.target/i386/intrinsics_5.c
    trunk/gcc/testsuite/gcc.target/i386/intrinsics_6.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/ammintrin.h
    trunk/gcc/config/i386/avx2intrin.h
    trunk/gcc/config/i386/avxintrin.h
    trunk/gcc/config/i386/bmi2intrin.h
    trunk/gcc/config/i386/bmiintrin.h
    trunk/gcc/config/i386/emmintrin.h
    trunk/gcc/config/i386/f16cintrin.h
    trunk/gcc/config/i386/fma4intrin.h
    trunk/gcc/config/i386/fmaintrin.h
    trunk/gcc/config/i386/fxsrintrin.h
    trunk/gcc/config/i386/i386-c.c
    trunk/gcc/config/i386/i386-protos.h
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/ia32intrin.h
    trunk/gcc/config/i386/immintrin.h
    trunk/gcc/config/i386/lwpintrin.h
    trunk/gcc/config/i386/lzcntintrin.h
    trunk/gcc/config/i386/mm3dnow.h
    trunk/gcc/config/i386/mmintrin.h
    trunk/gcc/config/i386/nmmintrin.h
    trunk/gcc/config/i386/pmmintrin.h
    trunk/gcc/config/i386/popcntintrin.h
    trunk/gcc/config/i386/prfchwintrin.h
    trunk/gcc/config/i386/rdseedintrin.h
    trunk/gcc/config/i386/rtmintrin.h
    trunk/gcc/config/i386/smmintrin.h
    trunk/gcc/config/i386/tbmintrin.h
    trunk/gcc/config/i386/tmmintrin.h
    trunk/gcc/config/i386/wmmintrin.h
    trunk/gcc/config/i386/x86intrin.h
    trunk/gcc/config/i386/xmmintrin.h
    trunk/gcc/config/i386/xopintrin.h
    trunk/gcc/config/i386/xsaveintrin.h
    trunk/gcc/config/i386/xsaveoptintrin.h
    trunk/gcc/config/i386/xtestintrin.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/avx-1.c



More information about the Gcc-cvs mailing list