mirror of https://github.com/GNOME/gimp.git
53 lines
557 B
ArmAsm
53 lines
557 B
ArmAsm
![]() |
.data
|
||
|
cpu_flags: .long 0
|
||
|
|
||
|
.text
|
||
|
.align 4
|
||
|
.globl intel_cpu_features
|
||
|
|
||
|
intel_cpu_features:
|
||
|
pushl %ebx
|
||
|
pushfl
|
||
|
popl %eax
|
||
|
|
||
|
movl %eax,%ecx
|
||
|
|
||
|
xorl $0x040000,%eax
|
||
|
pushl %eax
|
||
|
|
||
|
popfl
|
||
|
pushfl
|
||
|
|
||
|
popl %eax
|
||
|
xorl %ecx,%eax
|
||
|
jz .intel_cpu_features_end # Processor is 386
|
||
|
|
||
|
pushl %ecx
|
||
|
popfl
|
||
|
|
||
|
movl %ecx,%eax
|
||
|
xorl $0x200000,%eax
|
||
|
|
||
|
pushl %eax
|
||
|
popfl
|
||
|
pushfl
|
||
|
|
||
|
popl %eax
|
||
|
xorl %ecx,%eax
|
||
|
je .intel_cpu_features_end
|
||
|
|
||
|
pushal
|
||
|
|
||
|
movl $1,%eax
|
||
|
cpuid
|
||
|
|
||
|
movl %edx,cpu_flags
|
||
|
|
||
|
popal
|
||
|
|
||
|
movl cpu_flags,%eax
|
||
|
|
||
|
.intel_cpu_features_end:
|
||
|
popl %ebx
|
||
|
ret
|