summaryrefslogtreecommitdiffstats
path: root/extra/wavpack/gcc44.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/wavpack/gcc44.patch')
-rw-r--r--extra/wavpack/gcc44.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/extra/wavpack/gcc44.patch b/extra/wavpack/gcc44.patch
new file mode 100644
index 000000000..0ee4b1e76
--- /dev/null
+++ b/extra/wavpack/gcc44.patch
@@ -0,0 +1,24 @@
+--- src/wavpack_local.h.orig 2009-04-07 10:34:58.000000000 -0400
++++ src/wavpack_local.h 2009-04-07 11:03:45.000000000 -0400
+@@ -745,9 +745,17 @@
+
+ #define _m_paddd(m1, m2) __builtin_ia32_paddd (m1, m2)
+ #define _m_pcmpeqd(m1, m2) __builtin_ia32_pcmpeqd (m1, m2)
+-#define _m_pslldi(m1, m2) __builtin_ia32_pslld (m1, m2)
+-#define _m_psradi(m1, m2) __builtin_ia32_psrad (m1, m2)
+-#define _m_psrldi(m1, m2) __builtin_ia32_psrld (m1, m2)
++
++#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) || __GNUC__ > 4
++# define _m_pslldi(m1, m2) __builtin_ia32_pslldi ((__m64)m1, m2)
++# define _m_psradi(m1, m2) __builtin_ia32_psradi ((__m64)m1, m2)
++# define _m_psrldi(m1, m2) __builtin_ia32_psrldi ((__m64)m1, m2)
++#else
++# define _m_pslldi(m1, m2) __builtin_ia32_pslld (m1, m2)
++# define _m_psradi(m1, m2) __builtin_ia32_psrad (m1, m2)
++# define _m_psrldi(m1, m2) __builtin_ia32_psrld (m1, m2)
++#endif
++
+ #define _m_psubd(m1, m2) __builtin_ia32_psubd (m1, m2)
+ #define _m_punpckhdq(m1, m2) __builtin_ia32_punpckhdq (m1, m2)
+ #define _m_punpckldq(m1, m2) __builtin_ia32_punpckldq (m1, m2)
+