* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Add .set mips2 for assembler. * sysdeps/mips/pt-machine.h (testandset): Add .set mips2 for assembler. (__compare_and_swap): Likewise. * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Likewise.

This commit is contained in:
Andreas Jaeger 2000-08-12 09:29:03 +00:00
parent 966e8ffc00
commit 567152ea54
3 changed files with 8 additions and 4 deletions

View File

@ -32,7 +32,8 @@ __pthread_spin_lock (pthread_spinlock_t *lock)
unsigned int tmp;
asm volatile
("\t\t\t# spin_lock\n\t"
(".set mips2\n\t"
"\t\t\t# spin_lock\n\t"
"1:\n\t"
"ll %1,%2\n\t"
".set push\n\t"

View File

@ -41,7 +41,8 @@ testandset (int *spinlock)
long int ret, temp;
__asm__ __volatile__
("/* Inline spinlock test & set */\n\t"
(".set mips2\n\t"
"/* Inline spinlock test & set */\n\t"
"1:\n\t"
"ll %0,%3\n\t"
".set push\n\t"
@ -87,7 +88,8 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
long int ret;
__asm__ __volatile__
("/* Inline compare & swap */\n\t"
(".set mips2\n\t"
"/* Inline compare & swap */\n\t"
"1:\n\t"
"ll %0,%4\n\t"
".set push\n"

View File

@ -42,7 +42,8 @@ _test_and_set (int *p, int v) __THROW
int r, t;
__asm__ __volatile__
("1:\n\t"
(".set\tmips2\n"
"1:\n\t"
"ll %0,%3\n\t"
".set push\n\t"
".set noreorder\n\t"