diff options
| author | Sintendo <3380580+Sintendo@users.noreply.github.com> | 2025-02-01 18:18:32 +0100 |
|---|---|---|
| committer | Sintendo <3380580+Sintendo@users.noreply.github.com> | 2025-02-02 12:57:49 +0100 |
| commit | c5870ed0c71d3821b792543631937110e2d27202 (patch) | |
| tree | 9aea2dc3423e94723a5046b2ba46024269d2f54e /Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp | |
| parent | 075c35602fd3d03b0f44363f01c44ff9cd81faa6 (diff) | |
JitArm64_Integer: cmp - Skip sign extension if possible
While we cannot always avoid materializing immediates, we can still
inspect the most significant bit and potentially skip sign extension.
This can sometimes save an instruction.
Before:
0x5280003a mov w26, #0x1 ; =1
0x93407f5b sxtw x27, w26
0xcb38c37b sub x27, x27, w24, sxtw
After:
0x5280003a mov w26, #0x1 ; =1
0xcb38c35b sub x27, x26, w24, sxtw
Before:
0x52a20018 mov w24, #0x10000000 ; =268435456
0x93407f79 sxtw x25, w27
0xcb38c339 sub x25, x25, w24, sxtw
After:
0x52a20018 mov w24, #0x10000000 ; =268435456
0x93407f79 sxtw x25, w27
0xcb180339 sub x25, x25, x24
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp')
0 files changed, 0 insertions, 0 deletions
