Author: post
Date: 2012-04-25 12:28:07 +0200 (Wed, 25 Apr 2012)
New Revision: 4198
Modified:
trunk/plugins/dcp/dcp-sse4.c
Log:
Don't use PINSRQ on 32 bit systems.
Modified: trunk/plugins/dcp/dcp-sse4.c
===================================================================
--- trunk/plugins/dcp/dcp-sse4.c 2012-04-23 21:58:27 UTC (rev 4197)
+++ trunk/plugins/dcp/dcp-sse4.c 2012-04-25 10:28:07 UTC (rev 4198)
@@ -38,11 +38,19 @@
/* Insert two floats into high qword of register using pinsrq, GCC doesn't
detect this */
+#if defined (__x86_64__)
static inline __m128
_mm_insert_two_high(__m128 low, const gfloat* pos)
{
return _mm_castsi128_ps(_mm_insert_epi64(_mm_castps_si128(low), *(long
long*)pos, 1));
}
+#else
+static inline __m128
+_mm_insert_two_high(__m128 low, const gfloat* pos)
+{
+ return _mm_loadh_pi(low, (__m64*)pos);
+}
+#endif
static inline __m128
sse_matrix3_mul(float* mul, __m128 a, __m128 b, __m128 c)
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit