diff --git a/module/icp/algs/edonr/edonr_byteorder.h b/module/icp/algs/edonr/edonr_byteorder.h index 05788349b65e..4ec0b992a316 100644 --- a/module/icp/algs/edonr/edonr_byteorder.h +++ b/module/icp/algs/edonr/edonr_byteorder.h @@ -89,7 +89,7 @@ uint64_t *s4, h; \ \ __asm__("addi %0,%3,4;lwbrx %1,0,%3;lwbrx %2,0,%0;rldimi %1,%2,32,0"\ - : "+r"(s4), "=r"(d64), "=r"(h) : "b"(s64)); \ + : "=&r"(s4), "=r"(d64), "=r"(h) : "b"(s64)); \ } #define aix_st_swap64(s64, d64) \ @@ -97,7 +97,7 @@ uint64_t *s4, h; \ h = (s64) >> 32; \ __asm__ volatile("addi %0,%3,4;stwbrx %1,0,%3;stwbrx %2,0,%0" \ - : "+r"(s4) : "r"(s64), "r"(h), "b"(d64)); \ + : "=&r"(s4) : "r"(s64), "r"(h), "b"(d64)); \ } #endif /* 64BIT && PWR7 */ #else @@ -105,7 +105,7 @@ { \ uint32_t *s4, h, l; \ __asm__("addi %0,%3,4;lwbrx %1,0,%3;lwbrx %2,0,%0" \ - : "+r"(s4), "=r"(l), "=r"(h) : "b"(s64)); \ + : "=&r"(s4), "=r"(l), "=r"(h) : "b"(s64)); \ d64 = ((uint64_t)h<<32) | l; \ } @@ -114,7 +114,7 @@ uint32_t *s4, h, l; \ l = (s64) & 0xfffffffful, h = (s64) >> 32; \ __asm__ volatile("addi %0,%3,4;stwbrx %1,0,%3;stwbrx %2,0,%0" \ - : "+r"(s4) : "r"(l), "r"(h), "b"(d64)); \ + : "=&r"(s4) : "r"(l), "r"(h), "b"(d64)); \ } #endif /* __64BIT__ */ #define aix_ld_swap32(s32, d32)\