x86: Disable SSE in ISA2 for -mgeneral-regs-only

Replace OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET
in OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET to disable SSE, AVX and
AVX512 ISAs.

gcc/

	PR target/105000
	* common/config/i386/i386-common.cc
	(OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
	OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.

gcc/testsuite/

	PR target/105000
	* gcc.target/i386/pr105000-1.c: New test.
	* gcc.target/i386/pr105000-2.c: Likewise.
	* gcc.target/i386/pr105000-3.c: Likewise.
	* gcc.target/i386/pr105000-4.c: Likewise.
This commit is contained in:
H.J. Lu 2022-03-21 11:45:59 -07:00
parent c65bd532e2
commit e8b6afa98f
5 changed files with 45 additions and 1 deletions

View file

@ -321,7 +321,7 @@ along with GCC; see the file COPYING3. If not see
| OPTION_MASK_ISA2_AVX512VP2INTERSECT_UNSET \
| OPTION_MASK_ISA2_AVX512FP16_UNSET)
#define OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET \
(OPTION_MASK_ISA2_AVX512F_UNSET)
OPTION_MASK_ISA2_SSE_UNSET
#define OPTION_MASK_ISA2_AVX_UNSET OPTION_MASK_ISA2_AVX2_UNSET
#define OPTION_MASK_ISA2_SSE4_2_UNSET OPTION_MASK_ISA2_AVX_UNSET
#define OPTION_MASK_ISA2_SSE4_1_UNSET OPTION_MASK_ISA2_SSE4_2_UNSET

View file

@ -0,0 +1,11 @@
/* { dg-do compile } */
/* { dg-options "-O2 -mshstk -mavxvnni" } */
#include <x86gprintrin.h>
__attribute__((target("no-mmx,no-sse")))
int
foo ()
{
return _get_ssp ();
}

View file

@ -0,0 +1,11 @@
/* { dg-do compile } */
/* { dg-options "-O2 -mshstk -mkl" } */
#include <x86gprintrin.h>
__attribute__((target("no-mmx,no-sse")))
int
foo ()
{
return _get_ssp ();
}

View file

@ -0,0 +1,11 @@
/* { dg-do compile } */
/* { dg-options "-O2 -mshstk -mwidekl" } */
#include <x86gprintrin.h>
__attribute__((target("no-mmx,no-sse")))
int
foo ()
{
return _get_ssp ();
}

View file

@ -0,0 +1,11 @@
/* { dg-do compile } */
/* { dg-options "-O2 -mshstk -mavx512fp16" } */
#include <x86gprintrin.h>
__attribute__((target("no-mmx,no-sse")))
int
foo ()
{
return _get_ssp ();
}