diff options
Diffstat (limited to 'third_party/aom/aom_ports/x86.h')
-rw-r--r-- | third_party/aom/aom_ports/x86.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/third_party/aom/aom_ports/x86.h b/third_party/aom/aom_ports/x86.h index e5680ca93..b642a57f7 100644 --- a/third_party/aom/aom_ports/x86.h +++ b/third_party/aom/aom_ports/x86.h @@ -17,8 +17,8 @@ #include <intrin.h> /* For __cpuidex, __rdtsc */ #endif -#include "aom_config.h" #include "aom/aom_integer.h" +#include "config/aom_config.h" #ifdef __cplusplus extern "C" { @@ -162,6 +162,7 @@ static INLINE uint64_t xgetbv(void) { #define HAS_SSE4_1 0x20 #define HAS_AVX 0x40 #define HAS_AVX2 0x80 +#define HAS_SSE4_2 0x100 #ifndef BIT #define BIT(n) (1 << n) #endif @@ -202,6 +203,8 @@ static INLINE int x86_simd_caps(void) { if (reg_ecx & BIT(19)) flags |= HAS_SSE4_1; + if (reg_ecx & BIT(20)) flags |= HAS_SSE4_2; + // bits 27 (OSXSAVE) & 28 (256-bit AVX) if ((reg_ecx & (BIT(27) | BIT(28))) == (BIT(27) | BIT(28))) { if ((xgetbv() & 0x6) == 0x6) { |