pkgsrc/devel/liboil/patches/patch-ab
drochner 2ba1d3bff8 -Fix compiler errors with gcc-3.3.3 on i386, reported by Robert Elz per
PR pkg/34886. Just #ifdef out the code on i386; it was disabled at
 another layer anyway (due to alignment problems with any gcc on i386).
 Thanks to Robert for testing.
-Make sure cpuid is read on amd64, to enable mmx/sse support. (We could
 just assume it, but for the future this makes more sense.)
-bump PKGREVISION
2006-10-23 18:39:24 +00:00

26 lines
911 B
Text

$NetBSD: patch-ab,v 1.1 2006/10/23 18:39:24 drochner Exp $
--- ./liboil/sse/composite_sse_2pix.c.orig 2005-12-21 02:27:54.000000000 +0100
+++ ./liboil/sse/composite_sse_2pix.c
@@ -136,6 +136,13 @@ static __m128i over_argb_sse2(__m128i de
return _mm_adds_epu8(src, muldiv_255_sse2(dest, negate_argb_sse2(srca)));
}
+/*
+ * These functions trigger an ICE with gcc-3.3.3 on i386.
+ * (see NetBSD PR pkg/34886)
+ * Since SSE2 is broken anyway on i386, just disable it.
+ * (amd64 is OK)
+ */
+#ifndef __i386__
static void
composite_in_argb_sse_2pix (uint32_t *dest, const uint32_t *src,
const uint8_t *mask, int n)
@@ -389,6 +396,7 @@ composite_in_over_argb_const_mask_sse_2p
}
OIL_DEFINE_IMPL_FULL (composite_in_over_argb_const_mask_sse_2pix,
composite_in_over_argb_const_mask, OIL_IMPL_FLAG_SSE2);
+#endif
static void
composite_over_u8_sse_2pix (uint8_t *dest, const uint8_t *src, int n)