From 938c09baca29b0647dcd56e9581540d7a8142fb4 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Tue, 8 Apr 2025 14:28:51 -0700 Subject: Fix risc5 bugs from emulator --- .../src/main/java/com/seaofnodes/simple/node/cpus/riscv/MemOpRISC.java | 2 +- .../src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'chapter21/src/main') diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/MemOpRISC.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/MemOpRISC.java index a92b4e21..b8eb7644 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/MemOpRISC.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/MemOpRISC.java @@ -52,7 +52,7 @@ public abstract class MemOpRISC extends MemOpNode implements MachNode { // float if(_declaredType == TypeFloat.F32) func3 = 2; // fLW fSW if(_declaredType == TypeFloat.F64) func3 = 3; // fLD fSD - if( _declaredType instanceof TypeMemPtr ) func3=6; // 4 byte pointers, assumed unsigned? + if( _declaredType instanceof TypeMemPtr ) func3=3; // 8 byte pointers if( func3 == -1 ) throw Utils.TODO(); return func3; } diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java index e82a6f24..fe767a36 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java @@ -497,7 +497,7 @@ public class riscv extends Machine { return new BranchRISC(iff, bop, bool.in(1), bool.in(2)); } // Vs zero - return new BranchRISC(iff, "==", iff.in(1), null); + return new BranchRISC(iff, "!=", iff.in(1), null); } private Node or(OrNode or) { -- cgit v1.2.3