From: H.J. Lu Date: Sun, 13 Mar 2022 15:57:51 +0000 (-0700) Subject: x86: Also check _SOFT_FLOAT in X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3117ffce4c1598a35e724138735b099262353358;p=test_jj.git x86: Also check _SOFT_FLOAT in Push target("general-regs-only") in 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. --- diff --git a/gcc/config/i386/x86gprintrin.h b/gcc/config/i386/x86gprintrin.h index 017ec29..e0be01d 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__ #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 0000000..cb430ee --- /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 + +__attribute__((target ("general-regs-only"))) +int +foo () +{ + return _get_ssp (); +}