Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 179872 | Differences between
and this patch

Collapse All | Expand All

(-)ffmpeg-old/libavcodec/x86/fft_mmx.asm (-7 / +25 lines)
Lines 446-461 fft %+ n %+ %3%2: Link Here
446
%endrep
446
%endrep
447
%undef n
447
%undef n
448
448
449
align 8
449
; On x86_32, this function does the register saving and restoring for all of
450
dispatch_tab%3%2: pointer list_of_fft
450
; fft. The others pass args in registers and don't spill anything.
451
452
; On x86_32, this function does the register saving and restoring for all of fft.
453
; The others pass args in registers and don't spill anything.
454
cglobal fft_dispatch%3%2, 2,5,0, z, nbits
451
cglobal fft_dispatch%3%2, 2,5,0, z, nbits
455
    lea r2, [dispatch_tab%3%2 GLOBAL]
452
456
    mov r2, [r2 + (nbitsq-2)*gprsize]
453
; FIXME: The following jump table like construction can be solved better, I
454
; just dont know how to manipulate the program counter
455
%assign i 2
456
%rep 15
457
    cmp nbitsq, i 
458
    je  L %+ i %+ %3%2
459
%assign i i+1
460
%endrep
461
462
%assign i 2
463
%rep 15
464
L  %+ i %+ %3%2:
465
%assign k 1<<i 
466
%if (%1==5 && i==4) || i<4 
467
    lea r2, [fft %+ k %+ %2 GLOBAL]
468
%else
469
    lea r2, [fft %+ k %+ %3%2 GLOBAL]
470
%endif
457
    call r2
471
    call r2
458
    RET
472
    RET
473
%assign i i+1
474
%endrep
475
%undef i
476
459
%endmacro ; DECL_FFT
477
%endmacro ; DECL_FFT
460
478
461
DECL_FFT 5, _sse
479
DECL_FFT 5, _sse

Return to bug 179872