diff --git a/Makefile b/Makefile
index 871a6911..e1a7327f 100644
--- a/Makefile
+++ b/Makefile
@@ -386,6 +386,9 @@ ifeq ($(PLATFORM),darwin)
     # used no matter what and they corrupt the frame pointer in VM calls
     BASE_CFLAGS += -mstackrealign
   endif
+  ifeq ($(ARCH),x86_64)
+    OPTIMIZEVM += -mfpmath=sse
+  endif
 
   BASE_CFLAGS += -fno-strict-aliasing -DMACOS_X -fno-common -pipe
 
diff --git a/code/qcommon/vm_x86.c b/code/qcommon/vm_x86.c
index da472082..ed5b4563 100644
--- a/code/qcommon/vm_x86.c
+++ b/code/qcommon/vm_x86.c
@@ -1776,25 +1776,25 @@ int VM_CallCompiled(vm_t *vm, int *args)
   #endif		
 #elif idx64
 	__asm__ volatile(
-		"movq %5, %%rax\r\n"
-		"movq %3, %%r8\r\n"
-		"movq %4, %%r9\r\n"
-		"push %%r15\r\n"
-		"push %%r14\r\n"
-		"push %%r13\r\n"
-		"push %%r12\r\n"
-		"callq *%%rax\r\n"
-		"pop %%r12\r\n"
-		"pop %%r13\r\n"
-		"pop %%r14\r\n"
-		"pop %%r15\r\n"
+		"movq %5, %%rax\n"
+		"movq %3, %%r8\n"
+		"movq %4, %%r9\n"
+		"push %%r15\n"
+		"push %%r14\n"
+		"push %%r13\n"
+		"push %%r12\n"
+		"callq *%%rax\n"
+		"pop %%r12\n"
+		"pop %%r13\n"
+		"pop %%r14\n"
+		"pop %%r15\n"
 		: "+S" (programStack), "+D" (opStack), "+b" (opStackOfs)
 		: "g" (vm->instructionPointers), "g" (vm->dataBase), "g" (entryPoint)
 		: "cc", "memory", "%rax", "%rcx", "%rdx", "%r8", "%r9", "%r10", "%r11"
 	);
 #else
 	__asm__ volatile(
-		"calll *%3\r\n"
+		"calll *%3\n"
 		: "+S" (programStack), "+D" (opStack), "+b" (opStackOfs)
 		: "g" (entryPoint)
 		: "cc", "memory", "%eax", "%ecx", "%edx"