diff options
| author | Sintendo <3380580+Sintendo@users.noreply.github.com> | 2025-02-01 16:50:08 +0100 |
|---|---|---|
| committer | Sintendo <3380580+Sintendo@users.noreply.github.com> | 2025-02-02 12:00:12 +0100 |
| commit | 4a29e0e4f45bd1d6c8bfa2fbed22a0ae82cb29a1 (patch) | |
| tree | 17cd984f04826a300a2964378118d0b4b60dd223 /Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModAsset.cpp | |
| parent | 8291cff46db7d3d3a5ac2ebf2d066b9b66f7aa62 (diff) | |
JitArm64_Integer: cmp - Subtract 12-bit constant
You can encode a 12-bit immediate in a SUB instruction on ARM64.
Constants in this range do not need to be sign extended, so 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:
0x52800416 mov w22, #0x20 ; =32
0x93407f78 sxtw x24, w27
0xcb36c318 sub x24, x24, w22, sxtw
After:
0x93407f78 sxtw x24, w27
0xd1008318 sub x24, x24, #0x20
Diffstat (limited to 'Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModAsset.cpp')
0 files changed, 0 insertions, 0 deletions
