diff options
| author | Amlal <amlal@nekernel.org> | 2025-04-25 19:21:22 +0200 |
|---|---|---|
| committer | Amlal <amlal@nekernel.org> | 2025-04-25 19:21:51 +0200 |
| commit | f6b400b80efc64b918c03352e93ec9de4e2369a1 (patch) | |
| tree | 251a82ee3653568ef33ffdc48c83b7f54e370bc1 /dev/LibCompiler/Backend | |
| parent | 20042235d1f53ae428aa154e64afdbae5d8d91ad (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.h | 2 | ||||
| -rw-r--r-- | dev/LibCompiler/Backend/64x0.h | 31 | ||||
| -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 |
