audio/pulseaudio: fix build on armv7

The inline assembly template modifier h is not supported by clang.  With
gcc, it prints a 128 bit NEON register as a pair of halves.  Emulate its
effect through the e and f modifiers, which are supported by both.

Approved by:	portmgr (build fix blanket)
MFH:		2023Q4

(cherry picked from commit 3dd02a0fe7)
This commit is contained in:
Robert Clausecker 2023-10-07 07:51:21 +02:00
parent b9fc607fe0
commit 1348d33634

View file

@ -0,0 +1,13 @@
--- src/pulsecore/mix_neon.c.orig 2023-10-07 05:45:10 UTC
+++ src/pulsecore/mix_neon.c
@@ -176,8 +176,8 @@ static void pa_mix2_ch4_s16ne_neon(pa_mix_info streams
int32x4_t sv0, sv1;
__asm__ __volatile__ (
- "vld1.s32 %h[sv0], [%[lin0]] \n\t"
- "vld1.s32 %h[sv1], [%[lin1]] \n\t"
+ "vld1.s32 {%e[sv0],%f[sv0]}, [%[lin0]] \n\t"
+ "vld1.s32 {%e[sv1],%f[sv1]}, [%[lin1]] \n\t"
: [sv0] "=w" (sv0), [sv1] "=w" (sv1)
: [lin0] "r" (streams[0].linear), [lin1] "r" (streams[1].linear)
: /* clobber list */