diff options
| author | Cliff Click <cliffc@acm.org> | 2025-04-07 14:50:24 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-04-07 14:50:24 -0700 |
| commit | 840bfd14b3658f49429cbf84fbc39980477d5f6e (patch) | |
| tree | 3b817e9a0d4f8575c68a28d3242e1ebe1f6bb6d7 /chapter21/src/main | |
| parent | 635ef128b8e3c5a993e8551454f986098dd5092e (diff) | |
| download | Simple-840bfd14b3658f49429cbf84fbc39980477d5f6e.tar.gz Simple-840bfd14b3658f49429cbf84fbc39980477d5f6e.zip | |
x86 shift imm are 2-addr
Diffstat (limited to 'chapter21/src/main')
3 files changed, 3 insertions, 0 deletions
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 |
