|
@@ -53,7 +53,7 @@ static __inline__ void atomic_add(int i, atomic_t * v)
|
|
int temp;
|
|
int temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: ll %0, %1 # atomic_add \n"
|
|
"1: ll %0, %1 # atomic_add \n"
|
|
" addu %0, %2 \n"
|
|
" addu %0, %2 \n"
|
|
" sc %0, %1 \n"
|
|
" sc %0, %1 \n"
|
|
@@ -66,7 +66,7 @@ static __inline__ void atomic_add(int i, atomic_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" ll %0, %1 # atomic_add \n"
|
|
" ll %0, %1 # atomic_add \n"
|
|
" addu %0, %2 \n"
|
|
" addu %0, %2 \n"
|
|
" sc %0, %1 \n"
|
|
" sc %0, %1 \n"
|
|
@@ -96,7 +96,7 @@ static __inline__ void atomic_sub(int i, atomic_t * v)
|
|
int temp;
|
|
int temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: ll %0, %1 # atomic_sub \n"
|
|
"1: ll %0, %1 # atomic_sub \n"
|
|
" subu %0, %2 \n"
|
|
" subu %0, %2 \n"
|
|
" sc %0, %1 \n"
|
|
" sc %0, %1 \n"
|
|
@@ -109,7 +109,7 @@ static __inline__ void atomic_sub(int i, atomic_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" ll %0, %1 # atomic_sub \n"
|
|
" ll %0, %1 # atomic_sub \n"
|
|
" subu %0, %2 \n"
|
|
" subu %0, %2 \n"
|
|
" sc %0, %1 \n"
|
|
" sc %0, %1 \n"
|
|
@@ -139,7 +139,7 @@ static __inline__ int atomic_add_return(int i, atomic_t * v)
|
|
int temp;
|
|
int temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: ll %1, %2 # atomic_add_return \n"
|
|
"1: ll %1, %2 # atomic_add_return \n"
|
|
" addu %0, %1, %3 \n"
|
|
" addu %0, %1, %3 \n"
|
|
" sc %0, %2 \n"
|
|
" sc %0, %2 \n"
|
|
@@ -153,7 +153,7 @@ static __inline__ int atomic_add_return(int i, atomic_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" ll %1, %2 # atomic_add_return \n"
|
|
" ll %1, %2 # atomic_add_return \n"
|
|
" addu %0, %1, %3 \n"
|
|
" addu %0, %1, %3 \n"
|
|
" sc %0, %2 \n"
|
|
" sc %0, %2 \n"
|
|
@@ -188,7 +188,7 @@ static __inline__ int atomic_sub_return(int i, atomic_t * v)
|
|
int temp;
|
|
int temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: ll %1, %2 # atomic_sub_return \n"
|
|
"1: ll %1, %2 # atomic_sub_return \n"
|
|
" subu %0, %1, %3 \n"
|
|
" subu %0, %1, %3 \n"
|
|
" sc %0, %2 \n"
|
|
" sc %0, %2 \n"
|
|
@@ -205,7 +205,7 @@ static __inline__ int atomic_sub_return(int i, atomic_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" ll %1, %2 # atomic_sub_return \n"
|
|
" ll %1, %2 # atomic_sub_return \n"
|
|
" subu %0, %1, %3 \n"
|
|
" subu %0, %1, %3 \n"
|
|
" sc %0, %2 \n"
|
|
" sc %0, %2 \n"
|
|
@@ -248,7 +248,7 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v)
|
|
int temp;
|
|
int temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: ll %1, %2 # atomic_sub_if_positive\n"
|
|
"1: ll %1, %2 # atomic_sub_if_positive\n"
|
|
" subu %0, %1, %3 \n"
|
|
" subu %0, %1, %3 \n"
|
|
" bltz %0, 1f \n"
|
|
" bltz %0, 1f \n"
|
|
@@ -266,7 +266,7 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v)
|
|
int temp;
|
|
int temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: ll %1, %2 # atomic_sub_if_positive\n"
|
|
"1: ll %1, %2 # atomic_sub_if_positive\n"
|
|
" subu %0, %1, %3 \n"
|
|
" subu %0, %1, %3 \n"
|
|
" bltz %0, 1f \n"
|
|
" bltz %0, 1f \n"
|
|
@@ -420,7 +420,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
|
|
long temp;
|
|
long temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: lld %0, %1 # atomic64_add \n"
|
|
"1: lld %0, %1 # atomic64_add \n"
|
|
" daddu %0, %2 \n"
|
|
" daddu %0, %2 \n"
|
|
" scd %0, %1 \n"
|
|
" scd %0, %1 \n"
|
|
@@ -433,7 +433,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" lld %0, %1 # atomic64_add \n"
|
|
" lld %0, %1 # atomic64_add \n"
|
|
" daddu %0, %2 \n"
|
|
" daddu %0, %2 \n"
|
|
" scd %0, %1 \n"
|
|
" scd %0, %1 \n"
|
|
@@ -463,7 +463,7 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
|
|
long temp;
|
|
long temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: lld %0, %1 # atomic64_sub \n"
|
|
"1: lld %0, %1 # atomic64_sub \n"
|
|
" dsubu %0, %2 \n"
|
|
" dsubu %0, %2 \n"
|
|
" scd %0, %1 \n"
|
|
" scd %0, %1 \n"
|
|
@@ -476,7 +476,7 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" lld %0, %1 # atomic64_sub \n"
|
|
" lld %0, %1 # atomic64_sub \n"
|
|
" dsubu %0, %2 \n"
|
|
" dsubu %0, %2 \n"
|
|
" scd %0, %1 \n"
|
|
" scd %0, %1 \n"
|
|
@@ -506,7 +506,7 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v)
|
|
long temp;
|
|
long temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: lld %1, %2 # atomic64_add_return \n"
|
|
"1: lld %1, %2 # atomic64_add_return \n"
|
|
" daddu %0, %1, %3 \n"
|
|
" daddu %0, %1, %3 \n"
|
|
" scd %0, %2 \n"
|
|
" scd %0, %2 \n"
|
|
@@ -520,7 +520,7 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" lld %1, %2 # atomic64_add_return \n"
|
|
" lld %1, %2 # atomic64_add_return \n"
|
|
" daddu %0, %1, %3 \n"
|
|
" daddu %0, %1, %3 \n"
|
|
" scd %0, %2 \n"
|
|
" scd %0, %2 \n"
|
|
@@ -556,7 +556,7 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
|
|
long temp;
|
|
long temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: lld %1, %2 # atomic64_sub_return \n"
|
|
"1: lld %1, %2 # atomic64_sub_return \n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" scd %0, %2 \n"
|
|
" scd %0, %2 \n"
|
|
@@ -571,7 +571,7 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
|
|
|
|
|
|
do {
|
|
do {
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
" lld %1, %2 # atomic64_sub_return \n"
|
|
" lld %1, %2 # atomic64_sub_return \n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" scd %0, %2 \n"
|
|
" scd %0, %2 \n"
|
|
@@ -615,7 +615,7 @@ static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v)
|
|
long temp;
|
|
long temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: lld %1, %2 # atomic64_sub_if_positive\n"
|
|
"1: lld %1, %2 # atomic64_sub_if_positive\n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" bltz %0, 1f \n"
|
|
" bltz %0, 1f \n"
|
|
@@ -633,7 +633,7 @@ static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v)
|
|
long temp;
|
|
long temp;
|
|
|
|
|
|
__asm__ __volatile__(
|
|
__asm__ __volatile__(
|
|
- " .set mips3 \n"
|
|
|
|
|
|
+ " .set arch=r4000 \n"
|
|
"1: lld %1, %2 # atomic64_sub_if_positive\n"
|
|
"1: lld %1, %2 # atomic64_sub_if_positive\n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" dsubu %0, %1, %3 \n"
|
|
" bltz %0, 1f \n"
|
|
" bltz %0, 1f \n"
|