File boost-ppc-asm.patch of Package boost

--- boost/detail/sp_counted_base_gcc_ppc.hpp
+++ boost/detail/sp_counted_base_gcc_ppc.hpp
@@ -41,14 +41,13 @@
     __asm__
     (
         "0:\n\t"
-        "lwarx %1, 0, %2\n\t"
+        "lwarx %1, %y0\n\t"
         "addi %1, %1, 1\n\t"
-        "stwcx. %1, 0, %2\n\t"
+        "stwcx. %1, %y0\n\t"
         "bne- 0b":
 
-        "=m"( *pw ), "=&b"( tmp ):
-        "r"( pw ), "m"( *pw ):
-        "cc"
+        "+Z"( *pw ), "=&b"( tmp )::
+        "memory", "cc"
     );
 }
 
@@ -62,14 +61,13 @@
     (
         "sync\n\t"
         "0:\n\t"
-        "lwarx %1, 0, %2\n\t"
+        "lwarx %1, %y0\n\t"
         "addi %1, %1, -1\n\t"
-        "stwcx. %1, 0, %2\n\t"
+        "stwcx. %1, %y0\n\t"
         "bne- 0b\n\t"
         "isync":
 
-        "=m"( *pw ), "=&b"( rv ):
-        "r"( pw ), "m"( *pw ):
+        "+Z"( *pw ), "=&b"( rv )::
         "memory", "cc"
     );
 
@@ -86,17 +84,16 @@
     __asm__
     (
         "0:\n\t"
-        "lwarx %1, 0, %2\n\t"
+        "lwarx %1, %y0\n\t"
         "cmpwi %1, 0\n\t"
         "beq 1f\n\t"
         "addi %1, %1, 1\n\t"
         "1:\n\t"
-        "stwcx. %1, 0, %2\n\t"
+        "stwcx. %1, %y0\n\t"
         "bne- 0b":
 
-        "=m"( *pw ), "=&b"( rv ):
-        "r"( pw ), "m"( *pw ):
-        "cc"
+        "+Z"( *pw ), "=&b"( rv )::
+        "memory", "cc"
     );
 
     return rv;
openSUSE Build Service is sponsored by