Commit 7c4c60e5 authored by Ramiro Polla's avatar Ramiro Polla

mlp: Use LABEL_MANGLE() to export label symbols from inside asm block.

Originally committed as revision 18935 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 7d9beec7
...@@ -53,14 +53,14 @@ static const void *iirtable[5] = { &ff_mlp_iirorder_0, &ff_mlp_iirorder_1, ...@@ -53,14 +53,14 @@ static const void *iirtable[5] = { &ff_mlp_iirorder_0, &ff_mlp_iirorder_1,
#if ARCH_X86_64 #if ARCH_X86_64
#define MLPMUL(label, offset, offs, offc) \ #define MLPMUL(label, offset, offs, offc) \
MANGLE(label)": \n\t" \ LABEL_MANGLE(label)": \n\t" \
"movslq "offset"+"offs"(%0), %%rax\n\t" \ "movslq "offset"+"offs"(%0), %%rax\n\t" \
"movslq "offset"+"offc"(%1), %%rdx\n\t" \ "movslq "offset"+"offc"(%1), %%rdx\n\t" \
"imul %%rdx, %%rax\n\t" \ "imul %%rdx, %%rax\n\t" \
"add %%rax, %%rsi\n\t" "add %%rax, %%rsi\n\t"
#define FIRMULREG(label, offset, firc)\ #define FIRMULREG(label, offset, firc)\
MANGLE(label)": \n\t" \ LABEL_MANGLE(label)": \n\t" \
"movslq "#offset"(%0), %%rax\n\t" \ "movslq "#offset"(%0), %%rax\n\t" \
"imul %"#firc", %%rax\n\t" \ "imul %"#firc", %%rax\n\t" \
"add %%rax, %%rsi\n\t" "add %%rax, %%rsi\n\t"
...@@ -83,7 +83,7 @@ static const void *iirtable[5] = { &ff_mlp_iirorder_0, &ff_mlp_iirorder_1, ...@@ -83,7 +83,7 @@ static const void *iirtable[5] = { &ff_mlp_iirorder_0, &ff_mlp_iirorder_1,
#else /* if ARCH_X86_32 */ #else /* if ARCH_X86_32 */
#define MLPMUL(label, offset, offs, offc) \ #define MLPMUL(label, offset, offs, offc) \
MANGLE(label)": \n\t" \ LABEL_MANGLE(label)": \n\t" \
"mov "offset"+"offs"(%0), %%eax\n\t" \ "mov "offset"+"offs"(%0), %%eax\n\t" \
"imull "offset"+"offc"(%1) \n\t" \ "imull "offset"+"offc"(%1) \n\t" \
"add %%eax , %%esi\n\t" \ "add %%eax , %%esi\n\t" \
...@@ -142,13 +142,13 @@ static void mlp_filter_channel_x86(int32_t *state, const int32_t *coeff, ...@@ -142,13 +142,13 @@ static void mlp_filter_channel_x86(int32_t *state, const int32_t *coeff,
FIRMULREG(ff_mlp_firorder_3, 0x08,10) FIRMULREG(ff_mlp_firorder_3, 0x08,10)
FIRMULREG(ff_mlp_firorder_2, 0x04, 9) FIRMULREG(ff_mlp_firorder_2, 0x04, 9)
FIRMULREG(ff_mlp_firorder_1, 0x00, 8) FIRMULREG(ff_mlp_firorder_1, 0x00, 8)
MANGLE (ff_mlp_firorder_0)":\n\t" LABEL_MANGLE(ff_mlp_firorder_0)":\n\t"
"jmp *%6 \n\t" "jmp *%6 \n\t"
IIRMUL (ff_mlp_iirorder_4, 0x0c ) IIRMUL (ff_mlp_iirorder_4, 0x0c )
IIRMUL (ff_mlp_iirorder_3, 0x08 ) IIRMUL (ff_mlp_iirorder_3, 0x08 )
IIRMUL (ff_mlp_iirorder_2, 0x04 ) IIRMUL (ff_mlp_iirorder_2, 0x04 )
IIRMUL (ff_mlp_iirorder_1, 0x00 ) IIRMUL (ff_mlp_iirorder_1, 0x00 )
MANGLE (ff_mlp_iirorder_0)":\n\t" LABEL_MANGLE(ff_mlp_iirorder_0)":\n\t"
SHIFT_ACCUM SHIFT_ACCUM
"mov "RESULT" ,"ACCUM" \n\t" "mov "RESULT" ,"ACCUM" \n\t"
"add (%2) ,"RESULT" \n\t" "add (%2) ,"RESULT" \n\t"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment