Index: syzygy/agent/common/agent.cc |
diff --git a/syzygy/agent/common/agent.cc b/syzygy/agent/common/agent.cc |
index 5721a8e2c2a5654f998f7c071d0535143f2be10b..f835af10b26aecc8bd6b425cad9837c8a6ac5737 100644 |
--- a/syzygy/agent/common/agent.cc |
+++ b/syzygy/agent/common/agent.cc |
@@ -29,8 +29,15 @@ void InitializeCrt() { |
// Disable SSE2 instructions. This is to ensure that our instrumentation |
// doesn't inadvertently tinker with SSE2 registers via the CRT, causing |
// instrumented SSE2 enabled instructions to screw up. |
+#ifndef _WIN64 |
+ // SSE registers are a part of the x64 calling convention, so they |
+ // cannot be disabled. |
+ // The 64-bit version of the runtime is intended to run with LLVM/Clang |
+ // provided instrumentation, and doesn't suffer to same problem as the |
+ // Syzygy instrumentation. |
const int kDisableSSE2 = 0; |
_set_SSE2_enable(kDisableSSE2); |
+#endif |
} |
} // namespace common |