[PATCH v3 4/5] sparc64: SPARC optimised __fls function

From: Vijay Kumar
Date: Fri Oct 06 2017 - 12:55:18 EST


Defined SPARC optimised __fls using lzcnt opcode.

Signed-off-by: Vijay Kumar <vijay.ac.kumar@xxxxxxxxxx>
---
arch/sparc/lib/NG4fls.S | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/sparc/lib/NG4fls.S b/arch/sparc/lib/NG4fls.S
index 5ed7da9..34ad371 100644
--- a/arch/sparc/lib/NG4fls.S
+++ b/arch/sparc/lib/NG4fls.S
@@ -18,3 +18,13 @@ ENTRY(NG4fls)
retl
sub %g3, %g2, %o0
ENDPROC(NG4fls)
+
+ENTRY(__NG4fls)
+ brz,pn %o0, 1f
+ LXCNT_O0_G2 !lzcnt %o0, %g2
+ mov 63, %g3
+ sub %g3, %g2, %o0
+1:
+ retl
+ nop
+ENDPROC(__NG4fls)
--
1.7.1