summaryrefslogtreecommitdiff
path: root/libatomic
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-09 17:37:43 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-09 17:37:43 +0000
commit62f068c68b402c2fd9052579a286c8a2ff2f00cd (patch)
tree8f3867bb3c6f13d9430521cbc54a93b16393ce0b /libatomic
parent0c51fc2899d523f23a585bf1581e431d44249d2e (diff)
downloadgcc-62f068c68b402c2fd9052579a286c8a2ff2f00cd.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205811 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libatomic')
-rw-r--r--libatomic/ChangeLog5
-rw-r--r--libatomic/config/x86/fenv.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog
index 143a7292641..58626a70047 100644
--- a/libatomic/ChangeLog
+++ b/libatomic/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE
+ instructions when __TARGET_SSE__ is defined.
+
2013-11-18 Joseph Myers <joseph@codesourcery.com>
* testsuite/libatomic.c/atomic-compare-exchange-1.c,
diff --git a/libatomic/config/x86/fenv.c b/libatomic/config/x86/fenv.c
index 154983e5f45..bdd9de75e47 100644
--- a/libatomic/config/x86/fenv.c
+++ b/libatomic/config/x86/fenv.c
@@ -56,7 +56,7 @@ __atomic_feraiseexcept (int excepts)
if (excepts & FE_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. */
@@ -76,7 +76,7 @@ __atomic_feraiseexcept (int excepts)
if (excepts & FE_DIVBYZERO)
{
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. */
@@ -104,7 +104,7 @@ __atomic_feraiseexcept (int excepts)
if (excepts & FE_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. */