[llvm-dev] SLP Vectorizer bug in trunk (original) (raw)
Neil Henning via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 31 03:10:49 PDT 2021
- Previous message: [llvm-dev] SLP Vectorizer bug in trunk
- Next message: [llvm-dev] SLP Vectorizer bug in trunk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hey Anton,
Ok cool! No rush on a fix our end - I just speculatively (and intermittently) bump our trunk version to ensure we stay in lock-step with any of the frequent API changes that tip of tree brings.
Cheers, -Neil.
On Tue, Aug 31, 2021 at 10:53 AM Anton Afanasyev < anton.a.afanasyev at gmail.com> wrote:
Hi Neil, it looks like this bug was introduced by this commit: https://reviews.llvm.org/rGa36bc873a269dca0c5399d72bfdd42d3ddc72671 I'm to report this and revert it if no fix in short time. Thanks, Anton > вт, 31 авг. 2021 г. в 11:20, Neil Henning via llvm-dev <_ _llvm-dev at lists.llvm.org>: >> Hey list, >>> I don't have bugzilla (reasons - incidentally is there anyone working on > a more sane way to report bugs yet?). >>> Between LLVM 13 rc2 and trunk I've got some new fun fail in the SLP > vectorizer. I'll attach the repro below (I could repro it with opt > --slp-vectorizer test.ll) - fails with: >>> Assertion failed: !isa(I) && !isVectorLikeInstWithConstOps(I) && > "phi nodes/insertelements/extractelements/extractvalues don't need to " "be > scheduled", file ..\lib\Transforms\Vectorize\SLPVectorizer.cpp, line 6096 >>> Anyone know what has changed in the short time from 13 -> trunk that'd > cause this? >>> define void @test([4 x float]* nocapture %o, [2 x float]* nocapture > nonnull readonly dereferenceable(8) %a, [2 x float]* nocapture nonnull > readonly dereferenceable(8) %b, i32 signext %component) { > entry: > %0 = bitcast [2 x float]* %a to <2 x float>* > %1 = load <2 x float>, <2 x float>* %0, align 1 > %2 = bitcast [2 x float]* %b to <2 x float>* > %3 = load <2 x float>, <2 x float>* %2, align 1 > %4 = trunc i32 %component to i8 > _%5 = shufflevector <2 x float> %1, <2 x float> %3, <8 x i32> <i32 0,_ > i32 1, i32 undef, i32 undef, i32 2, i32 3, i32 undef, i32 undef> > %6 = extractelement <8 x float> %5, i8 %4 > %7 = insertelement <4 x float> undef, float %6, i64 0 > %8 = extractelement <2 x float> %3, i32 1 > %9 = insertelement <4 x float> %7, float %8, i64 1 > %10 = extractelement <2 x float> %1, i32 1 > %11 = insertelement <4 x float> %9, float %10, i64 2 > %12 = insertelement <4 x float> %11, float %6, i64 3 > %13 = bitcast [4 x float]* %o to <4 x float>* > store <4 x float> %12, <4 x float>* %13, align 1 > ret void > } >>> Thanks for any help, > -Neil. >>> -- > Neil Henning > Senior Software Engineer Compiler > unity.com > _________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>
Neil Henning Senior Software Engineer Compiler unity.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210831/cde98c0a/attachment.html>
- Previous message: [llvm-dev] SLP Vectorizer bug in trunk
- Next message: [llvm-dev] SLP Vectorizer bug in trunk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]