[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