Merge "Runtime CPU detection for unit tests"
This commit is contained in:
commit
3897b48aba
@ -7,8 +7,38 @@
|
|||||||
* in the file PATENTS. All contributing project authors may
|
* in the file PATENTS. All contributing project authors may
|
||||||
* be found in the AUTHORS file in the root of the source tree.
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
*/
|
*/
|
||||||
|
#include <string>
|
||||||
|
#include "vpx_config.h"
|
||||||
|
#if ARCH_X86 || ARCH_X86_64
|
||||||
|
#include "vpx_ports/x86.h"
|
||||||
|
#endif
|
||||||
#include "third_party/googletest/src/include/gtest/gtest.h"
|
#include "third_party/googletest/src/include/gtest/gtest.h"
|
||||||
|
|
||||||
|
static void append_gtest_filter(const char *str)
|
||||||
|
{
|
||||||
|
std::string filter = ::testing::FLAGS_gtest_filter;
|
||||||
|
filter += str;
|
||||||
|
::testing::FLAGS_gtest_filter = filter;
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
::testing::InitGoogleTest(&argc, argv);
|
::testing::InitGoogleTest(&argc, argv);
|
||||||
|
|
||||||
|
#if ARCH_X86 || ARCH_X86_64
|
||||||
|
int simd_caps = x86_simd_caps();
|
||||||
|
if(!(simd_caps & HAS_MMX))
|
||||||
|
append_gtest_filter(":-MMX/*");
|
||||||
|
if(!(simd_caps & HAS_SSE))
|
||||||
|
append_gtest_filter(":-SSE/*");
|
||||||
|
if(!(simd_caps & HAS_SSE2))
|
||||||
|
append_gtest_filter(":-SSE2/*");
|
||||||
|
if(!(simd_caps & HAS_SSE3))
|
||||||
|
append_gtest_filter(":-SSE3/*");
|
||||||
|
if(!(simd_caps & HAS_SSSE3))
|
||||||
|
append_gtest_filter(":-SSSE3/*");
|
||||||
|
if(!(simd_caps & HAS_SSE4_1))
|
||||||
|
append_gtest_filter(":-SSE4_1/*");
|
||||||
|
#endif
|
||||||
|
|
||||||
return RUN_ALL_TESTS();
|
return RUN_ALL_TESTS();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user