From f71e3dba979fcfc1cf87d01137e1e32451a173b1 Mon Sep 17 00:00:00 2001 From: Ingmar Runge Date: Sat, 19 May 2012 15:45:18 +0200 Subject: [PATCH] Fix MSVC compilation Only up to three SSE intrinsics supported in function declaration. --- pixman/pixman-mmx.c | 9 +++++++-- 1 file 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), \ -- 2.7.4