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:
parent
b9fc607fe0
commit
1348d33634
1 changed files with 13 additions and 0 deletions
13
audio/pulseaudio/files/patch-src_pulsecore_mix__neon.c
Normal file
13
audio/pulseaudio/files/patch-src_pulsecore_mix__neon.c
Normal 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 */
|
Loading…
Reference in a new issue