fix clobber list for x86-64 assembler
This commit is contained in:
parent
be2ca4880d
commit
ed1a1e90e9
@ -62,7 +62,7 @@ asm( \
|
|||||||
"movq %%rdx,%1 \n\t" \
|
"movq %%rdx,%1 \n\t" \
|
||||||
:"=g"(_c[LO]), "=r"(cy) \
|
:"=g"(_c[LO]), "=r"(cy) \
|
||||||
:"0"(_c[LO]), "1"(cy), "r"(mu), "r"(*tmpm++) \
|
:"0"(_c[LO]), "1"(cy), "r"(mu), "r"(*tmpm++) \
|
||||||
: "%rax", "%rdx", "%cc")
|
: "%rax", "%rdx", "cc")
|
||||||
|
|
||||||
#define INNERMUL8 \
|
#define INNERMUL8 \
|
||||||
asm( \
|
asm( \
|
||||||
@ -155,7 +155,7 @@ asm( \
|
|||||||
\
|
\
|
||||||
:"=r"(_c), "=r"(cy) \
|
:"=r"(_c), "=r"(cy) \
|
||||||
: "0"(_c), "1"(cy), "g"(mu), "r"(tmpm)\
|
: "0"(_c), "1"(cy), "g"(mu), "r"(tmpm)\
|
||||||
: "%rax", "%rdx", "%r10", "%r11", "%cc")
|
: "%rax", "%rdx", "%r10", "%r11", "cc")
|
||||||
|
|
||||||
|
|
||||||
#define PROPCARRY \
|
#define PROPCARRY \
|
||||||
@ -165,7 +165,7 @@ asm( \
|
|||||||
"movzbq %%al,%1 \n\t" \
|
"movzbq %%al,%1 \n\t" \
|
||||||
:"=g"(_c[LO]), "=r"(cy) \
|
:"=g"(_c[LO]), "=r"(cy) \
|
||||||
:"0"(_c[LO]), "1"(cy) \
|
:"0"(_c[LO]), "1"(cy) \
|
||||||
: "%rax", "%cc")
|
: "%rax", "cc")
|
||||||
|
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
#elif defined(TFM_SSE2)
|
#elif defined(TFM_SSE2)
|
||||||
|
@ -88,7 +88,7 @@ asm ( \
|
|||||||
"addq %%rax,%0 \n\t" \
|
"addq %%rax,%0 \n\t" \
|
||||||
"adcq %%rdx,%1 \n\t" \
|
"adcq %%rdx,%1 \n\t" \
|
||||||
"adcq $0,%2 \n\t" \
|
"adcq $0,%2 \n\t" \
|
||||||
:"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
|
:"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","cc");
|
||||||
|
|
||||||
#elif defined(TFM_SSE2)
|
#elif defined(TFM_SSE2)
|
||||||
/* use SSE2 optimizations */
|
/* use SSE2 optimizations */
|
||||||
|
@ -109,7 +109,7 @@ asm( \
|
|||||||
"addq %%rax,%0 \n\t" \
|
"addq %%rax,%0 \n\t" \
|
||||||
"adcq %%rdx,%1 \n\t" \
|
"adcq %%rdx,%1 \n\t" \
|
||||||
"adcq $0,%2 \n\t" \
|
"adcq $0,%2 \n\t" \
|
||||||
:"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i) :"%rax","%rdx","%cc");
|
:"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i) :"%rax","%rdx","cc");
|
||||||
|
|
||||||
#define SQRADD2(i, j) \
|
#define SQRADD2(i, j) \
|
||||||
asm( \
|
asm( \
|
||||||
@ -121,7 +121,7 @@ asm( \
|
|||||||
"addq %%rax,%0 \n\t" \
|
"addq %%rax,%0 \n\t" \
|
||||||
"adcq %%rdx,%1 \n\t" \
|
"adcq %%rdx,%1 \n\t" \
|
||||||
"adcq $0,%2 \n\t" \
|
"adcq $0,%2 \n\t" \
|
||||||
:"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
|
:"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","cc");
|
||||||
|
|
||||||
#define SQRADDSC(i, j) \
|
#define SQRADDSC(i, j) \
|
||||||
asm( \
|
asm( \
|
||||||
@ -130,7 +130,7 @@ asm( \
|
|||||||
"movq %%rax,%0 \n\t" \
|
"movq %%rax,%0 \n\t" \
|
||||||
"movq %%rdx,%1 \n\t" \
|
"movq %%rdx,%1 \n\t" \
|
||||||
"xorq %2,%2 \n\t" \
|
"xorq %2,%2 \n\t" \
|
||||||
:"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
|
:"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) :"%rax","%rdx","cc");
|
||||||
|
|
||||||
#define SQRADDAC(i, j) \
|
#define SQRADDAC(i, j) \
|
||||||
asm( \
|
asm( \
|
||||||
@ -139,7 +139,7 @@ asm( \
|
|||||||
"addq %%rax,%0 \n\t" \
|
"addq %%rax,%0 \n\t" \
|
||||||
"adcq %%rdx,%1 \n\t" \
|
"adcq %%rdx,%1 \n\t" \
|
||||||
"adcq $0,%2 \n\t" \
|
"adcq $0,%2 \n\t" \
|
||||||
:"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
|
:"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) :"%rax","%rdx","cc");
|
||||||
|
|
||||||
#define SQRADDDB \
|
#define SQRADDDB \
|
||||||
asm( \
|
asm( \
|
||||||
@ -149,7 +149,7 @@ asm( \
|
|||||||
"addq %6,%0 \n\t" \
|
"addq %6,%0 \n\t" \
|
||||||
"adcq %7,%1 \n\t" \
|
"adcq %7,%1 \n\t" \
|
||||||
"adcq %8,%2 \n\t" \
|
"adcq %8,%2 \n\t" \
|
||||||
:"=r"(c0), "=r"(c1), "=r"(c2) : "0"(c0), "1"(c1), "2"(c2), "r"(sc0), "r"(sc1), "r"(sc2) : "%cc");
|
:"=r"(c0), "=r"(c1), "=r"(c2) : "0"(c0), "1"(c1), "2"(c2), "r"(sc0), "r"(sc1), "r"(sc2) : "cc");
|
||||||
|
|
||||||
#elif defined(TFM_SSE2)
|
#elif defined(TFM_SSE2)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user