aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/mips/atomicity.h5
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/tas.h5
3 files changed, 9 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 9c971ab..405e43f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2002-02-07 H.J. Lu <hjl@gnu.org>
+
+ * sysdeps/mips/atomicity.h (compare_and_swap): Remove
+ ".set noreorder".
+ * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set):
+ Likewise.
+
2002-02-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/bits/stat.h: Undo last patch.
diff --git a/sysdeps/mips/atomicity.h b/sysdeps/mips/atomicity.h
index a1a7761..b4b7b64 100644
--- a/sysdeps/mips/atomicity.h
+++ b/sysdeps/mips/atomicity.h
@@ -75,11 +75,8 @@ compare_and_swap (volatile long int *p, long int oldval, long int newval)
("/* Inline compare & swap */\n"
"1:\n\t"
"ll %1,%5\n\t"
- ".set push\n\t"
- ".set noreorder\n\t"
+ "move %0,$0\n\t"
"bne %1,%3,2f\n\t"
- " move %0,$0\n\t"
- ".set pop\n\t"
"move %0,%4\n\t"
"sc %0,%2\n\t"
"beqz %0,1b\n"
diff --git a/sysdeps/unix/sysv/linux/mips/sys/tas.h b/sysdeps/unix/sysv/linux/mips/sys/tas.h
index 1bfbbcf..2a1a045 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/tas.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/tas.h
@@ -45,11 +45,8 @@ _test_and_set (int *p, int v) __THROW
("/* Inline test and set */\n"
"1:\n\t"
"ll %0,%3\n\t"
- ".set push\n\t"
- ".set noreorder\n\t"
+ "move %1,%4\n\t"
"beq %0,%4,2f\n\t"
- " move %1,%4\n\t"
- ".set pop\n\t"
"sc %1,%2\n\t"
"beqz %1,1b\n"
"2:\n\t"