diff options
author | Anton Blanchard <anton@samba.org> | 2005-09-06 05:05:58 +0200 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-09-06 08:07:53 +0200 |
commit | b2c0ab17ba751abe13a28508b1ac7e9ca074cd87 (patch) | |
tree | 08abcde7f48b3393afcae069e3668923ee3e4492 /include/asm-frv/cputime.h | |
parent | [PATCH] ppc64: poison initmem (diff) | |
download | linux-b2c0ab17ba751abe13a28508b1ac7e9ca074cd87.tar.xz linux-b2c0ab17ba751abe13a28508b1ac7e9ca074cd87.zip |
[PATCH] ppc64: speedup cmpxchg
cmpxchg has the following code:
__typeof__(*(ptr)) _o_ = (o);
__typeof__(*(ptr)) _n_ = (n);
Unfortunately it makes gcc 4.0 store and load the variables to the stack.
Eg in atomic_dec_and_test we get:
stw r10,112(r1)
stw r9,116(r1)
lwz r9,112(r1)
lwz r0,116(r1)
x86 is just casting the values so do that instead. Also change __xchg*
and __cmpxchg* to take unsigned values, removing a few sign extensions.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-frv/cputime.h')
0 files changed, 0 insertions, 0 deletions