sfp-machine.h (__FP_FRAC_ADDI_4): New macro.
authorUros Bizjak <uros@gcc.gnu.org>
Thu, 28 Nov 2013 15:31:23 +0000 (16:31 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 28 Nov 2013 15:31:23 +0000 (16:31 +0100)
* config/i386/32/sfp-machine.h (__FP_FRAC_ADDI_4): New macro.

From-SVN: r205488

libgcc/ChangeLog
libgcc/config/i386/32/sfp-machine.h

index 0107350..32705bf 100644 (file)
@@ -1,4 +1,8 @@
-2013-11-26  Matthew Leach  <matthew.leach@arm.com>
+2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/32/sfp-machine.h (__FP_FRAC_ADDI_4): New macro.
+
+2013-11-28  Matthew Leach  <matthew.leach@arm.com>
 
        * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state): Check
        for correct opcodes on BE.
index b9eb166..1fa282d 100644 (file)
             "g" ((USItype) (y1)),                              \
             "2" ((USItype) (x0)),                              \
             "g" ((USItype) (y0)))
+#define __FP_FRAC_ADDI_4(x3,x2,x1,x0,i)                                \
+  __asm__ ("add{l} {%4,%3|%3,%4}\n\t"                          \
+          "adc{l} {$0,%2|%2,0}\n\t"                            \
+          "adc{l} {$0,%1|%1,0}\n\t"                            \
+          "adc{l} {$0,%0|%0,0}"                                \
+          : "+r" ((USItype) (x3)),                             \
+            "+&r" ((USItype) (x2)),                            \
+            "+&r" ((USItype) (x1)),                            \
+            "+&r" ((USItype) (x0))                             \
+          : "g" ((USItype) (i)))
 
 
 #define _FP_MUL_MEAT_S(R,X,Y)                          \