mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
[a64] Fix StackLayout
Wrong register index and vector-register size
This commit is contained in:
parent
10cba8e166
commit
defb68eae2
|
|
@ -418,7 +418,7 @@ void A64ThunkEmitter::EmitSaveVolatileRegs() {
|
||||||
STR(X15, XSP, offsetof(StackLayout::Thunk, r[15]));
|
STR(X15, XSP, offsetof(StackLayout::Thunk, r[15]));
|
||||||
STR(X16, XSP, offsetof(StackLayout::Thunk, r[16]));
|
STR(X16, XSP, offsetof(StackLayout::Thunk, r[16]));
|
||||||
STR(X17, XSP, offsetof(StackLayout::Thunk, r[17]));
|
STR(X17, XSP, offsetof(StackLayout::Thunk, r[17]));
|
||||||
STR(X17, XSP, offsetof(StackLayout::Thunk, r[18]));
|
STR(X18, XSP, offsetof(StackLayout::Thunk, r[18]));
|
||||||
|
|
||||||
STR(Q0, XSP, offsetof(StackLayout::Thunk, xmm[0]));
|
STR(Q0, XSP, offsetof(StackLayout::Thunk, xmm[0]));
|
||||||
STR(Q1, XSP, offsetof(StackLayout::Thunk, xmm[1]));
|
STR(Q1, XSP, offsetof(StackLayout::Thunk, xmm[1]));
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ class StackLayout {
|
||||||
XEPACKEDSTRUCT(Thunk, {
|
XEPACKEDSTRUCT(Thunk, {
|
||||||
uint64_t arg_temp[3];
|
uint64_t arg_temp[3];
|
||||||
uint64_t r[19];
|
uint64_t r[19];
|
||||||
vec128_t xmm[31];
|
vec128_t xmm[32];
|
||||||
});
|
});
|
||||||
static_assert(sizeof(Thunk) % 16 == 0,
|
static_assert(sizeof(Thunk) % 16 == 0,
|
||||||
"sizeof(Thunk) must be a multiple of 16!");
|
"sizeof(Thunk) must be a multiple of 16!");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue