> On Oct 6, 2017, at 9:54 AM, Vijay Kumar <vijay.ac.kumar@xxxxxxxxxx> wrote: > > Defined SPARC optimised fls using lzcnt opcode. > > Signed-off-by: Vijay Kumar <vijay.ac.kumar@xxxxxxxxxx> > --- > arch/sparc/lib/Makefile | 1 + > arch/sparc/lib/NG4fls.S | 20 ++++++++++++++++++++ > 2 files changed, 21 insertions(+), 0 deletions(-) > > diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile > index 5380c59..2823b8e 100644 > --- a/arch/sparc/lib/Makefile > +++ b/arch/sparc/lib/Makefile > @@ -18,6 +18,7 @@ lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o > lib-$(CONFIG_SPARC64) += multi3.o > lib-$(CONFIG_SPARC64) += fls.o > lib-$(CONFIG_SPARC64) += fls64.o > +obj-$(CONFIG_SPARC64) += NG4fls.o > > lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o > lib-$(CONFIG_SPARC64) += csum_copy.o csum_copy_from_user.o csum_copy_to_user.o > diff --git a/arch/sparc/lib/NG4fls.S b/arch/sparc/lib/NG4fls.S > new file mode 100644 > index 0000000..5ed7da9 > --- /dev/null > +++ b/arch/sparc/lib/NG4fls.S > @@ -0,0 +1,20 @@ > +/* NG4fls.S: SPARC optimized fls and __fls for T4 and above. > + * > + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. > + */ > + > +#include <linux/linkage.h> > + > +#define LXCNT_O0_G2 \ Typo? Should be LZCNT_O0_G2. Anthony > + .word 0x85b002e8 > + > + .text > + .register %g2, #scratch > + .register %g3, #scratch > + > +ENTRY(NG4fls) > + LXCNT_O0_G2 !lzcnt %o0, %g2 > + mov 64, %g3 > + retl > + sub %g3, %g2, %o0 > +ENDPROC(NG4fls) > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe sparclinux" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html