Re: [PATCH v3 3/5] sparc64: SPARC optimised fls function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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



[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux