diff --git a/code/qcommon/vm_x86_64.c b/code/qcommon/vm_x86_64.c index 512a303c..e92c3778 100644 --- a/code/qcommon/vm_x86_64.c +++ b/code/qcommon/vm_x86_64.c @@ -554,6 +554,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) { emit("push %%r8"); emit("push %%r9"); emit("push %%r10"); + emit("push %%r10"); // align! emit("negl %%eax"); // convert to actual number emit("decl %%eax"); // first argument already in rdi @@ -561,6 +562,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) { emit("movq $%lu, %%rax", (unsigned long)callAsmCall); emit("callq *%%rax"); emit("pop %%r10"); + emit("pop %%r10"); emit("pop %%r9"); emit("pop %%r8"); emit("pop %%rdi");