diff --git a/src/vm_ppc.dasc b/src/vm_ppc.dasc index b84a1fc2..461676cd 100644 --- a/src/vm_ppc.dasc +++ b/src/vm_ppc.dasc @@ -34,15 +34,15 @@ |.macro lp, a, b; ld a, b; .endmacro |.macro stp, a, b; std a, b; .endmacro |.define decode_OPP, decode_OP8 +|.if FFI +|// Missing: Calling conventions, 64 bit regs, TOC. +|.error lib_ffi not yet implemented for PPC64 +|.endif |.else |.macro lpx, a, b, c; lwzx a, b, c; .endmacro |.macro lp, a, b; lwz a, b; .endmacro |.macro stp, a, b; stw a, b; .endmacro |.define decode_OPP, decode_OP4 -|.if FFI -|// Missing: Calling conventions, 64 bit regs, TOC. -|.error lib_ffi not yet implemented for PPC64 -|.endif |.endif | |// Convenience macros for TOC handling. @@ -4898,7 +4898,11 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | cmplw TMP1, TMP2 | stp RC, L->top | li_vmstate C + |.if TOC | mtctr TMP3 + |.else + | mtctr RD + |.endif if (op == BC_FUNCCW) { | lp CARG2, CFUNC:RB->f }