]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions when __TARGET_SSE__...
authorUros Bizjak <ubizjak@gmail.com>
Mon, 9 Dec 2013 17:37:43 +0000 (18:37 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 9 Dec 2013 17:37:43 +0000 (18:37 +0100)
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

libatomic/ChangeLog
libatomic/config/x86/fenv.c
libgcc/ChangeLog
libgcc/config/i386/sfp-exceptions.c

index 143a72926416d754d1a2a6b3c70d29ff2575a28f..58626a7004742c186d06af5e1f0ec89f9aea8c4c 100644 (file)
@@ -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,
index 154983e5f45621aef55638ec05d33c5d1b964c74..bdd9de75e47555bd36562f0005901f87b6dcbd3f 100644 (file)
@@ -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.   */
index c6b80346095b47225304d7300d0331da2f24cdf5..f83bc889a2824ca5a1e2a74a742e3f7ef58e682a 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
+       instructions when __TARGET_SSE__ is defined.
+
 2013-12-06  Ralf Corsépius  <ralf.corsepius@rtems.org>
 
        * config.host (microblaze-*-rtems*): New.
index 3504c4aedd17ce0f1a7f93d4d6688baeb02b18d2..1bab10b0bdb3287d8b815783ac79370ce8ddf23c 100644 (file)
@@ -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.   */