Skip to content

Commit edb5622

Browse files
authored
Merge pull request #3 from Entenwilli/l2
L2
2 parents eb16677 + 23d94cd commit edb5622

24 files changed

Lines changed: 3102 additions & 855 deletions

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
*.s
44
*.o
55
tests
6+
test.l2
7+
output

Cargo.lock

Lines changed: 152 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ edition = "2021"
55

66
[dependencies]
77
rand = "0.9.1"
8+
tracing = { version = "0.1.41", features=["release_max_level_warn"]}
9+
tracing-subscriber = "0.3.19"

run-tests.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env fish
2+
cargo build --release
3+
nix run github:I-Al-Istannen/crow#client -- run-tests --test-dir tests/ --compiler-run ./run.sh --only-failing

src/backend/aasm.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
use super::regalloc::Register;
2+
3+
pub enum Instruction {
4+
Mov(Box<dyn Register>, Box<dyn Register>),
5+
Add(Box<dyn Register>, Box<dyn Register>),
6+
Sub(Box<dyn Register>, Box<dyn Register>),
7+
Idiv(Box<dyn Register>, Box<dyn Register>),
8+
Imul(Box<dyn Register>, Box<dyn Register>),
9+
Sall(Box<dyn Register>, Box<dyn Register>),
10+
Sarl(Box<dyn Register>, Box<dyn Register>),
11+
Jmp(String),
12+
Cmp(Box<dyn Register>, Box<dyn Register>),
13+
Test(Box<dyn Register>, Box<dyn Register>),
14+
Jb(String),
15+
Jbe(String),
16+
Je(String),
17+
Jne(String),
18+
Jae(String),
19+
Ja(String),
20+
Cdq,
21+
Leave,
22+
Ret,
23+
}

0 commit comments

Comments
 (0)