]> git.sesse.net Git - mlt/blob - src/modules/gtk2/have_mmx.S
Merge ../mlt++
[mlt] / src / modules / gtk2 / have_mmx.S
1         .file   "have_mmx.S"
2         .version        "01.01"
3 gcc2_compiled.:
4 .text
5         .align 16
6
7 #if !defined(__MINGW32__) && !defined(__CYGWIN__)       
8
9 .globl pixops_have_mmx
10         .type    pixops_have_mmx,@function
11 pixops_have_mmx:
12
13 #else
14
15 .globl _pixops_have_mmx
16 _pixops_have_mmx:
17
18 #endif
19         
20         push    %ebx
21
22 # Check if bit 21 in flags word is writeable
23
24         pushfl  
25         popl    %eax
26         movl    %eax,%ebx
27         xorl    $0x00200000, %eax
28         pushl   %eax
29         popfl
30         pushfl
31         popl    %eax
32
33         cmpl    %eax, %ebx
34
35         je .notfound
36
37 # OK, we have CPUID
38
39         movl    $1, %eax
40         cpuid
41         
42         test    $0x00800000, %edx
43         jz      .notfound
44
45         movl    $1, %eax
46         jmp     .out
47
48 .notfound:
49         movl    $0, %eax
50 .out:   
51         popl    %ebx
52         ret
53