Index: base/cpu_unittest.cc |
diff --git a/base/cpu_unittest.cc b/base/cpu_unittest.cc |
index ec14620f98c91a79a9e6ddc1e40a983cabd621b4..9cabfd6998daeec8c3c80310f7aac390efca7c59 100644 |
--- a/base/cpu_unittest.cc |
+++ b/base/cpu_unittest.cc |
@@ -57,6 +57,11 @@ TEST(CPU, RunExtendedInstructions) { |
__asm__ __volatile__("crc32 %%eax, %%eax\n" : : : "eax"); |
} |
+ if (cpu.has_popcnt()) { |
+ // Execute a POPCNT instruction. |
+ __asm__ __volatile__("popcnt %%eax, %%eax\n" : : : "eax"); |
+ } |
+ |
if (cpu.has_avx()) { |
// Execute an AVX instruction. |
__asm__ __volatile__("vzeroupper\n" : : : "xmm0"); |
@@ -100,6 +105,11 @@ TEST(CPU, RunExtendedInstructions) { |
__asm crc32 eax, eax; |
} |
+ if (cpu.has_popcnt()) { |
+ // Execute a POPCNT instruction. |
+ __asm popcnt eax, eax; |
+ } |
+ |
// Visual C 2012 required for AVX. |
#if _MSC_VER >= 1700 |
if (cpu.has_avx()) { |