94 |
%endmacro |
%endmacro |
95 |
|
|
96 |
%macro CONSIM_WRITEOUT 3 |
%macro CONSIM_WRITEOUT 3 |
97 |
mov _EAX,prm4;lumo |
mov eax,prm4d;lumo |
98 |
mul _EAX; lumo^2 |
mul eax; lumo^2 |
99 |
add _EAX, 32 |
add eax, 32 |
100 |
shr _EAX,6; 64*lum0^2 |
shr eax, 6; 64*lum0^2 |
101 |
movd TMP0d,%1 |
movd TMP0d,%1 |
102 |
sub TMP0,_EAX |
sub TMP0d, eax |
103 |
|
|
104 |
mov TMP1,prm6; pdevo |
mov TMP1,prm6; pdevo |
105 |
mov [TMP1],TMP0 |
mov dword [TMP1],TMP0d |
106 |
|
|
107 |
mov eax,prm5d ;lumc |
mov eax,prm5d ;lumc |
108 |
mul _EAX; lumc^2 |
mul eax; lumc^2 |
109 |
add _EAX, 32 |
add eax, 32 |
110 |
shr _EAX,6; 64*lumc^2 |
shr eax, 6; 64*lumc^2 |
111 |
movd TMP0d,%2 |
movd TMP0d,%2 |
112 |
sub TMP0,_EAX |
sub TMP0d, eax |
113 |
|
|
114 |
mov TMP1,prm7; pdevc |
mov TMP1,prm7; pdevc |
115 |
mov [TMP1],TMP0 |
mov dword [TMP1],TMP0d |
116 |
|
|
117 |
mov _EAX,prm4;lumo |
mov eax,prm4d;lumo |
118 |
mul prm5d; lumo*lumc, should fit in _EAX |
mul prm5d; lumo*lumc, should fit in _EAX |
119 |
add _EAX, 32 |
add eax, 32 |
120 |
shr _EAX,6; 64*lumo*lumc |
shr eax, 6; 64*lumo*lumc |
121 |
movd TMP0d,%3 |
movd TMP0d,%3 |
122 |
sub TMP0,_EAX |
sub TMP0d, eax |
123 |
|
|
124 |
mov TMP1,prm8; pcorr |
mov TMP1,prm8; pcorr |
125 |
mov [TMP1],TMP0 |
mov dword [TMP1],TMP0d |
126 |
%endmacro |
%endmacro |
127 |
|
|
128 |
|
|
129 |
SECTION .rotext align=SECTION_ALIGN |
TEXT |
130 |
|
|
131 |
cglobal lum_8x8_mmx |
cglobal lum_8x8_mmx |
132 |
cglobal consim_sse2 |
cglobal consim_sse2 |
159 |
|
|
160 |
ALIGN SECTION_ALIGN |
ALIGN SECTION_ALIGN |
161 |
consim_sse2: |
consim_sse2: |
162 |
|
PUSH_XMM6_XMM7 |
163 |
mov TMP0,prm1 ;ptro |
mov TMP0,prm1 ;ptro |
164 |
mov TMP1,prm2 ;ptrc |
mov TMP1,prm2 ;ptrc |
165 |
mov _EAX, prm3 ;stride |
mov _EAX, prm3 ;stride |
217 |
paddd xmm7, xmm2 |
paddd xmm7, xmm2 |
218 |
|
|
219 |
CONSIM_WRITEOUT xmm5,xmm6,xmm7 |
CONSIM_WRITEOUT xmm5,xmm6,xmm7 |
220 |
|
|
221 |
|
POP_XMM6_XMM7 |
222 |
ret |
ret |
223 |
ENDFUNC |
ENDFUNC |
224 |
|
|
273 |
ret |
ret |
274 |
ENDFUNC |
ENDFUNC |
275 |
|
|
276 |
%ifidn __OUTPUT_FORMAT__,elf |
NON_EXEC_STACK |
|
section ".note.GNU-stack" noalloc noexec nowrite progbits |
|
|
%endif |
|