Enable CPU.RunExtendedInstructions test for win64 with clangcl
clangcl supports Visual C (Intel) syntax for inline assembly for 64 bit,
as well as 32 bit. Enable the existing instruction set test when built
with clangcl.
R=brucedawson@chromium.org
BUG=chromium:168866
Review URL: https://codereview.chromium.org/1385093002
Cr-Commit-Position: refs/heads/master@{#352629}
CrOS-Libchrome-Original-Commit: 20028e68089da9762bfd62a6dedf167f3f017222
diff --git a/base/cpu_unittest.cc b/base/cpu_unittest.cc
index 9315097..ec14620 100644
--- a/base/cpu_unittest.cc
+++ b/base/cpu_unittest.cc
@@ -26,7 +26,7 @@
ASSERT_TRUE(cpu.has_sse());
ASSERT_TRUE(cpu.has_sse2());
-// TODO(fbarchard): consider enabling for clangcl.
+// GCC and clang instruction test.
#if defined(COMPILER_GCC)
// Execute an MMX instruction.
__asm__ __volatile__("emms\n" : : : "mm0");
@@ -67,8 +67,9 @@
__asm__ __volatile__("vpunpcklbw %%ymm0, %%ymm0, %%ymm0\n" : : : "xmm0");
}
-// TODO(jschuh): crbug.com/168866 Find a way to enable this on Win64.
-#elif defined(COMPILER_MSVC) && defined(ARCH_CPU_32_BITS)
+// Visual C 32 bit and ClangCL 32/64 bit test.
+#elif defined(COMPILER_MSVC) && (defined(ARCH_CPU_32_BITS) || \
+ (defined(ARCH_CPU_64_BITS) && defined(__clang__)))
// Execute an MMX instruction.
__asm emms;