| 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;
|
| }
|
|
|
|
|