summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/OpcodeDecoding.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2015-03-08 12:30:41 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2015-03-08 16:12:49 -0500
commit7f50cc0873a0caf684360ba82c02f77de330eec6 (patch)
tree7a5b7f90f4e57579d62695079c245afd5743f2cb /Source/Core/VideoCommon/OpcodeDecoding.cpp
parentf6511c3ba56cf6136e878265f8eef7bdc9f910b9 (diff)
[AArch64] Optimize slowmem paired stores.
This came up from the discussion we were having prior about dumping half of a kilobyte of VFP registers to the stack is insanity. This was due to me basically copying exactly what I did on ARMv7's paired loadstores, where the impact is less since we only use the bottom 64bits of the VFP registers. So I decided to think about how to improve upon this since I got called out on my terrible code. The solution I have come up with is instead of jumping to the common ASM routine and having that check if it needs to take the fastmem or slowmem routes, just inline the check in to the JIT block and jump to either a fastmem or slowmem handler. Fairly simple, and this allows us to only flush the registers that are required when doing so. Should give a reasonable increase in performance for games that use the slowmem path quite a lot.
Diffstat (limited to 'Source/Core/VideoCommon/OpcodeDecoding.cpp')
0 files changed, 0 insertions, 0 deletions