dolphin/Source/Core
Bram Speeckaert 2580837c60 JitArm64: Optimize divwux
When the divisor is a constant value, we can emit more efficient code.
For powers of two, we can use bit shifts. For other values, we can
instead use a multiplication by magic constant method.

- Example 1 - Division by 16 (power of two)
Before:
mov    w24, #0x10                ; =16
udiv   w27, w25, w24

After:
lsr    w27, w25, #4

- Example 2 - Division by 10 (fast)
Before:
mov    w25, #0xa                 ; =10
udiv   w27, w26, w25

After:
mov    w27, #0xcccd              ; =52429
movk   w27, #0xcccc, lsl #16
umull  x27, w26, w27
lsr    x27, x27, #35

- Example 3 - Division by 127 (slow)
Before:
mov    w26, #0x7f                ; =127
udiv   w27, w27, w26

After:
mov    w26, #0x408               ; =1032
movk   w26, #0x8102, lsl #16
umaddl x27, w27, w26, x26
lsr    x27, x27, #38
2024-03-23 20:13:15 +01:00
..
AudioCommon Cubeb: check correct log level 2024-03-17 01:33:42 +00:00
Common Merge pull request #12355 from fuzziqersoftware/tapserver-modem-adapter 2024-03-22 02:47:06 +01:00
Core JitArm64: Optimize divwux 2024-03-23 20:13:15 +01:00
DiscIO RiivolutionParser: Remove usages of global system accessor 2023-12-12 12:48:40 -05:00
DolphinNoGUI Merge pull request #12606 from mitaclaw/state-global-system 2024-03-22 04:27:12 +01:00
DolphinQt Merge pull request #12606 from mitaclaw/state-global-system 2024-03-22 04:27:12 +01:00
DolphinTool DolphinTool: Fix parsing of command line bzip2 flag 2024-02-13 12:44:03 -08:00
InputCommon GCAdapter: Adjust libusb transfer timeout to 100ms. 2024-03-20 18:02:06 -05:00
MacUpdater
UICommon BranchWatchDialog: A Total Replacement for CodeDiffDialog 2024-02-27 11:40:58 -08:00
UpdaterCommon
VideoBackends Add HDR to Metal 2024-03-10 03:25:33 -04:00
VideoCommon VideoCommon: Prefer D3D11/12 over OpenGL on Windows. 2024-03-15 19:51:04 -05:00
WinUpdater
CMakeLists.txt
DolphinLib.ARM64.props
DolphinLib.props respond to review feedback on tapserver implementation 2024-03-17 18:37:55 -07:00
DolphinLib.vcxproj Externals: add tinygltf, a library used to load or save GLTF mesh files 2024-02-11 13:26:39 -06:00
DolphinLib.vcxproj.user
DolphinLib.x64.props