From d4fbd60169a1087531548dc9ca70f4d4b555f09a Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Mon, 8 Sep 2014 18:29:46 +0000 Subject: [PATCH] expect avx2 compiler support means one of the avx2 functions exists. BUG=none TESTED=try bots R=bcornell@google.com Review URL: https://webrtc-codereview.appspot.com/22299004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@1076 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- unit_test/cpu_test.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/unit_test/cpu_test.cc b/unit_test/cpu_test.cc index 4eea38799..f346f503b 100644 --- a/unit_test/cpu_test.cc +++ b/unit_test/cpu_test.cc @@ -13,6 +13,7 @@ #include "libyuv/basic_types.h" #include "libyuv/cpu_id.h" +#include "libyuv/row.h" // For HAS_ARGBSHUFFLEROW_AVX2. #include "libyuv/version.h" #include "../unit_test/unit_test.h" @@ -52,11 +53,22 @@ TEST_F(libyuvTest, TestCpuHas) { } TEST_F(libyuvTest, TestCompilerHasAVX2) { -#if defined(GCC_HAS_AVX2) || defined(CLANG_HAS_AVX2) || \ - defined(VISUALC_HAS_AVX2) +#ifdef _MSC_VER +printf("_MSC_VER %d\n", _MSC_VER); +#endif +#if !defined(LIBYUV_DISABLE_X86) && (defined(GCC_HAS_AVX2) || \ + defined(CLANG_HAS_AVX2) || defined(VISUALC_HAS_AVX2)) printf("Has AVX2 1\n"); + // If compiler supports AVX2, the following function is expected to exist: +#if !defined(HAS_ARGBSHUFFLEROW_AVX2) + EXPECT_TRUE(0); // HAS_ARGBSHUFFLEROW_AVX2 was expected. +#endif #else printf("Has AVX2 0\n"); + // If compiler does not support AVX2, the following function not expected: +#if defined(HAS_ARGBSHUFFLEROW_AVX2) + EXPECT_TRUE(0); // HAS_ARGBSHUFFLEROW_AVX2 was not expected. +#endif #endif }