diff options
| author | Cliff Click <cliffc@acm.org> | 2025-04-08 14:28:51 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-04-08 14:28:51 -0700 |
| commit | 938c09baca29b0647dcd56e9581540d7a8142fb4 (patch) | |
| tree | 0c213a1ead31de632b88f29308a9a00f8c8f76ee /chapter21/src/main | |
| parent | 06872d180720c376d3fdcc0bd0a2a973bf9341c4 (diff) | |
| download | Simple-938c09baca29b0647dcd56e9581540d7a8142fb4.tar.gz Simple-938c09baca29b0647dcd56e9581540d7a8142fb4.zip | |
Fix risc5 bugs from emulator
Diffstat (limited to 'chapter21/src/main')
| -rw-r--r-- | chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/MemOpRISC.java | 2 | ||||
| -rw-r--r-- | chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/riscv.java | 2 |
2 files changed, 2 insertions, 2 deletions
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) { |
