[all-commits] [llvm/llvm-project] 14bdce: [SLP]Model reduction_add(ext(<n x i1>)) as ext(ctp...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Fri Nov 22 06:50:57 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 14bdcefbd88f35e31064241b52bccfabfb027499
      https://github.com/llvm/llvm-project/commit/14bdcefbd88f35e31064241b52bccfabfb027499
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-11-22 (Fri, 22 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cmp-swapped-pred.ll
    M llvm/test/Transforms/SLPVectorizer/zext-incoming-for-neg-icmp.ll

  Log Message:
  -----------
  [SLP]Model reduction_add(ext(<n x i1>)) as ext(ctpop(bitcast <n x i1> to int n))

Currently sequences reduction_add(ext(<n x i1>)) are modeled as vector
extensions + reduction add, but later instcombiner transforms it into
ext(ctcpop(bitcast <n x i1> to int n)). Patch adds direct support for
this in SLP vectorizer, which enables better cost estimation.

AVX512, -O3+LTO

CINT2006/445.gobmk - extra vector code
Prolangs-C/bison - extra vector code
Benchmarks/NPB-serial/is - 16 x + 8 x reductions vectorized as 24
x reduction

Reviewers: RKSimon

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/116875



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list