lkml.org 
[lkml]   [2019]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/5] x86_64, -march=native: POPCNT support
On Mon, Jul 22, 2019 at 11:12:10PM +0200, Peter Zijlstra wrote:
> On Mon, Jul 22, 2019 at 11:27:20PM +0300, Alexey Dobriyan wrote:
> > Detect POPCNT instruction support and inline hweigth*() functions
> > if it is supported by CPU.
> >
> > Detect POPCNT at boot time and conditionally refuse to boot.
> >
> > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
> > ---
> > arch/x86/include/asm/arch_hweight.h | 24 +++++++++++++++++++
> > arch/x86/include/asm/segment.h | 1 +
> > arch/x86/kernel/verify_cpu.S | 8 +++++++
> > arch/x86/lib/Makefile | 5 +++-
> > .../drm/i915/display/intel_display_power.c | 2 +-
> > drivers/misc/sgi-gru/grumain.c | 2 +-
> > fs/btrfs/tree-checker.c | 4 ++--
> > include/linux/bitops.h | 2 ++
> > lib/Makefile | 2 ++
> > scripts/kconfig/cpuid.c | 7 ++++++
> > scripts/march-native.sh | 2 ++
> > 11 files changed, 54 insertions(+), 5 deletions(-)
>
> *WHY* ?
>
> AFAICT this just adds lines and complexity and wins aboslutely nothing.

If CPU is know to have POPCNT, it doesn't make sense to go through RDI.
Additionally some CPUs (still?) have fake dependency on the destination,
so "popcnt rax, rdi" is suboptimal.

\
 
 \ /
  Last update: 2019-07-22 23:16    [W:0.100 / U:22.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site