s390/lib,xor: get rid of register asm
authorHeiko Carstens <hca@linux.ibm.com>
Thu, 17 Jun 2021 18:11:40 +0000 (20:11 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 28 Jun 2021 09:18:28 +0000 (11:18 +0200)
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>
arch/s390/lib/xor.c

index 29d9470..a963c3d 100644 (file)
@@ -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");
 }