projects
/
platform
/
upstream
/
libatomic_ops.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9050db3
)
Remove redundant 'cc' clobber for LDREXD instruction (gcc/arm)
author
Ivan Maidanski
<ivmai@mail.ru>
Sun, 6 Jan 2013 11:08:12 +0000
(15:08 +0400)
committer
Ivan Maidanski
<ivmai@mail.ru>
Sun, 6 Jan 2013 11:31:24 +0000
(15:31 +0400)
(revert commit 07e9ea9 partially)
* src/atomic_ops/sysdeps/gcc/arm.h (AO_fetch_compare_and_swap): Remove
redundant "cc" clobber for assembly code that consists of a single
LDREXD instruction.
src/atomic_ops/sysdeps/gcc/arm.h
patch
|
blob
|
history
diff --git
a/src/atomic_ops/sysdeps/gcc/arm.h
b/src/atomic_ops/sysdeps/gcc/arm.h
index
62de090
..
37bc811
100644
(file)
--- a/
src/atomic_ops/sysdeps/gcc/arm.h
+++ b/
src/atomic_ops/sysdeps/gcc/arm.h
@@
-337,7
+337,7
@@
AO_fetch_compare_and_swap(volatile AO_t *addr, AO_t old_val, AO_t new_val)
" ldrexd %0, [%1]\n" /* get original to r1 & r2 */
: "=&r"(tmp)
: "r"(addr)
-
: "cc"
);
+
/* : no clobber */
);
if (tmp != old_val.AO_whole)
break;
__asm__ __volatile__(