libFLAC: Fix cpuid detecton on old Cyrix CPUs

Some old CPUs (eg Cyrix) set EDX but not ECX when executing CPUID.
One of the solutions is to clear ECX before calling cpuid. From
https://bugzilla.mozilla.org/show_bug.cgi?id=1096651#c9 bug

Patch-from: lvqcl <lvqcl.mail@gmail.com>
This commit is contained in:
Erik de Castro Lopo
2016-07-13 19:45:53 +10:00
parent 74e751c421
commit c12bfa0e72

View File

@@ -78,6 +78,7 @@ cident FLAC__cpu_info_asm_ia32
cpuid cpuid
cmp eax, 1 cmp eax, 1
jb .no_cpuid jb .no_cpuid
xor ecx, ecx
mov eax, 1 mov eax, 1
cpuid cpuid
mov ebx, [esp + 8] mov ebx, [esp + 8]