%define NEGODD_XOR ebp-8 %define NEGODD_INC ebp-16 %define NEGEVEN_XOR ebp-24 %define NEGEVEN_INC ebp-32 %define NEGMID_XOR ebp-40 %define NEGMID_INC ebp-48 %define MASK ebp-52 %define P0 ebp-56 %define LIMIT ebp-60 section .text fft2mmx_a1_win: push ebx push ecx push edx push esi push edi push ebp mov ebp,[fft2_bigpermute] mov eax,[timf2_mask] sal eax,1 mov [MASK],eax mov eax,[timf2_px] sal eax,1 mov [P0],eax mov eax,[fft2_size] sal eax,1 mov [LIMIT],eax ;zxy=&fft2_short_int[2*ui.rx_channels*fft2_na*fft2_size]; sal eax,1 imul eax,[fft2_na] mov edx,[fft2_short_int] add edx,eax mov ebx,[timf2_shi] ; The two first trivial loops are combined and ; run together with the unscrambling process xor eax,eax mov ecx,0ffffffffh mov [edx+4],eax mov [edx],ecx movq mm7,[edx] movq mm6,[edx] psllq mm6,32 mov ecx,[fft2_mmxwin] win_one: ;for(j=0; j