From b07de879b6553968cccd9d51afe4d2b3d4886a4d Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Mon, 8 Jun 2015 22:48:18 +0000 Subject: [PATCH] enable intrinsics for clangcl if -mssse3 is enabled. BUG=451 TESTED=untested R=harryjin@google.com Review URL: https://webrtc-codereview.appspot.com/52699004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@1427 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- include/libyuv/row.h | 5 +++-- source/row_win.cc | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/libyuv/row.h b/include/libyuv/row.h index 708909f17..a0fbf66d0 100644 --- a/include/libyuv/row.h +++ b/include/libyuv/row.h @@ -158,8 +158,9 @@ extern "C" { #define HAS_SOBELYROW_SSE2 #endif -// The following are available on x64 Visual C: -#if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && !defined(__clang__) +// The following are available on x64 Visual C and clangcl. +#if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && \ + (!defined(__clang__) || defined(__SSSE3__)) #define HAS_I422TOARGBROW_SSSE3 #endif diff --git a/source/row_win.cc b/source/row_win.cc index a62a13254..d7360f747 100644 --- a/source/row_win.cc +++ b/source/row_win.cc @@ -151,6 +151,7 @@ static YuvConstants SIMD_ALIGNED(kYuvJConstants) = { // 64 bit #if defined(_M_X64) +#if defined(HAS_I422TOARGBROW_SSSE3) void I422ToARGBRow_SSSE3(const uint8* y_buf, const uint8* u_buf, const uint8* v_buf, @@ -200,6 +201,7 @@ void I422ToARGBRow_SSSE3(const uint8* y_buf, width -= 8; } } +#endif // 32 bit #else // defined(_M_X64) #ifdef HAS_ARGBTOYROW_SSSE3