[PATCH v4 0/5] sparc64: Optimize fls and __fls

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

 



SPARC provides lzcnt instruction (with VIS3) which can be used to
optimize fls, __fls and fls64 functions. For the systems that supports
lzcnt instruction, we now do boot time patching to use sparc
optimized fls, __fls and fls64 functions.

v3->v4:
 -  Fixed a typo.
v2->v3:
 -  Using ENTRY(), ENDPROC() for assembler functions.
 -  Removed BITS_PER_LONG from __fls.
 -  Using generic fls64().
 -  Replaced lzcnt instruction with .word directive.
v1->v2:
 - Fixed delay slot issue.

Vijay Kumar (5):
  sparc64: Define SPARC default fls function
  sparc64: Define SPARC default __fls function
  sparc64: SPARC optimized fls function
  sparc64: SPARC optimized __fls function
  sparc64: Use sparc optimized fls and __fls for T4 and above

 arch/sparc/include/asm/bitops_64.h |    5 ++-
 arch/sparc/kernel/head_64.S        |    2 +
 arch/sparc/lib/Makefile            |    3 ++
 arch/sparc/lib/NG4fls.S            |   30 ++++++++++++++++
 arch/sparc/lib/NG4patch.S          |    9 +++++
 arch/sparc/lib/fls.S               |   67 ++++++++++++++++++++++++++++++++++++
 arch/sparc/lib/fls64.S             |   61 ++++++++++++++++++++++++++++++++
 7 files changed, 175 insertions(+), 2 deletions(-)
 create mode 100644 arch/sparc/lib/NG4fls.S
 create mode 100644 arch/sparc/lib/fls.S
 create mode 100644 arch/sparc/lib/fls64.S

--
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