Commit f6fbce76 authored by Diego Biurrun's avatar Diego Biurrun

x86: Drop CPU detection intrinsics

Now that there is CPU detection in YASM, there will always be one of
inline or external assembly enabled, which obviates the need to fall
back on CPU detection through compiler intrinsics.
parent 1f6d8699
......@@ -1138,7 +1138,6 @@ HAVE_LIST="
cbrtf
closesocket
cmov
cpuid
cpunop
dcbzl
dev_bktr_ioctl_bt848_h
......@@ -1206,7 +1205,6 @@ HAVE_LIST="
rint
round
roundf
rweflags
sched_getaffinity
sdl
sdl_video_size
......@@ -1250,7 +1248,6 @@ HAVE_LIST="
windows_h
winsock2_h
xform_asm
xgetbv
xmm_clobbers
"
......@@ -3070,10 +3067,7 @@ elif enabled sparc; then
elif enabled x86; then
check_code ld immintrin.h "return __xgetbv(0)" && enable xgetbv
check_code ld intrin.h "int info[4]; __cpuid(info, 0)" && enable cpuid
check_code ld intrin.h "__rdtsc()" && enable rdtsc
check_code ld intrin.h "unsigned int x = __readeflags()" && enable rweflags
check_code ld mmintrin.h "_mm_empty()" && enable mm_empty
......
......@@ -45,35 +45,9 @@
"xchg %%"REG_b", %%"REG_S \
: "=a" (eax), "=S" (ebx), "=c" (ecx), "=d" (edx) \
: "0" (index))
#elif HAVE_CPUID
#include <intrin.h>
#define cpuid(index, eax, ebx, ecx, edx) \
do { \
int info[4]; \
__cpuid(info, index); \
eax = info[0]; \
ebx = info[1]; \
ecx = info[2]; \
edx = info[3]; \
} while (0)
#endif /* HAVE_CPUID */
#if HAVE_INLINE_ASM
#define xgetbv(index, eax, edx) \
__asm__ (".byte 0x0f, 0x01, 0xd0" : "=a"(eax), "=d"(edx) : "c" (index))
#elif HAVE_XGETBV
#include <immintrin.h>
#define xgetbv(index, eax, edx) \
do { \
uint64_t res = __xgetbv(index); \
eax = res; \
edx = res >> 32; \
} while (0)
#endif /* HAVE_XGETBV */
#if HAVE_INLINE_ASM
#define get_eflags(x) \
__asm__ volatile ("pushfl \n" \
......@@ -85,16 +59,6 @@
"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 */
#if ARCH_X86_64
......
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