RAID/s390: remove invalid 'r' inline asm operand modifier
authorVasily Gorbik <gor@linux.ibm.com>
Sun, 9 Jun 2019 12:37:57 +0000 (14:37 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 11 Jun 2019 07:48:25 +0000 (09:48 +0200)
gcc silently ignores unsupported inline asm operand modifiers, effectively
turning '%r0' into '%0', but upcoming clang 9 complains about them:
lib/raid6/s390vx8.c:63:16: error: invalid operand in inline asm: 'VLM $2,$3,0,${1:r}'
        asm volatile ("VLM %2,%3,0,%r1"
                      ^

Clean up what look like a typo 'r' inline asm operand modifier usage.

Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
lib/raid6/s390vx.uc

index 914ebe98fc211df0871e9f16425f1d4a29f0057e..9e597e1f91a40115e141ca531c5579fba1a80038 100644 (file)
@@ -60,7 +60,7 @@ static inline void LOAD_DATA(int x, u8 *ptr)
        typedef struct { u8 _[16 * $#]; } addrtype;
        register addrtype *__ptr asm("1") = (addrtype *) ptr;
 
-       asm volatile ("VLM %2,%3,0,%r1"
+       asm volatile ("VLM %2,%3,0,%1"
                      : : "m" (*__ptr), "a" (__ptr), "i" (x),
                          "i" (x + $# - 1));
 }