about summary refs log tree commit diff
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 9c971abec8..405e43f5c0 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 a1a7761d3c..b4b7b64dd0 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 1bfbbcf2de..2a1a04546e 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"