Explorar o código

PPC: Fix PPC32 build.

Mike Pall %!s(int64=13) %!d(string=hai) anos
pai
achega
3dc7baf6af
Modificáronse 1 ficheiros con 8 adicións e 4 borrados
  1. 8 4
      src/vm_ppc.dasc

+ 8 - 4
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
     }