[PATCH] MIPS: kernel: Remove $0 clobber from `mult_sh_align_mod'

Maciej W. Rozycki posted 1 patch 4 days, 22 hours ago
arch/mips/kernel/r4k-bugs64.c |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] MIPS: kernel: Remove $0 clobber from `mult_sh_align_mod'
Posted by Maciej W. Rozycki 4 days, 22 hours ago
Remove rubbish $0 clobber added to inline asm within `mult_sh_align_mod' 
with the removal of support for GCC versions below 3.4 made with commit 
57810ecb581a ("MIPS: Remove GCC_IMM_ASM & GCC_REG_ACCUM macros").  

Previously a macro was used that, depending on GCC version, expanded to 
either `accum' or $0.  Since the latter choice was only a placeholder to 
keep the syntax consistent and the register referred is hardwired, there 
is no point in having it here as it has no effect on code generation.  

Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
---
 arch/mips/kernel/r4k-bugs64.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

linux-mips-cpu-bugs64-gcc-reg-accum-zero.diff
Index: linux-macro/arch/mips/kernel/r4k-bugs64.c
===================================================================
--- linux-macro.orig/arch/mips/kernel/r4k-bugs64.c
+++ linux-macro/arch/mips/kernel/r4k-bugs64.c
@@ -91,7 +91,7 @@ void mult_sh_align_mod(long *v1, long *v
 		".set	pop"
 		: "=&r" (lv1), "=r" (lw)
 		: "r" (m1), "r" (m2), "r" (s), "I" (0)
-		: "hi", "lo", "$0");
+		: "hi", "lo");
 	/* We have to use single integers for m1 and m2 and a double
 	 * one for p to be sure the mulsidi3 gcc's RTL multiplication
 	 * instruction has the workaround applied.  Older versions of