]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and x86_64 versions.
authorRask Ingemann Lambertsen <rask@sygehus.dk>
Mon, 29 Oct 2007 23:54:54 +0000 (00:54 +0100)
committerRask Ingemann Lambertsen <rask@gcc.gnu.org>
Mon, 29 Oct 2007 23:54:54 +0000 (23:54 +0000)
* longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and
x86_64 versions.
(sub_ddmmss): Likewise.
(umul_ppmm): Likewise.
(udiv_qrnnd): Likewise.

From-SVN: r129756

gcc/ChangeLog
gcc/longlong.h

index ea03a24c487be2d30549f7769829a10db3323dfb..8e85aae9a07fbc76e007ac613897cbb76416f179 100644 (file)
@@ -1,3 +1,11 @@
+2007-10-29  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and
+       x86_64 versions.
+       (sub_ddmmss): Likewise.
+       (umul_ppmm): Likewise.
+       (udiv_qrnnd): Likewise.
+
 2007-10-29  Janis Johnson  <janis187@us.ibm.com>
 
        PR testsuite/24841
index 8350fbc2b45cfbe03fbc2117ba755fee0829e523..6c24564bd3e846db05c16ca367df25e093e3fa63 100644 (file)
@@ -319,7 +319,7 @@ UDItype __umulsidi3 (USItype, USItype);
 
 #if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-  __asm__ ("addl %5,%1\n\tadcl %3,%0"                                  \
+  __asm__ ("add{l} {%5,%1|%1,%5}\n\tadc{l} {%3,%0|%0,%3}"              \
           : "=r" ((USItype) (sh)),                                     \
             "=&r" ((USItype) (sl))                                     \
           : "%0" ((USItype) (ah)),                                     \
@@ -327,7 +327,7 @@ UDItype __umulsidi3 (USItype, USItype);
             "%1" ((USItype) (al)),                                     \
             "g" ((USItype) (bl)))
 #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-  __asm__ ("subl %5,%1\n\tsbbl %3,%0"                                  \
+  __asm__ ("sub{l} {%5,%1|%1,%5}\n\tsbb{l} {%3,%0|%0,%3}"              \
           : "=r" ((USItype) (sh)),                                     \
             "=&r" ((USItype) (sl))                                     \
           : "0" ((USItype) (ah)),                                      \
@@ -335,13 +335,13 @@ UDItype __umulsidi3 (USItype, USItype);
             "1" ((USItype) (al)),                                      \
             "g" ((USItype) (bl)))
 #define umul_ppmm(w1, w0, u, v) \
-  __asm__ ("mull %3"                                                   \
+  __asm__ ("mul{l} %3"                                                 \
           : "=a" ((USItype) (w0)),                                     \
             "=d" ((USItype) (w1))                                      \
           : "%0" ((USItype) (u)),                                      \
             "rm" ((USItype) (v)))
 #define udiv_qrnnd(q, r, n1, n0, dv) \
-  __asm__ ("divl %4"                                                   \
+  __asm__ ("div{l} %4"                                                 \
           : "=a" ((USItype) (q)),                                      \
             "=d" ((USItype) (r))                                       \
           : "0" ((USItype) (n0)),                                      \
@@ -355,7 +355,7 @@ UDItype __umulsidi3 (USItype, USItype);
 
 #if (defined (__x86_64__) || defined (__i386__)) && W_TYPE_SIZE == 64
 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-  __asm__ ("addq %5,%1\n\tadcq %3,%0"                                  \
+  __asm__ ("add{q} {%5,%1|%1,%5}\n\tadc{q} {%3,%0|%0,%3}"              \
           : "=r" ((UDItype) (sh)),                                     \
             "=&r" ((UDItype) (sl))                                     \
           : "%0" ((UDItype) (ah)),                                     \
@@ -363,7 +363,7 @@ UDItype __umulsidi3 (USItype, USItype);
             "%1" ((UDItype) (al)),                                     \
             "rme" ((UDItype) (bl)))
 #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-  __asm__ ("subq %5,%1\n\tsbbq %3,%0"                                  \
+  __asm__ ("sub{q} {%5,%1|%1,%5}\n\tsbb{q} {%3,%0|%0,%3}"              \
           : "=r" ((UDItype) (sh)),                                     \
             "=&r" ((UDItype) (sl))                                     \
           : "0" ((UDItype) (ah)),                                      \
@@ -371,13 +371,13 @@ UDItype __umulsidi3 (USItype, USItype);
             "1" ((UDItype) (al)),                                      \
             "rme" ((UDItype) (bl)))
 #define umul_ppmm(w1, w0, u, v) \
-  __asm__ ("mulq %3"                                                   \
+  __asm__ ("mul{q} %3"                                                 \
           : "=a" ((UDItype) (w0)),                                     \
             "=d" ((UDItype) (w1))                                      \
           : "%0" ((UDItype) (u)),                                      \
             "rm" ((UDItype) (v)))
 #define udiv_qrnnd(q, r, n1, n0, dv) \
-  __asm__ ("divq %4"                                                   \
+  __asm__ ("div{q} %4"                                                 \
           : "=a" ((UDItype) (q)),                                      \
             "=d" ((UDItype) (r))                                       \
           : "0" ((UDItype) (n0)),                                      \