File ppc-asm.patch of Package liboil
---
liboil/powerpc/copy.c | 9 ++++++---
liboil/powerpc/resample.c | 3 ++-
liboil/powerpc/splat.c | 9 ++++++---
3 files changed, 14 insertions(+), 7 deletions(-)
Index: liboil-0.3.17/liboil/powerpc/copy.c
===================================================================
--- liboil-0.3.17.orig/liboil/powerpc/copy.c
+++ liboil-0.3.17/liboil/powerpc/copy.c
@@ -61,7 +61,8 @@ copy_u8_altivec (uint8_t *dest, uint8_t
" add %1, %1, r11\n"
" addi %1, %1, -16\n"
: "+b" (dest), "+b" (src)
- : "r" (n/16));
+ : "r" (n/16)
+ : "r11", "memory");
} else {
asm volatile (
" mtctr %2\n"
@@ -74,7 +75,8 @@ copy_u8_altivec (uint8_t *dest, uint8_t
" add %0, %0, r11\n"
" add %1, %1, r11\n"
: "+b" (dest), "+b" (src)
- : "r" (n/16));
+ : "r" (n/16)
+ : "r11", "memory");
}
}
@@ -131,7 +133,8 @@ copy_u8_altivec2 (uint8_t *dest, uint8_t
" add %1, %1, r11\n"
" addi %1, %1, -16\n"
: "+b" (dest), "+b" (src)
- : "r" (n/64));
+ : "r" (n/64)
+ : "r11", "memory");
}
n &= 0x3f;
Index: liboil-0.3.17/liboil/powerpc/resample.c
===================================================================
--- liboil-0.3.17.orig/liboil/powerpc/resample.c
+++ liboil-0.3.17/liboil/powerpc/resample.c
@@ -86,7 +86,8 @@ merge_linear_argb_powerpc (uint32_t *des
" vpkuhus v0, v0, v0\n"
" stvx v0, 0, %0\n"
:
- : "b" (atmp));
+ : "b" (atmp)
+ : "r11", "memory");
dest[i] = atmp[0];
if (i+1<n) dest[i+1] = atmp[1];
Index: liboil-0.3.17/liboil/powerpc/splat.c
===================================================================
--- liboil-0.3.17.orig/liboil/powerpc/splat.c
+++ liboil-0.3.17/liboil/powerpc/splat.c
@@ -57,7 +57,8 @@ splat_u8_ns_altivec (uint8_t *dest, uint
" bdnz+ 1b\n"
" add %0, %0, r11\n"
: "+b" (dest), "+b" (src)
- : "r" (n/16));
+ : "r" (n/16)
+ : "r11", "memory");
}
n &= 0xf;
@@ -96,7 +97,8 @@ splat_u8_ns_altivec2 (uint8_t *dest, uin
" bdnz+ 1b\n"
" add %0, %0, r11\n"
: "+b" (dest), "+b" (src)
- : "r" (n/64));
+ : "r" (n/64)
+ : "r11", "memory");
}
n &= 0x3f;
@@ -131,7 +133,8 @@ splat_u32_ns_altivec (uint32_t *dest, ui
" bdnz+ 1b\n"
" add %0, %0, r11\n"
: "+b" (dest), "+b" (src)
- : "r" (n/4));
+ : "r" (n/4)
+ : "r11", "memory");
}
n &= 0x3;