aboutsummaryrefslogtreecommitdiffstats
path: root/main/lame/sse.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/lame/sse.patch')
-rw-r--r--main/lame/sse.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/main/lame/sse.patch b/main/lame/sse.patch
new file mode 100644
index 0000000000..7958c64ef6
--- /dev/null
+++ b/main/lame/sse.patch
@@ -0,0 +1,30 @@
+xmm_quantize_sub.c: In function 'init_xrpow_core_sse':
+xmm_quantize_sub.c:65:18: warning: SSE vector return without SSE enabled changes the ABI [-W
+psabi]
+ const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
+ ^
+In file included from xmm_quantize_sub.c:37:0:
+/usr/lib/gcc/i686-w64-mingw32/4.9.0/include/xmmintrin.h:933:1: error: inlining failed in call to always_inline '_mm_loadu_ps': target specific option mismatch
+ _mm_loadu_ps (float const *__P)
+ ^
+xmm_quantize_sub.c:65:18: error: called from here
+ const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
+ ^
+--- lame/libmp3lame/vector/xmm_quantize_sub.c.orig 2014-06-08 12:16:19.455468042 -0700
++++ lame/libmp3lame/vector/xmm_quantize_sub.c 2014-06-08 12:16:09.592356980 -0700
+@@ -35,6 +35,7 @@
+ #ifdef HAVE_XMMINTRIN_H
+
+ #include <xmmintrin.h>
++#pragma GCC target("sse")
+
+ typedef union {
+ int32_t _i_32[4]; /* unions are initialized by its first member */
+@@ -124,6 +125,7 @@
+ }
+
+
++#pragma GCC target("sse2")
+ void
+ fht_SSE2(FLOAT * fz, int n)
+ {