On Tue, Mar 15, 2022 at 6:57 PM Hongtao Liu <crazy...@gmail.com> wrote: > > On Tue, Mar 15, 2022 at 10:40 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > On Mon, Mar 14, 2022 at 7:31 AM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > > > Push target("general-regs-only") in <x86gprintrin.h> if x87 is enabled. > > > > > > gcc/ > > > > > > PR target/104890 > > > * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before > > > pushing target("general-regs-only"). > > > > > > gcc/testsuite/ > > > > > > PR target/104890 > > > * gcc.target/i386/pr104890.c: New test. > > > --- > > > gcc/config/i386/x86gprintrin.h | 2 +- > > > gcc/testsuite/gcc.target/i386/pr104890.c | 11 +++++++++++ > > > 2 files changed, 12 insertions(+), 1 deletion(-) > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr104890.c > > > > > > diff --git a/gcc/config/i386/x86gprintrin.h > > > b/gcc/config/i386/x86gprintrin.h > > > index 017ec299793..e0be01d5e78 100644 > > > --- a/gcc/config/i386/x86gprintrin.h > > > +++ b/gcc/config/i386/x86gprintrin.h > > > @@ -24,7 +24,7 @@ > > > #ifndef _X86GPRINTRIN_H_INCLUDED > > > #define _X86GPRINTRIN_H_INCLUDED > > > > > > -#if defined __MMX__ || defined __SSE__ > > > +#if !defined _SOFT_FLOAT || defined __MMX__ || defined __SSE__ > The patch LGTM.
I am checking it in. > > > #pragma GCC push_options > > > #pragma GCC target("general-regs-only") > > > #define __DISABLE_GENERAL_REGS_ONLY__ > > > diff --git a/gcc/testsuite/gcc.target/i386/pr104890.c > > > b/gcc/testsuite/gcc.target/i386/pr104890.c > > > new file mode 100644 > > > index 00000000000..cb430eef688 > > > --- /dev/null > > > +++ b/gcc/testsuite/gcc.target/i386/pr104890.c > > > @@ -0,0 +1,11 @@ > > > +/* { dg-do compile { target ia32 } } */ > > > +/* { dg-options "-O2 -mshstk -march=i686" } */ > > > + > > > +#include <x86gprintrin.h> > > > + > > > +__attribute__((target ("general-regs-only"))) > > > +int > > > +foo () > > > +{ > > > + return _get_ssp (); > > > +} > > > -- > > > 2.35.1 > > > > > > > It also fixed: > > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99744#c18 > > > > Any comments on this patch? > > > > -- > > H.J. > > > > -- > BR, > Hongtao -- H.J.