|
|
|
@ -60,20 +60,41 @@ const Xbyak::Reg ABI_PARAM4 = Xbyak::util::r9; |
|
|
|
|
|
|
|
const BitSet32 ABI_ALL_CALLER_SAVED = BuildRegSet({ |
|
|
|
// GPRs |
|
|
|
Xbyak::util::rcx, Xbyak::util::rdx, Xbyak::util::r8, Xbyak::util::r9, Xbyak::util::r10, |
|
|
|
Xbyak::util::rcx, |
|
|
|
Xbyak::util::rdx, |
|
|
|
Xbyak::util::r8, |
|
|
|
Xbyak::util::r9, |
|
|
|
Xbyak::util::r10, |
|
|
|
Xbyak::util::r11, |
|
|
|
// XMMs |
|
|
|
Xbyak::util::xmm0, Xbyak::util::xmm1, Xbyak::util::xmm2, Xbyak::util::xmm3, Xbyak::util::xmm4, |
|
|
|
Xbyak::util::xmm0, |
|
|
|
Xbyak::util::xmm1, |
|
|
|
Xbyak::util::xmm2, |
|
|
|
Xbyak::util::xmm3, |
|
|
|
Xbyak::util::xmm4, |
|
|
|
Xbyak::util::xmm5, |
|
|
|
}); |
|
|
|
|
|
|
|
const BitSet32 ABI_ALL_CALLEE_SAVED = BuildRegSet({ |
|
|
|
// GPRs |
|
|
|
Xbyak::util::rbx, Xbyak::util::rsi, Xbyak::util::rdi, Xbyak::util::rbp, Xbyak::util::r12, |
|
|
|
Xbyak::util::r13, Xbyak::util::r14, Xbyak::util::r15, |
|
|
|
Xbyak::util::rbx, |
|
|
|
Xbyak::util::rsi, |
|
|
|
Xbyak::util::rdi, |
|
|
|
Xbyak::util::rbp, |
|
|
|
Xbyak::util::r12, |
|
|
|
Xbyak::util::r13, |
|
|
|
Xbyak::util::r14, |
|
|
|
Xbyak::util::r15, |
|
|
|
// XMMs |
|
|
|
Xbyak::util::xmm6, Xbyak::util::xmm7, Xbyak::util::xmm8, Xbyak::util::xmm9, Xbyak::util::xmm10, |
|
|
|
Xbyak::util::xmm11, Xbyak::util::xmm12, Xbyak::util::xmm13, Xbyak::util::xmm14, |
|
|
|
Xbyak::util::xmm6, |
|
|
|
Xbyak::util::xmm7, |
|
|
|
Xbyak::util::xmm8, |
|
|
|
Xbyak::util::xmm9, |
|
|
|
Xbyak::util::xmm10, |
|
|
|
Xbyak::util::xmm11, |
|
|
|
Xbyak::util::xmm12, |
|
|
|
Xbyak::util::xmm13, |
|
|
|
Xbyak::util::xmm14, |
|
|
|
Xbyak::util::xmm15, |
|
|
|
}); |
|
|
|
|
|
|
|
@ -90,18 +111,40 @@ const Xbyak::Reg ABI_PARAM4 = Xbyak::util::rcx; |
|
|
|
|
|
|
|
const BitSet32 ABI_ALL_CALLER_SAVED = BuildRegSet({ |
|
|
|
// GPRs |
|
|
|
Xbyak::util::rcx, Xbyak::util::rdx, Xbyak::util::rdi, Xbyak::util::rsi, Xbyak::util::r8, |
|
|
|
Xbyak::util::r9, Xbyak::util::r10, Xbyak::util::r11, |
|
|
|
Xbyak::util::rcx, |
|
|
|
Xbyak::util::rdx, |
|
|
|
Xbyak::util::rdi, |
|
|
|
Xbyak::util::rsi, |
|
|
|
Xbyak::util::r8, |
|
|
|
Xbyak::util::r9, |
|
|
|
Xbyak::util::r10, |
|
|
|
Xbyak::util::r11, |
|
|
|
// XMMs |
|
|
|
Xbyak::util::xmm0, Xbyak::util::xmm1, Xbyak::util::xmm2, Xbyak::util::xmm3, Xbyak::util::xmm4, |
|
|
|
Xbyak::util::xmm5, Xbyak::util::xmm6, Xbyak::util::xmm7, Xbyak::util::xmm8, Xbyak::util::xmm9, |
|
|
|
Xbyak::util::xmm10, Xbyak::util::xmm11, Xbyak::util::xmm12, Xbyak::util::xmm13, |
|
|
|
Xbyak::util::xmm14, Xbyak::util::xmm15, |
|
|
|
Xbyak::util::xmm0, |
|
|
|
Xbyak::util::xmm1, |
|
|
|
Xbyak::util::xmm2, |
|
|
|
Xbyak::util::xmm3, |
|
|
|
Xbyak::util::xmm4, |
|
|
|
Xbyak::util::xmm5, |
|
|
|
Xbyak::util::xmm6, |
|
|
|
Xbyak::util::xmm7, |
|
|
|
Xbyak::util::xmm8, |
|
|
|
Xbyak::util::xmm9, |
|
|
|
Xbyak::util::xmm10, |
|
|
|
Xbyak::util::xmm11, |
|
|
|
Xbyak::util::xmm12, |
|
|
|
Xbyak::util::xmm13, |
|
|
|
Xbyak::util::xmm14, |
|
|
|
Xbyak::util::xmm15, |
|
|
|
}); |
|
|
|
|
|
|
|
const BitSet32 ABI_ALL_CALLEE_SAVED = BuildRegSet({ |
|
|
|
// GPRs |
|
|
|
Xbyak::util::rbx, Xbyak::util::rbp, Xbyak::util::r12, Xbyak::util::r13, Xbyak::util::r14, |
|
|
|
Xbyak::util::rbx, |
|
|
|
Xbyak::util::rbp, |
|
|
|
Xbyak::util::r12, |
|
|
|
Xbyak::util::r13, |
|
|
|
Xbyak::util::r14, |
|
|
|
Xbyak::util::r15, |
|
|
|
}); |
|
|
|
|
|
|
|
|