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

Reply via email to