Add two diffs from upstream.

- Add a memory clobber to placate gcc.
- Disable mas10_u8_mmx_2. Fixes bug #19672 (bugs.freedesktop.org).

From Brad. ok ajacoutot@ jasper@
This commit is contained in:
sthen 2010-01-17 21:29:30 +00:00
parent 7bc017f4ee
commit f6f31eb29c
3 changed files with 34 additions and 1 deletions

View File

@ -1,8 +1,9 @@
# $OpenBSD: Makefile,v 1.14 2009/07/18 08:25:06 sthen Exp $
# $OpenBSD: Makefile,v 1.15 2010/01/17 21:29:30 sthen Exp $
COMMENT= library of optimized inner loops
DISTNAME= liboil-0.3.16
PKGNAME= ${DISTNAME}p0
SHARED_LIBS+= oil-0.3 4.0 # .3.0
CATEGORIES= devel

View File

@ -0,0 +1,19 @@
$OpenBSD: patch-liboil_i386_amd64_mas_c,v 1.1 2010/01/17 21:29:30 sthen Exp $
--- liboil/i386_amd64/mas.c.orig Wed Dec 30 22:22:41 2009
+++ liboil/i386_amd64/mas.c Wed Dec 30 22:24:19 2009
@@ -73,6 +73,7 @@ mas10_u8_mmx (uint8_t *d, const uint8_t *s1_np9, const
}
OIL_DEFINE_IMPL_FULL (mas10_u8_mmx, mas10_u8_l15, OIL_IMPL_FLAG_MMX|OIL_IMPL_FLAG_MMXEXT);
+#if 0
void
mas10_u8_mmx_2 (uint8_t *d, const uint8_t *s1_np9, const int16_t *s2_10,
const int16_t *s3_2, int n)
@@ -151,6 +152,7 @@ mas10_u8_mmx_2 (uint8_t *d, const uint8_t *s1_np9, con
: "ecx");
}
OIL_DEFINE_IMPL_FULL (mas10_u8_mmx_2, mas10_u8_l15, OIL_IMPL_FLAG_MMX|OIL_IMPL_FLAG_MMXEXT);
+#endif
void
mas10_u8_mmx_3 (uint8_t *d, const uint8_t *s1_np9, const int16_t *s2_10,

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-liboil_i386_amd64_sum_c,v 1.1 2010/01/17 21:29:30 sthen Exp $
--- liboil/i386_amd64/sum.c.orig Wed Dec 30 22:15:04 2009
+++ liboil/i386_amd64/sum.c Wed Dec 30 22:16:16 2009
@@ -30,7 +30,8 @@ sum_s16_mmx (int16_t *d, int16_t *s, int n)
" movq %%mm0, 0(%2)\n"
" emms\n"
: "+r" (s), "+r" (n)
- : "r" (a));
+ : "r" (a)
+ : "memory");
sum += a[0];
sum += a[1];