a64_jitstate: Have 128-bit wide spills
This commit is contained in:
parent
b513b2ef05
commit
d497464c9f
2 changed files with 3 additions and 3 deletions
|
@ -42,10 +42,10 @@ struct A64JitState {
|
|||
alignas(16) std::array<u64, 64> vec{}; // Extension registers.
|
||||
|
||||
static constexpr size_t SpillCount = 64;
|
||||
std::array<u64, SpillCount> spill{}; // Spill.
|
||||
alignas(16) std::array<std::array<u64, 2>, SpillCount> spill{}; // Spill.
|
||||
static Xbyak::Address GetSpillLocationFromIndex(size_t i) {
|
||||
using namespace Xbyak::util;
|
||||
return qword[r15 + offsetof(A64JitState, spill) + i * sizeof(u64)];
|
||||
return xword[r15 + offsetof(A64JitState, spill) + i * sizeof(u64) * 2];
|
||||
}
|
||||
|
||||
// For internal use (See: BlockOfCode::RunCode)
|
||||
|
|
|
@ -53,7 +53,7 @@ inline size_t HostLocBitWidth(HostLoc loc) {
|
|||
if (HostLocIsXMM(loc))
|
||||
return 128;
|
||||
if (HostLocIsSpill(loc))
|
||||
return 64;
|
||||
return 128;
|
||||
if (HostLocIsFlag(loc))
|
||||
return 1;
|
||||
UNREACHABLE();
|
||||
|
|
Loading…
Reference in a new issue