summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngmar Runge <ingmar@irsoft.de>2012-05-19 15:45:18 +0200
committerSøren Sandmann Pedersen <ssp@redhat.com>2012-05-25 20:10:31 -0400
commitf71e3dba979fcfc1cf87d01137e1e32451a173b1 (patch)
tree1b160c9c817c175eaf6f72d3003841ce0df3dfa0
parent1e59e18d73a6e45729a99fe6ccc74d61631ff5f0 (diff)
Fix MSVC compilation
Only up to three SSE intrinsics supported in function declaration.
-rw-r--r--pixman/pixman-mmx.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 01a2bc9..eb02d1a 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman/pixman-mmx.c
@@ -598,14 +598,14 @@ pack_4xpacked565 (__m64 a, __m64 b)
#endif
}
+#ifndef _MSC_VER
+
static force_inline __m64
pack_4x565 (__m64 v0, __m64 v1, __m64 v2, __m64 v3)
{
return pack_4xpacked565 (pack8888 (v0, v1), pack8888 (v2, v3));
}
-#ifndef _MSC_VER
-
static force_inline __m64
pix_add_mul (__m64 x, __m64 a, __m64 y, __m64 b)
{
@@ -617,6 +617,11 @@ pix_add_mul (__m64 x, __m64 a, __m64 y, __m64 b)
#else
+/* MSVC only handles a "pass by register" of up to three SSE intrinsics */
+
+#define pack_4x565(v0, v1, v2, v3) \
+ pack_4xpacked565 (pack8888 (v0, v1), pack8888 (v2, v3))
+
#define pix_add_mul(x, a, y, b) \
( x = pix_multiply (x, a), \
y = pix_multiply (y, b), \