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

hjl@gcc.gnu.org hjl@gcc.gnu.org
Wed Nov 15 19:30:00 GMT 2017


Author: hjl
Date: Wed Nov 15 19:30:58 2017
New Revision: 254783

URL: https://gcc.gnu.org/viewcvs?rev=254783&root=gcc&view=rev
Log:
i386: Add X86_TUNE_EMIT_VZEROUPPER

Add X86_TUNE_EMIT_VZEROUPPER to indicate if vzeroupper instruction should
be inserted before a transfer of control flow out of the function.  It is
turned on by default unless we are tuning for KNL.  Users can always use
-mzeroupper or -mno-zeroupper to override X86_TUNE_EMIT_VZEROUPPER.

gcc/

	PR target/82990
	* config/i386/i386.c (pass_insert_vzeroupper::gate): Remove
	TARGET_AVX512ER check.
	(ix86_option_override_internal): Set MASK_VZEROUPPER if
	neither -mzeroupper nor -mno-zeroupper is used and
	TARGET_EMIT_VZEROUPPER is set.
	* config/i386/i386.h (TARGET_EMIT_VZEROUPPER): New.
	* config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER.

gcc/testsuite/

	PR target/82990
	* gcc.target/i386/pr82942-2.c: Add -mtune=knl.
	* gcc.target/i386/pr82990-1.c: New test.
	* gcc.target/i386/pr82990-2.c: Likewise.
	* gcc.target/i386/pr82990-3.c: Likewise.
	* gcc.target/i386/pr82990-4.c: Likewise.
	* gcc.target/i386/pr82990-5.c: Likewise.
	* gcc.target/i386/pr82990-6.c: Likewise.
	* gcc.target/i386/pr82990-7.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr82990-1.c
    trunk/gcc/testsuite/gcc.target/i386/pr82990-2.c
    trunk/gcc/testsuite/gcc.target/i386/pr82990-3.c
    trunk/gcc/testsuite/gcc.target/i386/pr82990-4.c
    trunk/gcc/testsuite/gcc.target/i386/pr82990-5.c
    trunk/gcc/testsuite/gcc.target/i386/pr82990-6.c
    trunk/gcc/testsuite/gcc.target/i386/pr82990-7.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/x86-tune.def
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/pr82942-2.c



More information about the Gcc-cvs mailing list