summaryrefslogtreecommitdiffstats
path: root/include/asm-ppc
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2005-09-06 13:05:58 +1000
committerPaul Mackerras <paulus@samba.org>2005-09-06 16:07:53 +1000
commitb2c0ab17ba751abe13a28508b1ac7e9ca074cd87 (patch)
tree08abcde7f48b3393afcae069e3668923ee3e4492 /include/asm-ppc
parent4721e2214b5fd6eca48caea76afb1bad3148930f (diff)
downloadblackbird-op-linux-b2c0ab17ba751abe13a28508b1ac7e9ca074cd87.tar.gz
blackbird-op-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-ppc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud