diff options
Diffstat (limited to 'libavutil/x86/cpu.c')
-rw-r--r-- | libavutil/x86/cpu.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libavutil/x86/cpu.c b/libavutil/x86/cpu.c index 7d65c6075e..d3b1bd5ea6 100644 --- a/libavutil/x86/cpu.c +++ b/libavutil/x86/cpu.c @@ -62,6 +62,8 @@ } while (0) #endif /* HAVE_XGETBV */ +#if HAVE_INLINE_ASM + #define get_eflags(x) \ __asm__ volatile ("pushfl \n" \ "pop %0 \n" \ @@ -72,6 +74,18 @@ "popfl \n" \ :: "r"(x)) +#elif HAVE_RWEFLAGS + +#include <intrin.h> + +#define get_eflags(x) \ + x = __readeflags() + +#define set_eflags(x) \ + __writeeflags(x) + +#endif /* HAVE_INLINE_ASM */ + /* Function to test if multimedia instructions are supported... */ int ff_get_cpu_flags_x86(void) { |