pound-emu_pound/core
Ronald Caesar f15417802d aarch64: Correct vCPU register state and add FP/SIMD support
The initial vCPU state for AArch64 had a couple of architectural
inaccuracies that this commit corrects.

First, AArch64 has 32 general-purpose registers (X0-X31), not 31.
The stack pointer (SP) is not a separate special-purpose register
but is an alias for register X31. The dedicated `sp` field in
vcpu_state_t was therefore redundant and architecturally incorrect.
This change increases GP_REGISTERS to 32 and removes the separate
`sp` field. The SP should be managed via `r[31]`.

Second, to support floating-point and SIMD instructions, the vCPU
state must include the vector registers. This adds the definitions
and storage for the 32 128-bit FP/SIMD registers (V0-V31).

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-12 06:05:31 -04:00
..
aarch64 aarch64: Correct vCPU register state and add FP/SIMD support 2025-08-12 06:05:31 -04:00
audio Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Base Configurable Window Size 2025-06-20 22:55:58 +02:00
gpu Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Images Adding Pound Icon to Executable 2025-06-18 19:09:53 +02:00
JIT aarch64: fix include file in jit 2025-08-10 02:42:27 -04:00
memory Feat: added support for std::allocator (#65) 2025-08-10 06:54:02 +00:00
miscgui rename settings to avoid build faliures 2025-06-21 15:06:37 -04:00
main.cpp gui: initialize structs to default value 2025-08-10 02:10:06 -04:00
Pound.rc Adding Pound Icon to Executable 2025-06-18 19:09:53 +02:00