Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2210 → Rev 2215

/programs/other/fft/fht4code.asm/FHT4i.inc
185,6 → 185,45
jnz .loop
ret
 
;=================================================================
; SSE3 version: Step1
;
;==========================
 
align 4
step1_sse:
mov ebx, [esp+8]
mov esi, [esp+4]
shl esi, 3
add esi, ebx
 
.loop:
movddup xmm0, [ebx] ; xmm0: f0 ; f0
movddup xmm1, [ebx+8] ; xmm1: f1 ; f1
addsubpd xmm0, xmm1 ; xmm0: t1 ; t2 ( + - )
movddup xmm1, [ebx+16] ; xmm1: f2 ; f2
movddup xmm2, [ebx+24] ; xmm2: f3 ; f3
addsubpd xmm1, xmm2 ; xmm1: t3 ; t4 ( + - )
 
movddup xmm2, xmm0 ; xmm2: t2 ; t2
movddup xmm3, xmm1 ; xmm3: t4 ; t4
addsubpd xmm2, xmm3 ; xmm2: 2+4; 2-4
shufpd xmm2, xmm2, 1 ; xmm2: 2-4; 2+4
movapd [ebx+16], xmm2
 
shufpd xmm0, xmm0, 1 ; xmm0: t2 ; t1
shufpd xmm1, xmm1, 1 ; xmm1: t4 ; t3
movddup xmm2, xmm0 ; xmm2: t1 ; t1
movddup xmm3, xmm1 ; xmm3: t3 ; t3
addsubpd xmm2, xmm3 ; xmm2: 1+3; 1-3
shufpd xmm2, xmm2, 1 ; xmm2: 1-3; 1+3
movapd [ebx], xmm2
 
add ebx, 32
cmp ebx, esi
jnz .loop
ret
 
; local stack definitions
;===========================================================================
_t0 equ dword [esp]