From c2aad047be007651f396ea55752709c587bbf8f1 Mon Sep 17 00:00:00 2001 From: Thilo Schulz Date: Wed, 10 Aug 2011 20:48:53 +0000 Subject: - Add x86_64 platform for MacOSX - Fix compilation on MacOSX gcc --- Makefile | 3 +++ src/qcommon/vm_x86.c | 26 +++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index d404d6ff..97e3fff5 100644 --- a/Makefile +++ b/Makefile @@ -378,6 +378,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/src/qcommon/vm_x86.c b/src/qcommon/vm_x86.c index 1dfefe5c..dbef2051 100644 --- a/src/qcommon/vm_x86.c +++ b/src/qcommon/vm_x86.c @@ -1777,25 +1777,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" -- cgit