diff -up liboil-0.3.13/liboil/i386_amd64/copy.c.clobber-ecx liboil-0.3.13/liboil/i386_amd64/copy.c
--- liboil-0.3.13/liboil/i386_amd64/copy.c.clobber-ecx 2008-02-26 20:29:07.000000000 -0500
+++ liboil-0.3.13/liboil/i386_amd64/copy.c 2008-02-26 20:29:31.000000000 -0500
@@ -375,7 +375,8 @@ static void splat_u16_ns_mmx (uint16_t *
" emms\n"
: [dest] "+r" (dest),
[n] "+r" (n)
- : [src] "r" (src));
+ : [src] "r" (src)
+ : "ecx");
}
OIL_DEFINE_IMPL_FULL (splat_u16_ns_mmx, splat_u16_ns, OIL_IMPL_FLAG_MMX|OIL_IMPL_FLAG_MMXEXT);
@@ -401,7 +402,8 @@ static void splat_u16_ns_mmx_2 (uint16_t
" emms\n"
: [dest] "+r" (dest),
[n] "+r" (n)
- : [src] "r" (src));
+ : [src] "r" (src)
+ : "ecx");
}
OIL_DEFINE_IMPL_FULL (splat_u16_ns_mmx_2, splat_u16_ns, OIL_IMPL_FLAG_MMX|OIL_IMPL_FLAG_MMXEXT);
@@ -429,7 +431,8 @@ static void splat_u16_ns_mmx_3 (uint16_t
" emms\n"
: [dest] "+r" (dest),
[n] "+r" (n)
- : [src] "r" (src));
+ : [src] "r" (src)
+ : "ecx");
}
OIL_DEFINE_IMPL_FULL (splat_u16_ns_mmx_3, splat_u16_ns, OIL_IMPL_FLAG_MMX|OIL_IMPL_FLAG_MMXEXT);