vlc | branch: master | Rafaël Carré <[email protected]> | Sun Jun  8 12:18:41 
2014 -0700| [351af417bae0d09bd5a3753d1237f03adf591933] | committer: Rafaël Carré

contrib: lame: fix sse optimizations build on win32 with gcc 4.9

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=351af417bae0d09bd5a3753d1237f03adf591933
---

 contrib/src/lame/rules.mak |    1 +
 contrib/src/lame/sse.patch |   30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/contrib/src/lame/rules.mak b/contrib/src/lame/rules.mak
index 1f5578a..5d94b69 100644
--- a/contrib/src/lame/rules.mak
+++ b/contrib/src/lame/rules.mak
@@ -11,6 +11,7 @@ $(TARBALLS)/lame-$(LAME_VERSION).tar.gz:
 lame: lame-$(LAME_VERSION).tar.gz .sum-lame
        $(UNPACK)
        $(APPLY) $(SRC)/lame/lame-forceinline.patch
+       $(APPLY) $(SRC)/lame/sse.patch
        $(UPDATE_AUTOCONFIG)
        $(MOVE)
 
diff --git a/contrib/src/lame/sse.patch b/contrib/src/lame/sse.patch
new file mode 100644
index 0000000..7958c64
--- /dev/null
+++ b/contrib/src/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)
+ {

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to