Index: runtime/vm/assembler_x64.h |
=================================================================== |
--- runtime/vm/assembler_x64.h (revision 32559) |
+++ runtime/vm/assembler_x64.h (working copy) |
@@ -317,6 +317,24 @@ |
}; |
+class CPUFeatures : public AllStatic { |
+ public: |
+ static void InitOnce(); |
+ // x64 always has at least SSE2. |
+ static bool sse2_supported() { return true; } |
+ static bool sse4_1_supported(); |
+ static bool double_truncate_round_supported() { return sse4_1_supported(); } |
+ |
+ private: |
+ static const uint64_t kSSE4_1BitMask = static_cast<uint64_t>(1) << 51; |
+ |
+ static bool sse4_1_supported_; |
+#ifdef DEBUG |
+ static bool initialized_; |
+#endif |
+}; |
+ |
+ |
class Assembler : public ValueObject { |
public: |
explicit Assembler(bool use_far_branches = false); |