dolphin/Source/Core
Sintendo a307d9d9b8 JitArm64_LoadStore: Optimize zero stores in stX
The value being stored must be loaded into a register. In the case of an
immediate value, this means it must be materialized. The value is
eventually byteswapped before performing the store.

This can be simplified for the value 0 for two reasons:
- ARM64 has a dedicated zero register, so does not need to be
  materialized.
- Byteswapping zero is still zero, so we can skip this step.

We could skip byteswapping for other values by immediately materializing
the byteswapped value in a register, but the benefits are not so clear
there (if the value needs to be materialized anyway, it is better to do
it up front).

Before:
0x5280001b   mov    w27, #0x0                 ; =0
0xb9404fba   ldr    w26, [x29, #0x4c]
0x12881862   mov    w2, #-0x40c4              ; =-16580
0x0b020342   add    w2, w26, w2
0x5ac00b61   rev    w1, w27
0xb8226b81   str    w1, [x28, x2]

After:
0xb9404fbb   ldr    w27, [x29, #0x4c]
0x12881862   mov    w2, #-0x40c4              ; =-16580
0x0b020362   add    w2, w27, w2
0xb8226b9f   str    wzr, [x28, x2]
2024-11-02 23:15:22 +01:00
..
AudioCommon Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
Common Merge pull request #12744 from nlebeck/settingshandler-split-2 2024-10-27 19:23:05 -04:00
Core JitArm64_LoadStore: Optimize zero stores in stX 2024-11-02 23:15:22 +01:00
DiscIO Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial 2024-10-15 17:08:55 +02:00
DolphinNoGUI Host: Rename JitCacheInvalidation 2024-10-23 23:43:24 -07:00
DolphinQt DolphinQt: Ensure skylanders QDateTimeEdit shows a four digit year without forcing dd-mm-yyyy format. 2024-10-31 02:38:45 -05:00
DolphinTool Host: Rename JitCacheInvalidation 2024-10-23 23:43:24 -07:00
InputCommon Merge pull request #13096 from mitaclaw/ranges-modernization-7-rewrite 2024-10-27 19:17:01 -04:00
MacUpdater MacUpdater: Post-process the bundle 2024-08-01 22:06:55 -04:00
UICommon Merge pull request #13096 from mitaclaw/ranges-modernization-7-rewrite 2024-10-27 19:17:01 -04:00
UpdaterCommon Simplify std::copy with std::copy_n 2024-10-07 15:34:56 -07:00
VideoBackends Merge pull request #13104 from TellowKrinkle/MTLLogging 2024-10-19 13:03:52 -04:00
VideoCommon VideoCommon: Implement primitive breaking for primitive lists 2024-10-29 22:38:22 -05:00
WinUpdater Remove redundant semicolons 2024-08-20 14:59:54 +02:00
CMakeLists.txt CMakeLists: Embed macOS Updater app inside DolphinQt 2024-08-01 22:06:55 -04:00
DolphinLib.ARM64.props msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.props Move UICommon/Disassembler to Common/HostDisassembler 2024-10-19 00:14:54 -07:00
DolphinLib.vcxproj Externals: Convert minizip-ng To Submodule 2024-05-03 12:43:33 -07:00
DolphinLib.vcxproj.user msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.x64.props Move x64 DSP JIT into DolphinLib.x64.props 2023-01-06 22:42:21 -08:00