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 /audio/pulseaudio | |
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...
Diffstat (limited to 'audio/pulseaudio')
-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) { |