This commit is contained in:
Simone
2023-12-20 17:02:53 +01:00
parent 1058657f07
commit 7a680da620
3 changed files with 40 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ include_directories(
src/frontend/imgui
src/backend
src/backend/core
src/backend/core/JIT
src/backend/core/mmio
src/backend/core/registers
src/backend/core/rsp

View File

@@ -0,0 +1,15 @@
#include <IR.hpp>
namespace n64 {
void IR::push(const Entry& e) {
code.push_back(e);
}
auto IR::begin() {
return code.begin();
}
auto IR::end() {
return code.end();
}
}

View File

@@ -0,0 +1,24 @@
#pragma once
#include <common.hpp>
#include <vector>
namespace n64 {
struct Entry {
u16 type;
struct Operand {
enum {
REG_S64, REG_S32, REG_U64, REG_U32, REG_U5, IMM_S16,
IMM_S32, IMM_S64, IMM_U16, IMM_U32, IMM_U64, IMM_U5,
} type;
u8 index;
} dst, op1, op2;
};
struct IR {
void push(const Entry&);
auto begin();
auto end();
private:
std::vector<Entry> code{};
};
}