Re: [PATCH v2 2/2] sparc64: Use lzcnt instruction for fls and __fls

From: David Miller
Date: Wed Sep 27 2017 - 17:02:45 EST


From: Sam Ravnborg <sam@xxxxxxxxxxxx>
Date: Wed, 27 Sep 2017 21:56:37 +0200

> Hi Vijay.
>
> On Wed, Sep 27, 2017 at 01:25:26PM -0600, Vijay Kumar wrote:
>> For T4 and above, patch fls and __fls functions
>> at the boot time to use lzcnt instruction.
>>
>> Signed-off-by: Vijay Kumar <vijay.ac.kumar@xxxxxxxxxx>
>> Reviewed-by: Babu Moger <babu.moger@xxxxxxxxxx>
>> ---
>> arch/sparc/Makefile | 1 +
>> arch/sparc/kernel/head_64.S | 2 ++
>> arch/sparc/lib/Makefile | 3 +++
>> arch/sparc/lib/NG4fls.S | 30 ++++++++++++++++++++++++++++++
>> arch/sparc/lib/NG4patch.S | 9 +++++++++
>> 5 files changed, 45 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile
>> index 8496a07..0763cd8 100644
>> --- a/arch/sparc/Makefile
>> +++ b/arch/sparc/Makefile
>> @@ -48,6 +48,7 @@ KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare
>> KBUILD_CFLAGS += -Wa,--undeclared-regs
>> KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3)
>> KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs
>> +KBUILD_AFLAGS += -Wa,-Asparc4
> This change is not justified anywhere??

It also will likely break with older tools.