From: Christophe Leroy Date: Tue, 22 Sep 2015 14:34:34 +0000 (+0200) Subject: powerpc: simplify csum_add(a, b) in case a or b is constant 0 X-Git-Tag: v4.14-rc1~3607^2~4^2~50 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a8847c83ce6072d6fdf0d15d9aa060c0b83537f;p=platform%2Fkernel%2Flinux-rpi.git powerpc: simplify csum_add(a, b) in case a or b is constant 0 Simplify csum_add(a, b) in case a or b is constant 0 Signed-off-by: Christophe Leroy Signed-off-by: Scott Wood --- diff --git a/arch/powerpc/include/asm/checksum.h b/arch/powerpc/include/asm/checksum.h index 1778f75..74cd8d8 100644 --- a/arch/powerpc/include/asm/checksum.h +++ b/arch/powerpc/include/asm/checksum.h @@ -119,7 +119,13 @@ static inline __wsum csum_add(__wsum csum, __wsum addend) { #ifdef __powerpc64__ u64 res = (__force u64)csum; +#endif + if (__builtin_constant_p(csum) && csum == 0) + return addend; + if (__builtin_constant_p(addend) && addend == 0) + return csum; +#ifdef __powerpc64__ res += (__force u64)addend; return (__force __wsum)((u32)res + (res >> 32)); #else