switch ex vs math

Created Diff never expires
5 removals
Words removed6
Total words112
Words removed (%)5.36
35 lines
10 additions
Words added21
Total words127
Words added (%)16.54
39 lines
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data


G_M000_IG01: ;; offset=0000H
G_M000_IG01: ;; offset=0000H
stp fp, lr, [sp, #-0x10]!
stp fp, lr, [sp, #-0x10]!
mov fp, sp
mov fp, sp
G_M000_IG02: ;; offset=0008H
G_M000_IG02: ;; offset=0008H
cmp w1, #8
cmp w1, #8
blt G_M000_IG04
blt G_M000_IG04
ldr q16, [x0]
ldr q16, [x0]
uxth w0, w2
uxth w0, w2
dup v17.8h, w0
dup v17.8h, w0
cmeq v16.8h, v16.8h, v17.8h
cmeq v16.8h, v16.8h, v17.8h
shrn v16.8b, v16.8h, #4
shrn v16.8b, v16.8h, #4
umov x0, v16.d[0]
umov x0, v16.d[0]
mov v16.d[0], x0
mov v16.d[0], x0
cnt v16.8b, v16.8b
cnt v16.8b, v16.8b
addv b16, v16.8b
addv b16, v16.8b
umov w0, v16.b[0]
umov w0, v16.b[0]
asr w0, w0, #3
mov w0, w0
asr x1, x0, #63
and x1, x1, #7
add x0, x1, x0
asr x0, x0, #3
G_M000_IG03: ;; offset=003CH
G_M000_IG03: ;; offset=004CH
ldp fp, lr, [sp], #0x10
ldp fp, lr, [sp], #0x10
ret lr
ret lr
G_M000_IG04: ;; offset=0044H
G_M000_IG04: ;; offset=0054H
mov w0, #6
mov w0, #6
movz x1, #0x4A50
movz x1, #0x4A50
movk x1, #0x8D1 LSL #16
movk x1, #0x894 LSL #16
movk x1, #1 LSL #32
movk x1, #1 LSL #32
ldr x1, [x1]
ldr x1, [x1]
blr x1
blr x1
brk_unix #0
brk_unix #0
; Total bytes of code 96
; Total bytes of code 112