SOURCES: liboil-no_sse2_on_i386.patch (NEW) - sse2 expects memory ...
pluto
pluto at pld-linux.org
Thu Feb 1 21:47:51 CET 2007
Author: pluto Date: Thu Feb 1 20:47:51 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- sse2 expects memory references to be 16-byte aligned
but liboil uses non-16-byte aligned u32* operands,
so just disable it on x86-32.
---- Files affected:
SOURCES:
liboil-no_sse2_on_i386.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/liboil-no_sse2_on_i386.patch
diff -u /dev/null SOURCES/liboil-no_sse2_on_i386.patch:1.1
--- /dev/null Thu Feb 1 21:47:51 2007
+++ SOURCES/liboil-no_sse2_on_i386.patch Thu Feb 1 21:47:46 2007
@@ -0,0 +1,48 @@
+--- liboil/liboilcpu.c.orig 2006-05-23 02:07:56.000000000 +0200
++++ liboil/liboilcpu.c
+@@ -518,6 +518,9 @@ oil_cpu_detect_cpuid (void)
+ OIL_WARNING("L2 cache: %d kbytes, %d assoc, %d lines/tag, %d line size\n",
+ (ecx>>16)&0xffff, (ecx>>12)&0xf, (ecx>>8)&0xf, ecx&0xff);
+ }
++#ifdef __i386__
++ oil_cpu_flags &= ~(OIL_IMPL_FLAG_SSE2 | OIL_IMPL_FLAG_SSE3);
++#endif
+ }
+
+ /* Reduce the set of CPU capabilities detected by whatever detection mechanism
+--- liboil/sse/composite_sse_2pix.c.orig 2005-12-21 02:27:54.000000000 +0100
++++ liboil/sse/composite_sse_2pix.c
+@@ -136,6 +136,7 @@ static __m128i over_argb_sse2(__m128i de
+ return _mm_adds_epu8(src, muldiv_255_sse2(dest, negate_argb_sse2(srca)));
+ }
+
++#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)
+--- liboil/sse/composite_sse_4pix.c.orig 2006-10-23 20:03:45.000000000 +0200
++++ liboil/sse/composite_sse_4pix.c
+@@ -270,6 +270,7 @@ composite_in_argb_const_mask_sse (uint32
+ OIL_DEFINE_IMPL_FULL (composite_in_argb_const_mask_sse,
+ composite_in_argb_const_mask, OIL_IMPL_FLAG_SSE2);
+
++#ifndef __i386__
+ static void
+ composite_over_argb_sse (uint32_t *dest, const uint32_t *src, int n)
+ {
+@@ -504,6 +511,7 @@ composite_in_over_argb_const_mask_sse (u
+ }
+ OIL_DEFINE_IMPL_FULL (composite_in_over_argb_const_mask_sse,
+ composite_in_over_argb_const_mask, OIL_IMPL_FLAG_SSE2);
++#endif
+
+ static void
+ composite_over_u8_sse (uint8_t *dest, const uint8_t *src, int n)
================================================================
More information about the pld-cvs-commit
mailing list