Fix _M_X86 to _M_IX86

Fix _M_X86 to _M_IX86 for Visual C 32 bit

Visual C defines _M_IX86 for 32 bit x86, not _M_X86.
row.h and row_win.cc tested _M_X86, so a real 32 bit Visual C build
got neither USE_ROW_WIN nor USE_ROW_GCC, row_win.cc compiled to nothing,
and the HAS_*_AVX2 defines for all x86 platforms were skipped.
clang-cl and Android x86 are unaffected since clang defines __i386__.

Testing:
ninja -C out/Release libyuv_unittest && out/Release/libyuv_unittest
ninja -C out/Release_x86 libyuv_unittest && out/Release_x86/libyuv_unittest
ninja -C out/rowwin libyuv_unittest && out/rowwin/libyuv_unittest
blaze test --config=windows_x86 //third_party/libyuv:libyuv_test
blaze build --config=android_x86 //third_party/libyuv:libyuv

Bug: None
Change-Id: I0f90c03855f2981040ab4f250cd2facc9ef47ac0
TAG=agy
CONV=bea53b37-b2bf-46fa-9e44-a708b438fabc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8499834
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
This commit is contained in:
Frank Barchard 2026-10-01 02:38:01 -07:00 committed by libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com
parent 18835bfb35
commit eee4597984
2 changed files with 5 additions and 5 deletions

View File

@ -26,7 +26,7 @@ extern "C" {
// This module is for Visual C 32/64 bit // This module is for Visual C 32/64 bit
#if !defined(LIBYUV_DISABLE_X86) && \ #if !defined(LIBYUV_DISABLE_X86) && \
(defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \ (defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \
defined(_M_X86)) defined(_M_IX86))
#if ((defined(_MSC_VER) && !defined(__clang__)) || \ #if ((defined(_MSC_VER) && !defined(__clang__)) || \
defined(LIBYUV_ENABLE_ROWWIN)) defined(LIBYUV_ENABLE_ROWWIN))
#define USE_ROW_WIN #define USE_ROW_WIN
@ -128,7 +128,7 @@ extern "C" {
// require VS2012, clang 3.4 or gcc 4.7. // require VS2012, clang 3.4 or gcc 4.7.
#if !defined(LIBYUV_DISABLE_X86) && \ #if !defined(LIBYUV_DISABLE_X86) && \
(defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \ (defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \
defined(_M_X86)) defined(_M_IX86))
#define HAS_ARGBMIRRORROW_AVX2 #define HAS_ARGBMIRRORROW_AVX2
#define HAS_RGB24MIRRORROW_AVX2 #define HAS_RGB24MIRRORROW_AVX2
#define HAS_ARGBTOUVMATRIXROW_AVX2 #define HAS_ARGBTOUVMATRIXROW_AVX2
@ -351,7 +351,7 @@ extern "C" {
// This module is for Visual C 32/64 bit // This module is for Visual C 32/64 bit
#if !defined(LIBYUV_DISABLE_X86) && defined(USE_ROW_WIN) && \ #if !defined(LIBYUV_DISABLE_X86) && defined(USE_ROW_WIN) && \
(defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \ (defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \
defined(_M_X86)) && \ defined(_M_IX86)) && \
((defined(_MSC_VER) && !defined(__clang__)) || \ ((defined(_MSC_VER) && !defined(__clang__)) || \
defined(LIBYUV_ENABLE_ROWWIN)) defined(LIBYUV_ENABLE_ROWWIN))
#define HAS_RAWTOARGBROW_AVX2 #define HAS_RAWTOARGBROW_AVX2

View File

@ -14,7 +14,7 @@
// This module is for Visual C 32/64 bit // This module is for Visual C 32/64 bit
#if !defined(LIBYUV_DISABLE_X86) && \ #if !defined(LIBYUV_DISABLE_X86) && \
(defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \ (defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || \
defined(_M_X86)) && \ defined(_M_IX86)) && \
((defined(_MSC_VER) && !defined(__clang__)) || \ ((defined(_MSC_VER) && !defined(__clang__)) || \
defined(LIBYUV_ENABLE_ROWWIN)) defined(LIBYUV_ENABLE_ROWWIN))
@ -2545,6 +2545,6 @@ void BlendPlaneRow_AVX512BW(const uint8_t* src0,
#endif #endif
#endif // !defined(LIBYUV_DISABLE_X86) && (defined(__x86_64__) || #endif // !defined(LIBYUV_DISABLE_X86) && (defined(__x86_64__) ||
// defined(__i386__) || defined(_M_X64) || defined(_M_X86)) && // defined(__i386__) || defined(_M_X64) || defined(_M_IX86)) &&
// ((defined(_MSC_VER) && !defined(__clang__)) || // ((defined(_MSC_VER) && !defined(__clang__)) ||
// defined(LIBYUV_ENABLE_ROWWIN)) // defined(LIBYUV_ENABLE_ROWWIN))