Index: src/atomic_powerpc.h ================================================================== --- src/atomic_powerpc.h +++ src/atomic_powerpc.h @@ -23,10 +23,11 @@ "add %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -39,10 +40,11 @@ "add %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -55,10 +57,11 @@ "add %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return (void *)i; } @@ -71,10 +74,11 @@ "sub %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -87,10 +91,11 @@ "sub %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -103,10 +108,11 @@ "sub %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return (void *)i; } @@ -121,10 +127,11 @@ "addi %0, %0, 1\n\t" "stwcx. %0, 0, %1\n\t" "bne- 0b" : "=&r"(i) : "r"(p) + : "cc", "memory" ); return i; } @@ -139,10 +146,11 @@ "addi %0, %0, 1\n\t" "stwcx. %0, 0, %1\n\t" "bne- 0b" : "=&r"(i) : "r"(p) + : "cc", "memory" ); return i; } @@ -157,10 +165,11 @@ "subi %0, %0, 1\n\t" "stwcx. %0, 0, %1\n\t" "bne- 0b" : "=&r"(i) : "r"(p) + : "cc", "memory" ); return i; } @@ -175,10 +184,11 @@ "subi %0, %0, 1\n\t" "stwcx. %0, 0, %1\n\t" "bne- 0b" : "=&r"(i) : "r"(p) + : "cc", "memory" ); return i; } @@ -191,10 +201,11 @@ "or %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -207,10 +218,11 @@ "or %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -223,10 +235,11 @@ "and %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -239,10 +252,11 @@ "and %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -255,10 +269,11 @@ "xor %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -271,10 +286,11 @@ "xor %0, %0, %1\n\t" "stwcx. %0, 0, %2\n\t" "bne- 0b" : "=&r"(i) : "r"(i), "r"(p) + : "cc", "memory" ); return i; } @@ -296,11 +312,11 @@ "stwcx. %0, 0, %3\n\t" "li %0, 0\n\t" "2:" : "=&r"(r) : "r"(o), "r"(n), "r"(p) - : "cc" + : "cc", "memory" ); return r; } @@ -322,11 +338,11 @@ "stwcx. %0, 0, %3\n\t" "li %0, 0\n\t" "2:" : "=&r"(r) : "r"(o), "r"(n), "r"(p) - : "cc" + : "cc", "memory" ); return r; } @@ -349,11 +365,11 @@ "stwcx. %0, 0, %3\n\t" "li %0, 0\n\t" "2:" : "=&r"(r) : "r"(o), "r"(n), "r"(p) - : "cc" + : "cc", "memory" ); return r; }