]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/svolume_mmx.c
SSE/MMX: Fix problem with highpitched noise on i386
[pulseaudio] / src / pulsecore / svolume_mmx.c
index 7286b4a2b7744554ff5420bb269b6c9a01617e68..28bbfdd30f1bddf393d6602e380f5d1774902ef7 100644 (file)
@@ -155,7 +155,11 @@ static void pa_volume_s16ne_mmx(int16_t *samples, int32_t *volumes, unsigned cha
         " emms                          \n\t"
 
         : "+r" (samples), "+r" (volumes), "+r" (length), "=D" (channel), "=&r" (temp)
-        : "rm" ((pa_reg_x86)channels)
+#if defined (__i386__)
+        : "m" ((pa_reg_x86)channels)
+#else
+        : "r" ((pa_reg_x86)channels)
+#endif
         : "cc"
     );
 }
@@ -230,7 +234,11 @@ static void pa_volume_s16re_mmx(int16_t *samples, int32_t *volumes, unsigned cha
         " emms                          \n\t"
 
         : "+r" (samples), "+r" (volumes), "+r" (length), "=D" (channel), "=&r" (temp)
-        : "rm" ((pa_reg_x86)channels)
+#if defined (__i386__)
+        : "m" ((pa_reg_x86)channels)
+#else
+        : "r" ((pa_reg_x86)channels)
+#endif
         : "cc"
     );
 }