28 |
%macro cglobal 1 |
%macro cglobal 1 |
29 |
%ifdef PREFIX |
%ifdef PREFIX |
30 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
31 |
global _%1:function |
global _%1:function %1.endfunc-%1 |
32 |
%define %1 _%1:function |
%define %1 _%1:function %1.endfunc-%1 |
33 |
%else |
%else |
34 |
global _%1 |
global _%1 |
35 |
%define %1 _%1 |
%define %1 _%1 |
36 |
%endif |
%endif |
37 |
%else |
%else |
38 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
39 |
global %1:function |
global %1:function %1.endfunc-%1 |
40 |
%else |
%else |
41 |
global %1 |
global %1 |
42 |
%endif |
%endif |
189 |
pop ebx |
pop ebx |
190 |
|
|
191 |
ret |
ret |
192 |
|
.endfunc |
193 |
|
|
194 |
; sse/sse2 operating support detection routines |
; sse/sse2 operating support detection routines |
195 |
; these will trigger an invalid instruction signal if not supported. |
; these will trigger an invalid instruction signal if not supported. |
198 |
sse_os_trigger: |
sse_os_trigger: |
199 |
xorps xmm0, xmm0 |
xorps xmm0, xmm0 |
200 |
ret |
ret |
201 |
|
.endfunc |
202 |
|
|
203 |
|
|
204 |
ALIGN 16 |
ALIGN 16 |
206 |
sse2_os_trigger: |
sse2_os_trigger: |
207 |
xorpd xmm0, xmm0 |
xorpd xmm0, xmm0 |
208 |
ret |
ret |
209 |
|
.endfunc |
210 |
|
|
211 |
|
|
212 |
; enter/exit mmx state |
; enter/exit mmx state |
215 |
emms_mmx: |
emms_mmx: |
216 |
emms |
emms |
217 |
ret |
ret |
218 |
|
.endfunc |
219 |
|
|
220 |
; faster enter/exit mmx state |
; faster enter/exit mmx state |
221 |
ALIGN 16 |
ALIGN 16 |
223 |
emms_3dn: |
emms_3dn: |
224 |
femms |
femms |
225 |
ret |
ret |
226 |
|
.endfunc |
227 |
|
|
228 |
|
|