Commit ef603481 authored by Martin Storsjö's avatar Martin Storsjö Committed by Henrik Gramner

aarch64: Simplify the decimate_score functions

After doing a left shift by the number of bits returned by clz,
only bits set to zero can be shifted out, so if the register
was nonzero to start with (which is checked), it can't become
zero here.
parent d2b04a26
......@@ -328,17 +328,13 @@ function x264_decimate_score\size\()_neon, export=1
lsr x6, x3, #2
lsl x1, x1, x3
ldrb w7, [x5, x6]
cbz x1, 2f
lsl x1, x1, #4
add w0, w0, w7
cbnz x1, 1b
ret
2:
add w0, w0, w7
0:
ret
9:
mov w0, #9
0:
ret
endfunc
.endm
......@@ -399,17 +395,13 @@ function x264_decimate_score64_neon, export=1
clz x3, x1
lsl x1, x1, x3
ldrb w7, [x5, x3]
cbz x1, 2f
lsl x1, x1, #1
add w0, w0, w7
cbnz x1, 1b
ret
2:
add w0, w0, w7
0:
ret
9:
mov w0, #9
0:
ret
endfunc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment