[PATCH] D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 9 11:51:46 PST 2020


ABataev added a comment.

In D57059#2443350 <https://reviews.llvm.org/D57059#2443350>, @dtemirbulatov wrote:

> While reviewing the latest update, I think I spotted SLP compile-time failure in SingleSource/Benchmarks/Misc/oourafft.c, here is the reduced testcase to reporduce:
> source_filename = "/home/dtemirbulatov/llvm/test-suite/SingleSource/Benchmarks/Misc/oourafft.c"
> target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
> target triple = "x86_64-unknown-linux-gnu"
>
> define dso_local fastcc void @cft1st(double* %a) unnamed_addr #0 {
> entry:
>
>   %0 = or i64 16, 2
>   %arrayidx107 = getelementptr inbounds double, double* %a, i64 %0
>   %1 = or i64 16, 3
>   %arrayidx114 = getelementptr inbounds double, double* %a, i64 %1
>   %2 = or i64 16, 4
>   %arrayidx131 = getelementptr inbounds double, double* %a, i64 %2
>   %3 = or i64 16, 6
>   %arrayidx134 = getelementptr inbounds double, double* %a, i64 %3
>   %4 = load double, double* %arrayidx134, align 8
>   %5 = or i64 16, 5
>   %arrayidx138 = getelementptr inbounds double, double* %a, i64 %5
>   %6 = or i64 16, 7
>   %arrayidx141 = getelementptr inbounds double, double* %a, i64 %6
>   %7 = load double, double* %arrayidx141, align 8
>   %sub149 = fsub double undef, %4
>   %sub156 = fsub double undef, %7
>   store double undef, double* %arrayidx131, align 8
>   store double undef, double* %arrayidx138, align 8
>   %sub178 = fsub double undef, %sub156
>   %add179 = fadd double undef, %sub149
>   %mul180 = fmul double undef, %sub178
>   %sub182 = fsub double %mul180, undef
>   store double %sub182, double* %arrayidx107, align 8
>   %mul186 = fmul double undef, %add179
>   %add188 = fadd double %mul186, undef
>   store double %add188, double* %arrayidx114, align 8
>   unreachable
>
> }
>
> attributes #0 = { "target-features"="+avx,+avx2,+bmi,+bmi2,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+popcnt,+rdrnd,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave,+xsaveopt" }
>
> !llvm.ident = !{!0}
>
> !0 = !{!"clang version 12.0.0 (https://github.com/llvm/llvm-project.git aaa925795f93c389a96ee01bab73bc2b6b771cbb <https://reviews.llvm.org/rGaaa925795f93c389a96ee01bab73bc2b6b771cbb>)"}

Do you mean compile time increasing? With this patch?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57059/new/

https://reviews.llvm.org/D57059



More information about the llvm-commits mailing list