summaryrefslogtreecommitdiff
path: root/audio/openal/files/patch-src-arch-i386-x86_floatmul.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/openal/files/patch-src-arch-i386-x86_floatmul.c')
-rw-r--r--audio/openal/files/patch-src-arch-i386-x86_floatmul.c39
1 files changed, 0 insertions, 39 deletions
diff --git a/audio/openal/files/patch-src-arch-i386-x86_floatmul.c b/audio/openal/files/patch-src-arch-i386-x86_floatmul.c
deleted file mode 100644
index 871ccc6a40c1..000000000000
--- a/audio/openal/files/patch-src-arch-i386-x86_floatmul.c
+++ /dev/null
@@ -1,39 +0,0 @@
---- src/arch/i386/x86_floatmul.c.orig 2005-12-21 22:06:35.000000000 +0300
-+++ src/arch/i386/x86_floatmul.c 2009-04-04 04:53:56.000000000 +0400
-@@ -46,7 +46,7 @@
- v4hi temp;
-
-
-- samples_pre = MMX_ALIGN - (aint)bpt % MMX_ALIGN;
-+ samples_pre = (MMX_ALIGN - (aint)bpt % MMX_ALIGN) % MMX_ALIGN;
- samples_pre /= sizeof(ALshort);
- samples_main = len - samples_pre;
- samples_post = samples_main % 8;
-@@ -82,11 +82,27 @@ void _alFloatMul(ALshort *bpt, ALfloat s
- v_sa.s[3] = v_sa.s[0];
-
- while (samples_main--) {
-+ union {
-+ short s[4];
-+ v4hi v;
-+ } ALIGN16(v_one);
-+ v_one.s[0] = 1;
-+ v_one.s[1] = 0;
-+ v_one.s[2] = 0;
-+ v_one.s[3] = 0;
- temp = __builtin_ia32_pmulhw(*(v4hi*)bpt, v_sa.v);
-+#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (__GNUC__ <= 3 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 2)) && !defined(__clang__)
- *(v4hi*)bpt = __builtin_ia32_psllw(temp, 1LL);
-+#else
-+ *(v4hi*)bpt = __builtin_ia32_psllw(temp, v_one.v);
-+#endif
- bpt += 4;
- temp = __builtin_ia32_pmulhw(*(v4hi*)bpt, v_sa.v);
-+#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (__GNUC__ <= 3 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 2)) && !defined(__clang__)
- *(v4hi*)bpt = __builtin_ia32_psllw(temp, 1LL);
-+#else
-+ *(v4hi*)bpt = __builtin_ia32_psllw(temp, v_one.v);
-+#endif
- bpt += 4;
- }
- }