Index: source/libvpx/vpx_ports/x86.h |
=================================================================== |
--- source/libvpx/vpx_ports/x86.h (revision 232232) |
+++ source/libvpx/vpx_ports/x86.h (working copy) |
@@ -88,12 +88,14 @@ |
#endif |
#endif /* end others */ |
-#define HAS_MMX 0x01 |
-#define HAS_SSE 0x02 |
-#define HAS_SSE2 0x04 |
-#define HAS_SSE3 0x08 |
-#define HAS_SSSE3 0x10 |
-#define HAS_SSE4_1 0x20 |
+#define HAS_MMX 0x01 |
+#define HAS_SSE 0x02 |
+#define HAS_SSE2 0x04 |
+#define HAS_SSE3 0x08 |
+#define HAS_SSSE3 0x10 |
+#define HAS_SSE4_1 0x20 |
+#define HAS_AVX 0x40 |
+#define HAS_AVX2 0x80 |
#ifndef BIT |
#define BIT(n) (1<<n) |
#endif |
@@ -132,12 +134,16 @@ |
if (reg_edx & BIT(26)) flags |= HAS_SSE2; /* aka wmt */ |
- if (reg_ecx & BIT(0)) flags |= HAS_SSE3; |
+ if (reg_ecx & BIT(0)) flags |= HAS_SSE3; |
- if (reg_ecx & BIT(9)) flags |= HAS_SSSE3; |
+ if (reg_ecx & BIT(9)) flags |= HAS_SSSE3; |
if (reg_ecx & BIT(19)) flags |= HAS_SSE4_1; |
+ if (reg_ecx & BIT(28)) flags |= HAS_AVX; |
+ |
+ if (reg_ebx & BIT(5)) flags |= HAS_AVX2; |
+ |
return flags & mask; |
} |