[pulseaudio-commits] [Git][pulseaudio/pulseaudio][master] remap_neon: use register r12 instead of r7

Arun Raghavan gitlab at gitlab.freedesktop.org
Mon Jul 20 13:32:00 UTC 2020



Arun Raghavan pushed to branch master at PulseAudio / pulseaudio


Commits:
5c0ad422 by Tanu Kaskinen at 2020-07-20T13:27:44+00:00
remap_neon: use register r12 instead of r7

When the Thumb instructions set is used and frame pointers are enabled
(-fno-omit-frame-pointer), r7 can't be used, because it's used for the
frame pointer. Trying to use r7 caused the compilation to fail.

Thanks to Andre McCurdy for suggesting[1] this fix, all I had to do was to
test that it works. The code builds now, and cpu-remap-test also
succeeds.

[1] https://lists.openembedded.org/g/openembedded-core/message/136786

- - - - -


1 changed file:

- src/pulsecore/remap_neon.c


Changes:

=====================================
src/pulsecore/remap_neon.c
=====================================
@@ -52,11 +52,15 @@ static void remap_mono_to_stereo_float32ne_generic_arm(pa_remap_t *m, float *dst
         __asm__ __volatile__ (
             "ldm        %[src]!, {r4,r6}        \n\t"
             "mov        r5, r4                  \n\t"
-            "mov        r7, r6                  \n\t"
-            "stm        %[dst]!, {r4-r7}        \n\t"
+
+            /* We use r12 instead of r7 here, because r7 is reserved for the
+             * frame pointer when using Thumb. */
+            "mov        r12, r6                 \n\t"
+
+            "stm        %[dst]!, {r4-r6,r12}    \n\t"
             : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
             : /* input operands */
-            : "memory", "r4", "r5", "r6", "r7" /* clobber list */
+            : "memory", "r4", "r5", "r6", "r12" /* clobber list */
         );
     }
 



View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/5c0ad422a818520337108acd700b1b4744588260

-- 
View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/5c0ad422a818520337108acd700b1b4744588260
You're receiving this email because of your account on gitlab.freedesktop.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-commits/attachments/20200720/cbec0d9b/attachment.htm>


More information about the pulseaudio-commits mailing list