aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2013-12-09 18:37:43 +0100
committerUros Bizjak <uros@gcc.gnu.org>2013-12-09 18:37:43 +0100
commit8b02e720d284afc560c45326c399e910dca28a47 (patch)
tree8f3867bb3c6f13d9430521cbc54a93b16393ce0b /libgcc/config
parentc38114079be0514b9cc992fd9904ce77328ac81b (diff)
downloadgcc-8b02e720d284afc560c45326c399e910dca28a47.zip
gcc-8b02e720d284afc560c45326c399e910dca28a47.tar.gz
gcc-8b02e720d284afc560c45326c399e910dca28a47.tar.bz2
sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions when __TARGET_SSE__ is defined.
libgcc/ChangeLog: 2013-12-09 Uros Bizjak <ubizjak@gmail.com> * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions when __TARGET_SSE__ is defined. libatomic/ChangeLog: 2013-12-09 Uros Bizjak <ubizjak@gmail.com> * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE instructions when __TARGET_SSE__ is defined. From-SVN: r205811
Diffstat (limited to 'libgcc/config')
-rw-r--r--libgcc/config/i386/sfp-exceptions.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libgcc/config/i386/sfp-exceptions.c b/libgcc/config/i386/sfp-exceptions.c
index 3504c4a..1bab10b 100644
--- a/libgcc/config/i386/sfp-exceptions.c
+++ b/libgcc/config/i386/sfp-exceptions.c
@@ -47,7 +47,7 @@ __sfp_handle_exceptions (int _fex)
if (_fex & FP_EX_INVALID)
{
float f = 0.0f;
-#ifdef __x86_64__
+#ifdef __SSE_MATH__
volatile float r __attribute__ ((unused));
asm volatile ("%vdivss\t{%0, %d0|%d0, %0}" : "+x" (f));
r = f; /* Needed to trigger exception. */
@@ -67,7 +67,7 @@ __sfp_handle_exceptions (int _fex)
if (_fex & FP_EX_DIVZERO)
{
float f = 1.0f, g = 0.0f;
-#ifdef __x86_64__
+#ifdef __SSE_MATH__
volatile float r __attribute__ ((unused));
asm volatile ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g));
r = f; /* Needed to trigger exception. */
@@ -95,7 +95,7 @@ __sfp_handle_exceptions (int _fex)
if (_fex & FP_EX_INEXACT)
{
float f = 1.0f, g = 3.0f;
-#ifdef __x86_64__
+#ifdef __SSE_MATH__
volatile float r __attribute__ ((unused));
asm volatile ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g));
r = f; /* Needed to trigger exception. */