From 308f0d0c98975f9bb484e628d6355683913a45e9 Mon Sep 17 00:00:00 2001 From: joerg Date: Sat, 28 Feb 2015 23:41:58 +0000 Subject: 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... --- audio/pulseaudio/distinfo | 3 ++- .../patches/patch-src_pulsecore_mix__neon.c | 23 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 audio/pulseaudio/patches/patch-src_pulsecore_mix__neon.c (limited to 'audio') 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) { -- cgit v1.2.3