diff options
author | joerg <joerg@pkgsrc.org> | 2015-02-28 23:41:58 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2015-02-28 23:41:58 +0000 |
commit | a1882b9476217bddce18cbda89b154b337f93ae4 (patch) | |
tree | 6f49b34c7498d1d20e05b65c681ac215cce5a2a7 | |
parent | 4b0748efd968fbc57f1b1dc9ac756f5537458a5b (diff) | |
download | pkgsrc-a1882b9476217bddce18cbda89b154b337f93ae4.tar.gz |
Use NEON intrinsics in Clang to avoid the unsupported assembler
modifiers. It is beyond common sense why pulseaudio devs considered the
mechanical conversion to inline asm an improvement...
-rw-r--r-- | audio/pulseaudio/distinfo | 3 | ||||
-rw-r--r-- | audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c | 23 |
2 files changed, 25 insertions, 1 deletions
diff --git a/audio/pulseaudio/distinfo b/audio/pulseaudio/distinfo index fdb87602922..c016ae6d1d3 100644 --- a/audio/pulseaudio/distinfo +++ b/audio/pulseaudio/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.50 2015/02/25 23:40:35 ryoon Exp $ +$NetBSD: distinfo,v 1.51 2015/02/28 23:41:58 joerg Exp $ SHA1 (pulseaudio-6.0.tar.xz) = 3607d523fb270d9b68463de30f5d9e17957f1088 RMD160 (pulseaudio-6.0.tar.xz) = a3f96cabc2872646c34ba581d6044dc4a6513fd9 @@ -11,6 +11,7 @@ SHA1 (patch-src_daemon_caps.c) = e819c26cd3d91d93ae5877725ed6a1b59183d89a SHA1 (patch-src_daemon_main.c) = 8cdabd3c631cc5e7c7f370e364d9511b23f88668 SHA1 (patch-src_modules_module-detect.c) = 25c803ee2d5addf9dbf522d81bd422dc201d4550 SHA1 (patch-src_modules_oss_module-oss.c) = 399ac178ae832619253ce8dd985edbed23db86e7 +SHA1 (patch-src_pulsecore_mix__neon.c) = 6f6d33d38024d65045d637d48276e1ba92b81342 SHA1 (patch-src_pulsecore_sample-util.h) = b6bd83cfdc1c337453d9a728f07205a2cf0af831 SHA1 (patch-src_pulsecore_svolume__mmx.c) = c34d153e3bfdb812eb7bd70fa330a9ec674c2dc2 SHA1 (patch-src_pulsecore_svolume__sse.c) = 47c97c1af947133f2a7b330aed38792bb0e7ef09 diff --git a/audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c b/audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c new file mode 100644 index 00000000000..6b653a55080 --- /dev/null +++ b/audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c @@ -0,0 +1,23 @@ +$NetBSD: patch-src_pulsecore_mix__neon.c,v 1.1 2015/02/28 23:41:58 joerg Exp $ + +--- src/pulsecore/mix_neon.c.orig 2015-02-25 15:03:12.000000000 +0000 ++++ src/pulsecore/mix_neon.c +@@ -175,6 +175,10 @@ static void pa_mix2_ch4_s16ne_neon(pa_mi + + int32x4_t sv0, sv1; + ++#ifdef __clang__ ++ sv0 = vld1q_s32(streams[0].linear); ++ sv1 = vld1q_s32(streams[1].linear); ++#else + __asm__ __volatile__ ( + "vld1.s32 %h[sv0], [%[lin0]] \n\t" + "vld1.s32 %h[sv1], [%[lin1]] \n\t" +@@ -182,6 +186,7 @@ static void pa_mix2_ch4_s16ne_neon(pa_mi + : [lin0] "r" (streams[0].linear), [lin1] "r" (streams[1].linear) + : /* clobber list */ + ); ++#endif + + length /= sizeof(int16_t); + for (; length >= 4; length -= 4) { |