diff options
Diffstat (limited to 'arch/s390/include/asm/swab.h')
-rw-r--r-- | arch/s390/include/asm/swab.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/s390/include/asm/swab.h b/arch/s390/include/asm/swab.h index eb18dc1f327b..6bdee21c077e 100644 --- a/arch/s390/include/asm/swab.h +++ b/arch/s390/include/asm/swab.h | |||
@@ -47,11 +47,11 @@ static inline __u32 __arch_swab32p(const __u32 *x) | |||
47 | 47 | ||
48 | asm volatile( | 48 | asm volatile( |
49 | #ifndef __s390x__ | 49 | #ifndef __s390x__ |
50 | " icm %0,8,3(%1)\n" | 50 | " icm %0,8,%O1+3(%R1)\n" |
51 | " icm %0,4,2(%1)\n" | 51 | " icm %0,4,%O1+2(%R1)\n" |
52 | " icm %0,2,1(%1)\n" | 52 | " icm %0,2,%O1+1(%R1)\n" |
53 | " ic %0,0(%1)" | 53 | " ic %0,%1" |
54 | : "=&d" (result) : "a" (x), "m" (*x) : "cc"); | 54 | : "=&d" (result) : "Q" (*x) : "cc"); |
55 | #else /* __s390x__ */ | 55 | #else /* __s390x__ */ |
56 | " lrv %0,%1" | 56 | " lrv %0,%1" |
57 | : "=d" (result) : "m" (*x)); | 57 | : "=d" (result) : "m" (*x)); |
@@ -77,9 +77,9 @@ static inline __u16 __arch_swab16p(const __u16 *x) | |||
77 | 77 | ||
78 | asm volatile( | 78 | asm volatile( |
79 | #ifndef __s390x__ | 79 | #ifndef __s390x__ |
80 | " icm %0,2,1(%1)\n" | 80 | " icm %0,2,%O+1(%R1)\n" |
81 | " ic %0,0(%1)\n" | 81 | " ic %0,%1\n" |
82 | : "=&d" (result) : "a" (x), "m" (*x) : "cc"); | 82 | : "=&d" (result) : "Q" (*x) : "cc"); |
83 | #else /* __s390x__ */ | 83 | #else /* __s390x__ */ |
84 | " lrvh %0,%1" | 84 | " lrvh %0,%1" |
85 | : "=d" (result) : "m" (*x)); | 85 | : "=d" (result) : "m" (*x)); |