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

Originally committed as revision 18935 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ramiro Polla 2009-05-25 01:52:05 +00:00
parent 7d9beec775
commit 7c4c60e520
1 changed files with 5 additions and 5 deletions

View File

@ -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,
#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,
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"