summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMerryMage <MerryMage@users.noreply.github.com>2020-06-15 19:59:01 +0200
committerMerryMage <MerryMage@users.noreply.github.com>2020-06-15 19:59:01 +0200
commit4417770ba9a1d48ded255e75c32dcc1005b912c1 (patch)
tree009a371125b04f9c06418176b9a71cf8067b6b52 /src
parentMerge pull request #4070 from ogniK5377/GetTPCMasks-fix (diff)
downloadyuzu-4417770ba9a1d48ded255e75c32dcc1005b912c1.tar
yuzu-4417770ba9a1d48ded255e75c32dcc1005b912c1.tar.gz
yuzu-4417770ba9a1d48ded255e75c32dcc1005b912c1.tar.bz2
yuzu-4417770ba9a1d48ded255e75c32dcc1005b912c1.tar.lz
yuzu-4417770ba9a1d48ded255e75c32dcc1005b912c1.tar.xz
yuzu-4417770ba9a1d48ded255e75c32dcc1005b912c1.tar.zst
yuzu-4417770ba9a1d48ded255e75c32dcc1005b912c1.zip
Diffstat (limited to 'src')
-rw-r--r--src/common/x64/xbyak_abi.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/common/x64/xbyak_abi.h b/src/common/x64/xbyak_abi.h
index 794da8a52..d15e1aaf0 100644
--- a/src/common/x64/xbyak_abi.h
+++ b/src/common/x64/xbyak_abi.h
@@ -178,21 +178,17 @@ inline size_t ABI_PushRegistersAndAdjustStack(Xbyak::CodeGenerator& code, std::b
size_t rsp_alignment, size_t needed_frame_size = 0) {
s32 subtraction, xmm_offset;
ABI_CalculateFrameSize(regs, rsp_alignment, needed_frame_size, &subtraction, &xmm_offset);
+
for (std::size_t i = 0; i < regs.size(); ++i) {
if (regs[i] && ABI_ALL_GPRS[i]) {
code.push(IndexToReg64(static_cast<int>(i)));
}
}
+
if (subtraction != 0) {
code.sub(code.rsp, subtraction);
}
- for (int i = 0; i < regs.count(); i++) {
- if (regs.test(i) & ABI_ALL_GPRS.test(i)) {
- code.push(IndexToReg64(i));
- }
- }
-
for (std::size_t i = 0; i < regs.size(); ++i) {
if (regs[i] && ABI_ALL_XMMS[i]) {
code.movaps(code.xword[code.rsp + xmm_offset], IndexToXmm(static_cast<int>(i)));