mirror of
https://github.com/google/cpu_features.git
synced 2025-04-28 15:33:37 +02:00
Merge pull request #51 from google/update_macros
Update macros to detect mips64 and differentiate between x86 32/64.
This commit is contained in:
commit
4bb7f87a8d
@ -19,9 +19,19 @@
|
|||||||
// Architectures
|
// Architectures
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#if ((defined(_M_IX86) || defined(_M_X64) || defined(__i386__) || \
|
#if defined(__pnacl__) || defined(__CLR_VER)
|
||||||
defined(__x86_64__)) && \
|
#define CPU_FEATURES_ARCH_VM
|
||||||
!defined(__pnacl__) && !defined(__CLR_VER))
|
#endif
|
||||||
|
|
||||||
|
#if (defined(_M_IX86) || defined(__i386__)) && !defined(CPU_FEATURES_ARCH_VM)
|
||||||
|
#define CPU_FEATURES_ARCH_X86_32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (defined(_M_X64) || defined(__x86_64__)) && !defined(CPU_FEATURES_ARCH_VM)
|
||||||
|
#define CPU_FEATURES_ARCH_X86_64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CPU_FEATURES_ARCH_X86_32) || defined(CPU_FEATURES_ARCH_X86_64)
|
||||||
#define CPU_FEATURES_ARCH_X86
|
#define CPU_FEATURES_ARCH_X86
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -37,7 +47,15 @@
|
|||||||
#define CPU_FEATURES_ARCH_ANY_ARM
|
#define CPU_FEATURES_ARCH_ANY_ARM
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__mips__)
|
#if defined(__mips64)
|
||||||
|
#define CPU_FEATURES_ARCH_MIPS64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__mips__) && !defined(__mips64) // mips64 also declares __mips__
|
||||||
|
#define CPU_FEATURES_ARCH_MIPS32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CPU_FEATURES_ARCH_MIPS32) || defined(CPU_FEATURES_ARCH_MIPS64)
|
||||||
#define CPU_FEATURES_ARCH_MIPS
|
#define CPU_FEATURES_ARCH_MIPS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -83,10 +101,10 @@
|
|||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
#define CPU_FEATURES_START_CPP_NAMESPACE \
|
#define CPU_FEATURES_START_CPP_NAMESPACE \
|
||||||
namespace cpu_features { \
|
namespace cpu_features { \
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#define CPU_FEATURES_END_CPP_NAMESPACE \
|
#define CPU_FEATURES_END_CPP_NAMESPACE \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define CPU_FEATURES_START_CPP_NAMESPACE
|
#define CPU_FEATURES_START_CPP_NAMESPACE
|
||||||
@ -97,8 +115,8 @@
|
|||||||
// Compiler flags
|
// Compiler flags
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// Use the following to check if a feature is known to be available at compile
|
// Use the following to check if a feature is known to be available at
|
||||||
// time. See README.md for an example.
|
// compile time. See README.md for an example.
|
||||||
#if defined(CPU_FEATURES_ARCH_X86)
|
#if defined(CPU_FEATURES_ARCH_X86)
|
||||||
#define CPU_FEATURES_COMPILED_X86_AES defined(__AES__)
|
#define CPU_FEATURES_COMPILED_X86_AES defined(__AES__)
|
||||||
#define CPU_FEATURES_COMPILED_X86_F16C defined(__F16C__)
|
#define CPU_FEATURES_COMPILED_X86_F16C defined(__F16C__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user