[x264-devel] [PATCH 05/24] aarch64: Simplify the decimate_score functions
Martin Storsjö
martin at martin.st
Thu Aug 13 22:59:26 CEST 2015
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.
---
common/aarch64/quant-a.S | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/common/aarch64/quant-a.S b/common/aarch64/quant-a.S
index 2e1558b..443a91d 100644
--- a/common/aarch64/quant-a.S
+++ b/common/aarch64/quant-a.S
@@ -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
--
1.7.10.4
More information about the x264-devel
mailing list