Index: src/arm64/assembler-arm64.cc |
diff --git a/src/arm64/assembler-arm64.cc b/src/arm64/assembler-arm64.cc |
index 524be154c53bef81a410c3c648f456fc32f85bd3..6d40c3860851ca364498a8cd4df35326becfbf52 100644 |
--- a/src/arm64/assembler-arm64.cc |
+++ b/src/arm64/assembler-arm64.cc |
@@ -46,11 +46,25 @@ namespace internal { |
void CpuFeatures::ProbeImpl(bool cross_compile) { |
// AArch64 has no configuration options, no further probing is required. |
supported_ = 0; |
+ |
+ // Only use statically determined features for cross compile (snapshot). |
+ if (cross_compile) return; |
+ |
+ // Probe for runtime features |
+ base::CPU cpu; |
+ if (cpu.implementer() == base::CPU::NVIDIA && |
+ cpu.variant() == base::CPU::NVIDIA_DENVER) { |
+ supported_ |= 1u << COHERENT_CACHE; |
+ } |
} |
void CpuFeatures::PrintTarget() { } |
-void CpuFeatures::PrintFeatures() { } |
+ |
+ |
+void CpuFeatures::PrintFeatures() { |
+ printf("COHERENT_CACHE=%d\n", CpuFeatures::IsSupported(COHERENT_CACHE)); |
+} |
// ----------------------------------------------------------------------------- |