sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets...
authorUros Bizjak <ubizjak@gmail.com>
Thu, 11 Oct 2012 11:44:51 +0000 (13:44 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 11 Oct 2012 11:44:51 +0000 (13:44 +0200)
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
instructions for 64bit targets only.

From-SVN: r192355

libgcc/ChangeLog
libgcc/config/i386/sfp-exceptions.c

index e521dfaf01d7776e061a8f3cce37bb2ef113e143..b6c3c8e5bc850665e9d390a0b39eb308147cf5e9 100644 (file)
@@ -1,3 +1,8 @@
+2012-10-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
+       instructions for 64bit targets only.
+
 2012-10-10  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
index 14b5ca1dbb3120787084122ddb2fd8fc53dc5de2..0d5c2e0e3f5c76359832c48987e97c339517a47f 100644 (file)
@@ -46,7 +46,7 @@ __sfp_handle_exceptions (int _fex)
   if (_fex & FP_EX_INVALID)
     {
       float f = 0.0f;
-#ifdef __SSE__
+#ifdef __x86_64__
       asm volatile ("%vdivss\t{%0, %d0|%d0, %0}" : "+x" (f));
 #else
       asm volatile ("fdiv\t{%y0, %0|%0, %y0}" : "+t" (f));
@@ -56,7 +56,7 @@ __sfp_handle_exceptions (int _fex)
   if (_fex & FP_EX_DIVZERO)
     {
       float f = 1.0f, g = 0.0f;
-#ifdef __SSE__
+#ifdef __x86_64__
       asm volatile ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g));
 #else
       asm volatile ("fdivs\t%1" : "+t" (f) : "m" (g));