summary refs log tree commit diff
path: root/arch/s390/lib
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2021-06-17 20:11:40 +0200
committerVasily Gorbik <gor@linux.ibm.com>2021-06-28 11:18:28 +0200
commit7e86f967f4c98a6ad2a8c33c39f041e2955c05c8 (patch)
treea42add57934c2a1e6b8cfbf1b0c490159a71bb74 /arch/s390/lib
parentfcc91d5d40475a5d0ea8f6b63f6fe8a693fc2142 (diff)
downloadlinux-7e86f967f4c98a6ad2a8c33c39f041e2955c05c8.tar.gz
s390/lib,xor: get rid of register asm
Looking at the generate code this was just a micro-optimization.
However given that as many register asm constructs as possible
will be removed from s390 code, remove this one as well.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/lib')
-rw-r--r--arch/s390/lib/xor.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/s390/lib/xor.c b/arch/s390/lib/xor.c
index 29d9470dbceb..a963c3d8ad0d 100644
--- a/arch/s390/lib/xor.c
+++ b/arch/s390/lib/xor.c
@@ -91,9 +91,6 @@ static void xor_xc_4(unsigned long bytes, unsigned long *p1, unsigned long *p2,
 static void xor_xc_5(unsigned long bytes, unsigned long *p1, unsigned long *p2,
 		     unsigned long *p3, unsigned long *p4, unsigned long *p5)
 {
-	/* Get around a gcc oddity */
-	register unsigned long *reg7 asm ("7") = p5;
-
 	asm volatile(
 		"	larl	1,2f\n"
 		"	aghi	%0,-1\n"
@@ -122,7 +119,7 @@ static void xor_xc_5(unsigned long bytes, unsigned long *p1, unsigned long *p2,
 		"	xc	0(1,%1),0(%5)\n"
 		"3:\n"
 		: "+d" (bytes), "+a" (p1), "+a" (p2), "+a" (p3), "+a" (p4),
-		  "+a" (reg7)
+		  "+a" (p5)
 		: : "0", "1", "cc", "memory");
 }