From: Ingmar Runge Date: Sat, 19 May 2012 13:45:18 +0000 (+0200) Subject: Fix MSVC compilation X-Git-Tag: pixman-0.26.0~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f71e3dba979fcfc1cf87d01137e1e32451a173b1;p=platform%2Fupstream%2Fpixman.git Fix MSVC compilation Only up to three SSE intrinsics supported in function declaration. --- 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), \