dolphin-emulator/Source/Core
Sintendo 075c35602f JitArm64_Integer: cmp - Add shifted 12-bit constant
You can encode a shifted 12-bit immediate in an ADD instruction on
ARM64. If the negated constant fits in this range, we can exploit this
to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52bff01a   mov    w26, #-0x800000           ; =-8388608
0x93407f1b   sxtw   x27, w24
0xcb3ac37b   sub    x27, x27, w26, sxtw

After:
0x93407f1b   sxtw   x27, w24
0x9160037b   add    x27, x27, #0x800, lsl #12 ; =0x800000
2025-02-02 12:01:08 +01:00
..
AudioCommon Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
Common Common: Make SmallVector work with non-standard-layout types. 2025-01-26 13:03:39 -06:00
Core JitArm64_Integer: cmp - Add shifted 12-bit constant 2025-02-02 12:01:08 +01:00
DiscIO Fix build with minizip-ng 4.0.8 2025-01-19 10:30:41 +01:00
DolphinNoGUI GDBStub: Signal Breakpoint Changes To Host 2024-11-15 15:12:11 -08:00
DolphinQt Merge pull request #13280 from jordan-woyak/input-expressions-highlighting 2025-02-02 02:01:34 -05:00
DolphinTool VerifyTool: Add missing USE_RETRO_ACHIEVEMENTS ifdefs 2024-12-15 18:15:57 +01:00
InputCommon Merge pull request #13280 from jordan-woyak/input-expressions-highlighting 2025-02-02 02:01:34 -05:00
MacUpdater ScmRevGen: Don't generate Info.plist files directly 2024-12-05 14:56:08 -05:00
UICommon Fix build with minizip-ng 4.0.8 2025-01-19 10:30:41 +01:00
UpdaterCommon Simplify std::copy with std::copy_n 2024-10-07 15:34:56 -07:00
VideoBackends Merge pull request #13275 from Pokechu22/d3d12-custom-root-param-index 2025-01-20 14:53:40 -08:00
VideoCommon Merge pull request #13305 from OatmealDome/vertexloader-config 2025-01-29 17:14:05 -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
DolphinLib.props Common: Create "Contains.h" Algorithm Header 2025-01-01 09:52:01 -08:00
DolphinLib.vcxproj Externals: Convert minizip-ng To Submodule 2024-05-03 12:43:33 -07:00
DolphinLib.vcxproj.user
DolphinLib.x64.props
VersionInfo.plist.in ScmRevGen: Don't generate Info.plist files directly 2024-12-05 14:56:08 -05:00