changeset 7156:30e3a8465436 libavcodec

Use MANGLE() instead of memory operands to read globals. (fixes out of registers with apple gcc 4.2)
author astrange
date Sat, 28 Jun 2008 18:27:31 +0000
parents 83e7ee1790a8
children b76ee34ea184
files i386/flacdsp_mmx.c
diffstat 1 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/i386/flacdsp_mmx.c	Sat Jun 28 10:42:31 2008 +0000
+++ b/i386/flacdsp_mmx.c	Sat Jun 28 18:27:31 2008 +0000
@@ -30,12 +30,12 @@
     x86_reg j =  n2*sizeof(int32_t);
     asm volatile(
         "movsd   %0,     %%xmm7 \n\t"
-        "movapd  %1,     %%xmm6 \n\t"
-        "movapd  %2,     %%xmm5 \n\t"
+        "movapd  "MANGLE(ff_pd_1)",     %%xmm6 \n\t"
+        "movapd  "MANGLE(ff_pd_2)",     %%xmm5 \n\t"
         "movlhps %%xmm7, %%xmm7 \n\t"
         "subpd   %%xmm5, %%xmm7 \n\t"
         "addsd   %%xmm6, %%xmm7 \n\t"
-        ::"m"(c), "m"(*ff_pd_1), "m"(*ff_pd_2)
+        ::"m"(c)
     );
 #define WELCH(MOVPD, offset)\
     asm volatile(\
@@ -85,9 +85,9 @@
         x86_reg i = -len*sizeof(double);
         if(j == lag-2) {
             asm volatile(
-                "movsd     %6,     %%xmm0 \n\t"
-                "movsd     %6,     %%xmm1 \n\t"
-                "movsd     %6,     %%xmm2 \n\t"
+                "movsd     "MANGLE(ff_pd_1)",     %%xmm0 \n\t"
+                "movsd     "MANGLE(ff_pd_1)",     %%xmm1 \n\t"
+                "movsd     "MANGLE(ff_pd_1)",     %%xmm2 \n\t"
                 "1:                       \n\t"
                 "movapd   (%4,%0), %%xmm3 \n\t"
                 "movupd -8(%5,%0), %%xmm4 \n\t"
@@ -110,12 +110,12 @@
                 "movsd     %%xmm1, %2     \n\t"
                 "movsd     %%xmm2, %3     \n\t"
                 :"+&r"(i), "=m"(autoc[j]), "=m"(autoc[j+1]), "=m"(autoc[j+2])
-                :"r"(data1+len), "r"(data1+len-j), "m"(*ff_pd_1)
+                :"r"(data1+len), "r"(data1+len-j)
             );
         } else {
             asm volatile(
-                "movsd     %5,     %%xmm0 \n\t"
-                "movsd     %5,     %%xmm1 \n\t"
+                "movsd     "MANGLE(ff_pd_1)",     %%xmm0 \n\t"
+                "movsd     "MANGLE(ff_pd_1)",     %%xmm1 \n\t"
                 "1:                       \n\t"
                 "movapd   (%3,%0), %%xmm3 \n\t"
                 "movupd -8(%4,%0), %%xmm4 \n\t"
@@ -132,7 +132,7 @@
                 "movsd     %%xmm0, %1     \n\t"
                 "movsd     %%xmm1, %2     \n\t"
                 :"+&r"(i), "=m"(autoc[j]), "=m"(autoc[j+1])
-                :"r"(data1+len), "r"(data1+len-j), "m"(*ff_pd_1)
+                :"r"(data1+len), "r"(data1+len-j)
             );
         }
     }