summaryrefslogtreecommitdiffhomepage
path: root/dev/LibCompiler/Backend
diff options
context:
space:
mode:
authorAmlal <amlal@nekernel.org>2025-04-25 19:21:22 +0200
committerAmlal <amlal@nekernel.org>2025-04-25 19:21:51 +0200
commitf6b400b80efc64b918c03352e93ec9de4e2369a1 (patch)
tree251a82ee3653568ef33ffdc48c83b7f54e370bc1 /dev/LibCompiler/Backend
parent20042235d1f53ae428aa154e64afdbae5d8d91ad (diff)
dev, general: codebase needed refactors and tweaks, for NeKernel's 0.0.2 release.
details: - things needed to be cleared off, short sighted decisions fixed. - the inconsistency of certain files have been fixed too. Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev/LibCompiler/Backend')
-rw-r--r--dev/LibCompiler/Backend/32x0.h2
-rw-r--r--dev/LibCompiler/Backend/64x0.h31
-rw-r--r--dev/LibCompiler/Backend/Aarch64.h (renamed from dev/LibCompiler/Backend/arm64.h)2
-rw-r--r--dev/LibCompiler/Backend/Amd64.h (renamed from dev/LibCompiler/Backend/amd64.h)2
-rw-r--r--dev/LibCompiler/Backend/PowerPC.h (renamed from dev/LibCompiler/Backend/power64.h)0
5 files changed, 20 insertions, 17 deletions
diff --git a/dev/LibCompiler/Backend/32x0.h b/dev/LibCompiler/Backend/32x0.h
index bb0a5aa..49bb978 100644
--- a/dev/LibCompiler/Backend/32x0.h
+++ b/dev/LibCompiler/Backend/32x0.h
@@ -9,7 +9,7 @@
#include <LibCompiler/Defines.h>
// @brief 32x0 support.
-// @file Backend/32x0.hpp
+// @file Backend/32x0.h
#define kAsmOpcodeDecl(__NAME, __OPCODE, __FUNCT3, __FUNCT7) \
{.fName = __NAME, .fOpcode = __OPCODE, .fFunct3 = __FUNCT3, .fFunct7 = __FUNCT7},
diff --git a/dev/LibCompiler/Backend/64x0.h b/dev/LibCompiler/Backend/64x0.h
index 745dff0..b2c4b56 100644
--- a/dev/LibCompiler/Backend/64x0.h
+++ b/dev/LibCompiler/Backend/64x0.h
@@ -10,7 +10,7 @@
#include <vector>
// @brief 64x0 support.
-// @file Backend/64x0.hpp
+// @file Backend/64x0.h
#define kAsmOpcodeDecl(__NAME, __OPCODE, __FUNCT3, __FUNCT7) \
{.fName = __NAME, .fOpcode = __OPCODE, .fFunct3 = __FUNCT3, .fFunct7 = __FUNCT7},
@@ -38,23 +38,26 @@ inline std::vector<CpuOpcode64x0> kOpcodes64x0 = {
kAsmJump) // jump to linked return register
kAsmOpcodeDecl("jrl", 0b1110011, 0b0001111,
kAsmJump) // jump from return register.
- kAsmOpcodeDecl("mv", 0b0100011, 0b101, kAsmRegToReg) kAsmOpcodeDecl(
- "bg", 0b1100111, 0b111, kAsmRegToReg) kAsmOpcodeDecl("bl", 0b1100111, 0b011, kAsmRegToReg)
- kAsmOpcodeDecl("beq", 0b1100111, 0b000, kAsmRegToReg)
- kAsmOpcodeDecl("bne", 0b1100111, 0b001, kAsmRegToReg)
- kAsmOpcodeDecl("bge", 0b1100111, 0b101, kAsmRegToReg)
- kAsmOpcodeDecl("ble", 0b1100111, 0b100, kAsmRegToReg)
- kAsmOpcodeDecl("stw", 0b0001111, 0b100, kAsmImmediate)
- kAsmOpcodeDecl("ldw", 0b0001111, 0b100, kAsmImmediate)
- kAsmOpcodeDecl("lda", 0b0001111, 0b101, kAsmImmediate)
- kAsmOpcodeDecl("sta", 0b0001111, 0b001, kAsmImmediate)
+ kAsmOpcodeDecl("mv", 0b0100011, 0b101, kAsmRegToReg)
+ kAsmOpcodeDecl(
+ "bg", 0b1100111, 0b111, kAsmRegToReg)
+ kAsmOpcodeDecl("bl", 0b1100111, 0b011, kAsmRegToReg)
+ kAsmOpcodeDecl("beq", 0b1100111, 0b000, kAsmRegToReg)
+ kAsmOpcodeDecl("bne", 0b1100111, 0b001, kAsmRegToReg)
+ kAsmOpcodeDecl("bge", 0b1100111, 0b101, kAsmRegToReg)
+ kAsmOpcodeDecl("ble", 0b1100111, 0b100, kAsmRegToReg)
+ kAsmOpcodeDecl("stw", 0b0001111, 0b100, kAsmImmediate)
+ kAsmOpcodeDecl("ldw", 0b0001111, 0b100, kAsmImmediate)
+ kAsmOpcodeDecl("lda", 0b0001111, 0b101, kAsmImmediate)
+ kAsmOpcodeDecl("sta", 0b0001111, 0b001, kAsmImmediate)
// add/sub without carry flag
kAsmOpcodeDecl("add", 0b0101011, 0b100, kAsmImmediate)
- kAsmOpcodeDecl("sub", 0b0101011, 0b101, kAsmImmediate)
+ kAsmOpcodeDecl("sub", 0b0101011, 0b101, kAsmImmediate)
// add/sub with carry flag
kAsmOpcodeDecl("addc", 0b0101011, 0b110, kAsmImmediate)
- kAsmOpcodeDecl("subc", 0b0101011, 0b111, kAsmImmediate)
- kAsmOpcodeDecl("sc", 0b1110011, 0b00, kAsmSyscall)};
+ kAsmOpcodeDecl("subc", 0b0101011, 0b111, kAsmImmediate)
+ kAsmOpcodeDecl("sc", 0b1110011, 0b00, kAsmSyscall)
+};
// \brief 64x0 register prefix
// example: r32, r0
diff --git a/dev/LibCompiler/Backend/arm64.h b/dev/LibCompiler/Backend/Aarch64.h
index fb91a1c..dcafa0a 100644
--- a/dev/LibCompiler/Backend/arm64.h
+++ b/dev/LibCompiler/Backend/Aarch64.h
@@ -10,7 +10,7 @@ Copyright (C) 2024-2025 Amlal EL Mahrous, all rights reserved
#include <stdint.h>
/// @brief ARM64 encoding support.
-/// @file Backend/arm64.hpp
+/// @file Backend/Aarch64.h
struct CpuOpcodeArm64;
diff --git a/dev/LibCompiler/Backend/amd64.h b/dev/LibCompiler/Backend/Amd64.h
index f42b131..a3fb8a2 100644
--- a/dev/LibCompiler/Backend/amd64.h
+++ b/dev/LibCompiler/Backend/Amd64.h
@@ -9,7 +9,7 @@
#include <LibCompiler/Defines.h>
// @brief AMD64 support.
-// @file Backend/amd64.hpp
+// @file Backend/Amd64.h
#define kAsmOpcodeDecl(__NAME, __OPCODE) {.fName = __NAME, .fOpcode = __OPCODE},
diff --git a/dev/LibCompiler/Backend/power64.h b/dev/LibCompiler/Backend/PowerPC.h
index 03aea49..03aea49 100644
--- a/dev/LibCompiler/Backend/power64.h
+++ b/dev/LibCompiler/Backend/PowerPC.h