1 .file "have_mmx.S"
3 # Ensure Inkscape is execshield protected
4 .section .note.GNU-stack
5 .previous
7 .version "01.01"
8 gcc2_compiled.:
9 .text
10 .align 16
11 .globl nr_have_mmx
12 .type nr_have_mmx,@function
14 nr_have_mmx:
15 push %ebx
17 # Check if bit 21 in flags word is writeable
19 pushfl
20 popl %eax
21 movl %eax,%ebx
22 xorl $0x00200000, %eax
23 pushl %eax
24 popfl
25 pushfl
26 popl %eax
28 cmpl %eax, %ebx
30 je .notfound
32 # OK, we have CPUID
34 movl $1, %eax
35 cpuid
37 test $0x00800000, %edx
38 jz .notfound
40 movl $1, %eax
41 jmp .out
43 .notfound:
44 movl $0, %eax
45 .out:
46 popl %ebx
47 ret