projects
/
external
/
glibc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f295ff3
)
(_test_and_set): Use branch likely.
author
Ulrich Drepper
<drepper@redhat.com>
Sun, 3 Feb 2002 02:25:17 +0000
(
02:25
+0000)
committer
Ulrich Drepper
<drepper@redhat.com>
Sun, 3 Feb 2002 02:25:17 +0000
(
02:25
+0000)
sysdeps/unix/sysv/linux/mips/sys/tas.h
patch
|
blob
|
history
diff --git
a/sysdeps/unix/sysv/linux/mips/sys/tas.h
b/sysdeps/unix/sysv/linux/mips/sys/tas.h
index
0c81dc2
..
3396708
100644
(file)
--- a/
sysdeps/unix/sysv/linux/mips/sys/tas.h
+++ b/
sysdeps/unix/sysv/linux/mips/sys/tas.h
@@
-42,16
+42,19
@@
_test_and_set (int *p, int v) __THROW
int r, t;
__asm__ __volatile__
- ("1:\n\t"
- "ll %0,%3\n\t"
+ ("/* Inline test and set */\n\t"
+ "ll %0,%3\n"
+ "1:\n\t"
".set push\n\t"
".set noreorder\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"
+ "beqzl %1,1b\n\t"
+ " ll %0,%3\n\t"
+ ".set pop\n"
+ "2:\n\t"
+ "/* End test and set */"
: "=&r" (r), "=&r" (t), "=m" (*p)
: "m" (*p), "r" (v)
: "memory");