Commit 35d0c217 authored by Reimar Döffinger's avatar Reimar Döffinger

Replace pushf/popf by explicit pushfl/popfl (32 bit) or pushfq/popfq (x86_64),

to fix generated code on ICC 11.0.

Originally committed as revision 15935 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent bd2b6b33
......@@ -44,10 +44,17 @@ int mm_support(void)
int max_std_level, max_ext_level, std_caps=0, ext_caps=0;
x86_reg a, c;
#ifdef ARCH_X86_64
#define PUSHF "pushfq\n\t"
#define POPF "popfq\n\t"
#else
#define PUSHF "pushfl\n\t"
#define POPF "popfl\n\t"
#endif
__asm__ volatile (
/* See if CPUID instruction is supported ... */
/* ... Get copies of EFLAGS into eax and ecx */
"pushf\n\t"
PUSHF
"pop %0\n\t"
"mov %0, %1\n\t"
......@@ -55,10 +62,10 @@ int mm_support(void)
/* to the EFLAGS reg */
"xor $0x200000, %0\n\t"
"push %0\n\t"
"popf\n\t"
POPF
/* ... Get the (hopefully modified) EFLAGS */
"pushf\n\t"
PUSHF
"pop %0\n\t"
: "=a" (a), "=c" (c)
:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment