diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c index cdeabbfca4b..410fa0cc436 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 00000000000..017ca959510 --- /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 00000000000..0b290924118 --- /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"