From 9fe2319edef6e4ed73a4694fdf9aecdbccf698b1 Mon Sep 17 00:00:00 2001 From: Rask Ingemann Lambertsen Date: Tue, 30 Oct 2007 00:54:54 +0100 Subject: [PATCH] longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and x86_64 versions. * 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 | 8 ++++++++ gcc/longlong.h | 16 ++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ea03a24c487..8e85aae9a07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2007-10-29 Rask Ingemann Lambertsen + + * 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 PR testsuite/24841 diff --git a/gcc/longlong.h b/gcc/longlong.h index 8350fbc2b45..6c24564bd3e 100644 --- a/gcc/longlong.h +++ b/gcc/longlong.h @@ -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)), \ -- 2.30.2