From: Anton Blanchard Date: Wed, 29 Feb 2012 21:12:16 +0000 (+0000) Subject: powerpc/atomic: Implement atomic*_inc_not_zero X-Git-Tag: v3.4-rc1~159^2~44 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6cf7ed5119fb22f54584a9f867b638edd3c4384;p=pandora-kernel.git powerpc/atomic: Implement atomic*_inc_not_zero Implement atomic_inc_not_zero and atomic64_inc_not_zero. At the moment we use atomic*_add_unless which requires us to put 0 and 1 constants into registers. We can also avoid a subtract by saving the original value in a second temporary. This removes 3 instructions from fget: - c0000000001b63c0: 39 00 00 00 li r8,0 - c0000000001b63c4: 39 40 00 01 li r10,1 ... - c0000000001b63e8: 7c 0a 00 50 subf r0,r10,r0 Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt --- Reading git-diff-tree failed