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.

Reply via email to