summaryrefslogtreecommitdiff
path: root/libavcodec/x86/fft_mmx.asm
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/x86/fft_mmx.asm')
-rw-r--r--libavcodec/x86/fft_mmx.asm25
1 files changed, 14 insertions, 11 deletions
diff --git a/libavcodec/x86/fft_mmx.asm b/libavcodec/x86/fft_mmx.asm
index e50dfb94c2..e1b485b697 100644
--- a/libavcodec/x86/fft_mmx.asm
+++ b/libavcodec/x86/fft_mmx.asm
@@ -442,7 +442,7 @@ fft16_sse:
%macro FFT48_3DN 0
align 16
-fft4_ %+ cpuname:
+fft4 %+ SUFFIX:
T2_3DN m0, m1, Z(0), Z(1)
mova m2, Z(2)
mova m3, Z(3)
@@ -456,7 +456,7 @@ fft4_ %+ cpuname:
ret
align 16
-fft8_ %+ cpuname:
+fft8 %+ SUFFIX:
T2_3DN m0, m1, Z(0), Z(1)
mova m2, Z(2)
mova m3, Z(3)
@@ -593,12 +593,15 @@ DECL_PASS pass_interleave_3dnow, PASS_BIG 0
call r2
%endmacro ; FFT_DISPATCH
-%macro DECL_FFT 1-2 ; nbits, cpu, suffix
-%xdefine cpusuffix _ %+ cpuname
-%xdefine fullsuffix %2_ %+ cpuname
-%xdefine list_of_fft fft4 %+ cpusuffix SECTION_REL, fft8 %+ cpusuffix SECTION_REL
+%macro DECL_FFT 1-2 ; nbits, suffix
+%ifidn %0, 1
+%xdefine fullsuffix SUFFIX
+%else
+%xdefine fullsuffix %2 %+ SUFFIX
+%endif
+%xdefine list_of_fft fft4 %+ SUFFIX SECTION_REL, fft8 %+ SUFFIX SECTION_REL
%if %1>=5
-%xdefine list_of_fft list_of_fft, fft16 %+ cpusuffix SECTION_REL
+%xdefine list_of_fft list_of_fft, fft16 %+ SUFFIX SECTION_REL
%endif
%if %1>=6
%xdefine list_of_fft list_of_fft, fft32 %+ fullsuffix SECTION_REL
@@ -612,11 +615,11 @@ DECL_PASS pass_interleave_3dnow, PASS_BIG 0
align 16
fft %+ n %+ fullsuffix:
- call fft %+ n2 %+ cpusuffix
+ call fft %+ n2 %+ SUFFIX
add r0, n*4 - (n&(-2<<%1))
- call fft %+ n4 %+ cpusuffix
+ call fft %+ n4 %+ SUFFIX
add r0, n*2 - (n2&(-2<<%1))
- call fft %+ n4 %+ cpusuffix
+ call fft %+ n4 %+ SUFFIX
sub r0, n*6 + (n2&(-2<<%1))
lea r1, [cos_ %+ n]
mov r2d, n4/2
@@ -825,7 +828,7 @@ cglobal imdct_half, 3,12,8; FFTContext *s, FFTSample *output, const FFTSample *i
mov r0, r1
mov r1d, [r5+FFTContext.nbits]
- FFT_DISPATCH _ %+ cpuname, r1
+ FFT_DISPATCH SUFFIX, r1
mov r0d, [r5+FFTContext.mdctsize]
add r6, r0