diff options
author | Martin Liska <mliska@suse.cz> | 2021-03-08 12:08:37 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2021-03-08 15:14:28 +0100 |
commit | e95554dac8284a75c13f4650ef40eea76227282e (patch) | |
tree | 96587f36931c6b185f08b4a24f61da41f8a5a48c | |
parent | 3cb8aab390ccf31e4581863b080db30c6735e51e (diff) | |
download | gcc-e95554dac8284a75c13f4650ef40eea76227282e.zip gcc-e95554dac8284a75c13f4650ef40eea76227282e.tar.gz gcc-e95554dac8284a75c13f4650ef40eea76227282e.tar.bz2 |
i386: Enable UINTR and HRESET for -march that supports it
gcc/ChangeLog:
PR target/99463
* config/i386/i386-options.c (ix86_option_override_internal):
Enable UINTR and HRESET for -march that supports it.
gcc/testsuite/ChangeLog:
PR target/99463
* gcc.target/i386/pr99463-2.c: New test.
* gcc.target/i386/pr99463.c: New test.
-rw-r--r-- | gcc/config/i386/i386-options.c | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr99463-2.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr99463.c | 5 |
3 files changed, 17 insertions, 0 deletions
diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c index cdeabbf..410fa0c 100644 --- a/gcc/config/i386/i386-options.c +++ b/gcc/config/i386/i386-options.c @@ -2354,6 +2354,13 @@ ix86_option_override_internal (bool main_args_p, if (((processor_alias_table[i].flags & PTA_PKU) != 0) && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PKU)) opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PKU; + if (((processor_alias_table[i].flags & PTA_UINTR) != 0) + && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_UINTR)) + opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_UINTR; + if (((processor_alias_table[i].flags & PTA_HRESET) != 0) + && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_HRESET)) + opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_HRESET; + /* Don't enable x87 instructions if only general registers are allowed by target("general-regs-only") function attribute or diff --git a/gcc/testsuite/gcc.target/i386/pr99463-2.c b/gcc/testsuite/gcc.target/i386/pr99463-2.c new file mode 100644 index 0000000..017ca95 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr99463-2.c @@ -0,0 +1,5 @@ +/* PR target/99463 */ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-O2 -march=sapphirerapids" } */ + +#include "uintr-1.c" diff --git a/gcc/testsuite/gcc.target/i386/pr99463.c b/gcc/testsuite/gcc.target/i386/pr99463.c new file mode 100644 index 0000000..0b29092 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr99463.c @@ -0,0 +1,5 @@ +/* PR target/99463 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -march=alderlake" } */ + +#include "hreset-1.c" |