From 840bfd14b3658f49429cbf84fbc39980477d5f6e Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Mon, 7 Apr 2025 14:50:24 -0700 Subject: x86 shift imm are 2-addr --- .../src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/SarIX86.java | 1 + .../src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShlIX86.java | 1 + .../src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShrIX86.java | 1 + 3 files changed, 3 insertions(+) (limited to 'chapter21/src') diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/SarIX86.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/SarIX86.java index 6d6aa89c..07256604 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/SarIX86.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/SarIX86.java @@ -20,6 +20,7 @@ public class SarIX86 extends MachConcreteNode implements MachNode { @Override public RegMask regmap(int i) { return x86_64_v2.RMASK; } @Override public RegMask outregmap() { return x86_64_v2.WMASK; } + @Override public int twoAddress() { return 1; } @Override public void encoding(Encoding enc) { short dst = enc.reg(this); // Also src1 diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShlIX86.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShlIX86.java index c53e0ea9..0b75b456 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShlIX86.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShlIX86.java @@ -19,6 +19,7 @@ public class ShlIX86 extends MachConcreteNode implements MachNode { @Override public RegMask regmap(int i) { return x86_64_v2.RMASK; } @Override public RegMask outregmap() { return x86_64_v2.WMASK; } + @Override public int twoAddress() { return 1; } @Override public String op() { return "shli"; } @Override public String glabel() { return "<<"; } diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShrIX86.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShrIX86.java index c79b8817..893eb23d 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShrIX86.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/ShrIX86.java @@ -16,6 +16,7 @@ public class ShrIX86 extends MachConcreteNode implements MachNode { @Override public RegMask regmap(int i) { return x86_64_v2.RMASK; } @Override public RegMask outregmap() { return x86_64_v2.WMASK; } + @Override public int twoAddress() { return 1; } @Override public void encoding(Encoding enc) { short dst = enc.reg(this); // Also src1 -- cgit v1.2.3