Kaydet (Commit) a0346e56 authored tarafından Stefan Krah's avatar Stefan Krah

Support gcc's -ansi flag: use "__asm__" instead of "asm".

üst e59aa8c9
...@@ -207,10 +207,10 @@ _mpd_mul_words(mpd_uint_t *hi, mpd_uint_t *lo, mpd_uint_t a, mpd_uint_t b) ...@@ -207,10 +207,10 @@ _mpd_mul_words(mpd_uint_t *hi, mpd_uint_t *lo, mpd_uint_t a, mpd_uint_t b)
{ {
mpd_uint_t h, l; mpd_uint_t h, l;
asm ( "mulq %3\n\t" __asm__ ( "mulq %3\n\t"
: "=d" (h), "=a" (l) : "=d" (h), "=a" (l)
: "%a" (a), "rm" (b) : "%a" (a), "rm" (b)
: "cc" : "cc"
); );
*hi = h; *hi = h;
...@@ -223,10 +223,10 @@ _mpd_div_words(mpd_uint_t *q, mpd_uint_t *r, mpd_uint_t hi, mpd_uint_t lo, ...@@ -223,10 +223,10 @@ _mpd_div_words(mpd_uint_t *q, mpd_uint_t *r, mpd_uint_t hi, mpd_uint_t lo,
{ {
mpd_uint_t qq, rr; mpd_uint_t qq, rr;
asm ( "divq %4\n\t" __asm__ ( "divq %4\n\t"
: "=a" (qq), "=d" (rr) : "=a" (qq), "=d" (rr)
: "a" (lo), "d" (hi), "rm" (d) : "a" (lo), "d" (hi), "rm" (d)
: "cc" : "cc"
); );
*q = qq; *q = qq;
...@@ -464,10 +464,10 @@ _mpd_mul_words(mpd_uint_t *hi, mpd_uint_t *lo, mpd_uint_t a, mpd_uint_t b) ...@@ -464,10 +464,10 @@ _mpd_mul_words(mpd_uint_t *hi, mpd_uint_t *lo, mpd_uint_t a, mpd_uint_t b)
{ {
mpd_uint_t h, l; mpd_uint_t h, l;
asm ( "mull %3\n\t" __asm__ ( "mull %3\n\t"
: "=d" (h), "=a" (l) : "=d" (h), "=a" (l)
: "%a" (a), "rm" (b) : "%a" (a), "rm" (b)
: "cc" : "cc"
); );
*hi = h; *hi = h;
...@@ -480,10 +480,10 @@ _mpd_div_words(mpd_uint_t *q, mpd_uint_t *r, mpd_uint_t hi, mpd_uint_t lo, ...@@ -480,10 +480,10 @@ _mpd_div_words(mpd_uint_t *q, mpd_uint_t *r, mpd_uint_t hi, mpd_uint_t lo,
{ {
mpd_uint_t qq, rr; mpd_uint_t qq, rr;
asm ( "divl %4\n\t" __asm__ ( "divl %4\n\t"
: "=a" (qq), "=d" (rr) : "=a" (qq), "=d" (rr)
: "a" (lo), "d" (hi), "rm" (d) : "a" (lo), "d" (hi), "rm" (d)
: "cc" : "cc"
); );
*q = qq; *q = qq;
......
...@@ -402,22 +402,22 @@ ppro_mulmod(mpd_uint_t a, mpd_uint_t b, double *dmod, uint32_t *dinvmod) ...@@ -402,22 +402,22 @@ ppro_mulmod(mpd_uint_t a, mpd_uint_t b, double *dmod, uint32_t *dinvmod)
{ {
mpd_uint_t retval; mpd_uint_t retval;
asm ( __asm__ (
"fildl %2\n\t" "fildl %2\n\t"
"fildl %1\n\t" "fildl %1\n\t"
"fmulp %%st, %%st(1)\n\t" "fmulp %%st, %%st(1)\n\t"
"fldt (%4)\n\t" "fldt (%4)\n\t"
"fmul %%st(1), %%st\n\t" "fmul %%st(1), %%st\n\t"
"flds %5\n\t" "flds %5\n\t"
"fadd %%st, %%st(1)\n\t" "fadd %%st, %%st(1)\n\t"
"fsubrp %%st, %%st(1)\n\t" "fsubrp %%st, %%st(1)\n\t"
"fldl (%3)\n\t" "fldl (%3)\n\t"
"fmulp %%st, %%st(1)\n\t" "fmulp %%st, %%st(1)\n\t"
"fsubrp %%st, %%st(1)\n\t" "fsubrp %%st, %%st(1)\n\t"
"fistpl %0\n\t" "fistpl %0\n\t"
: "=m" (retval) : "=m" (retval)
: "m" (a), "m" (b), "r" (dmod), "r" (dinvmod), "m" (MPD_TWO63) : "m" (a), "m" (b), "r" (dmod), "r" (dinvmod), "m" (MPD_TWO63)
: "st", "memory" : "st", "memory"
); );
return retval; return retval;
...@@ -432,33 +432,33 @@ static inline void ...@@ -432,33 +432,33 @@ static inline void
ppro_mulmod2c(mpd_uint_t *a0, mpd_uint_t *a1, mpd_uint_t w, ppro_mulmod2c(mpd_uint_t *a0, mpd_uint_t *a1, mpd_uint_t w,
double *dmod, uint32_t *dinvmod) double *dmod, uint32_t *dinvmod)
{ {
asm ( __asm__ (
"fildl %2\n\t" "fildl %2\n\t"
"fildl (%1)\n\t" "fildl (%1)\n\t"
"fmul %%st(1), %%st\n\t" "fmul %%st(1), %%st\n\t"
"fxch %%st(1)\n\t" "fxch %%st(1)\n\t"
"fildl (%0)\n\t" "fildl (%0)\n\t"
"fmulp %%st, %%st(1) \n\t" "fmulp %%st, %%st(1) \n\t"
"fldt (%4)\n\t" "fldt (%4)\n\t"
"flds %5\n\t" "flds %5\n\t"
"fld %%st(2)\n\t" "fld %%st(2)\n\t"
"fmul %%st(2)\n\t" "fmul %%st(2)\n\t"
"fadd %%st(1)\n\t" "fadd %%st(1)\n\t"
"fsub %%st(1)\n\t" "fsub %%st(1)\n\t"
"fmull (%3)\n\t" "fmull (%3)\n\t"
"fsubrp %%st, %%st(3)\n\t" "fsubrp %%st, %%st(3)\n\t"
"fxch %%st(2)\n\t" "fxch %%st(2)\n\t"
"fistpl (%0)\n\t" "fistpl (%0)\n\t"
"fmul %%st(2)\n\t" "fmul %%st(2)\n\t"
"fadd %%st(1)\n\t" "fadd %%st(1)\n\t"
"fsubp %%st, %%st(1)\n\t" "fsubp %%st, %%st(1)\n\t"
"fmull (%3)\n\t" "fmull (%3)\n\t"
"fsubrp %%st, %%st(1)\n\t" "fsubrp %%st, %%st(1)\n\t"
"fistpl (%1)\n\t" "fistpl (%1)\n\t"
: : "r" (a0), "r" (a1), "m" (w), : : "r" (a0), "r" (a1), "m" (w),
"r" (dmod), "r" (dinvmod), "r" (dmod), "r" (dinvmod),
"m" (MPD_TWO63) "m" (MPD_TWO63)
: "st", "memory" : "st", "memory"
); );
} }
...@@ -471,41 +471,41 @@ static inline void ...@@ -471,41 +471,41 @@ static inline void
ppro_mulmod2(mpd_uint_t *a0, mpd_uint_t b0, mpd_uint_t *a1, mpd_uint_t b1, ppro_mulmod2(mpd_uint_t *a0, mpd_uint_t b0, mpd_uint_t *a1, mpd_uint_t b1,
double *dmod, uint32_t *dinvmod) double *dmod, uint32_t *dinvmod)
{ {
asm ( __asm__ (
"fildl %3\n\t" "fildl %3\n\t"
"fildl (%2)\n\t" "fildl (%2)\n\t"
"fmulp %%st, %%st(1)\n\t" "fmulp %%st, %%st(1)\n\t"
"fildl %1\n\t" "fildl %1\n\t"
"fildl (%0)\n\t" "fildl (%0)\n\t"
"fmulp %%st, %%st(1)\n\t" "fmulp %%st, %%st(1)\n\t"
"fldt (%5)\n\t" "fldt (%5)\n\t"
"fld %%st(2)\n\t" "fld %%st(2)\n\t"
"fmul %%st(1), %%st\n\t" "fmul %%st(1), %%st\n\t"
"fxch %%st(1)\n\t" "fxch %%st(1)\n\t"
"fmul %%st(2), %%st\n\t" "fmul %%st(2), %%st\n\t"
"flds %6\n\t" "flds %6\n\t"
"fldl (%4)\n\t" "fldl (%4)\n\t"
"fxch %%st(3)\n\t" "fxch %%st(3)\n\t"
"fadd %%st(1), %%st\n\t" "fadd %%st(1), %%st\n\t"
"fxch %%st(2)\n\t" "fxch %%st(2)\n\t"
"fadd %%st(1), %%st\n\t" "fadd %%st(1), %%st\n\t"
"fxch %%st(2)\n\t" "fxch %%st(2)\n\t"
"fsub %%st(1), %%st\n\t" "fsub %%st(1), %%st\n\t"
"fxch %%st(2)\n\t" "fxch %%st(2)\n\t"
"fsubp %%st, %%st(1)\n\t" "fsubp %%st, %%st(1)\n\t"
"fxch %%st(1)\n\t" "fxch %%st(1)\n\t"
"fmul %%st(2), %%st\n\t" "fmul %%st(2), %%st\n\t"
"fxch %%st(1)\n\t" "fxch %%st(1)\n\t"
"fmulp %%st, %%st(2)\n\t" "fmulp %%st, %%st(2)\n\t"
"fsubrp %%st, %%st(3)\n\t" "fsubrp %%st, %%st(3)\n\t"
"fsubrp %%st, %%st(1)\n\t" "fsubrp %%st, %%st(1)\n\t"
"fxch %%st(1)\n\t" "fxch %%st(1)\n\t"
"fistpl (%2)\n\t" "fistpl (%2)\n\t"
"fistpl (%0)\n\t" "fistpl (%0)\n\t"
: : "r" (a0), "m" (b0), "r" (a1), "m" (b1), : : "r" (a0), "m" (b0), "r" (a1), "m" (b1),
"r" (dmod), "r" (dinvmod), "r" (dmod), "r" (dinvmod),
"m" (MPD_TWO63) "m" (MPD_TWO63)
: "st", "memory" : "st", "memory"
); );
} }
/* END PPRO GCC ASM */ /* END PPRO GCC ASM */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment