[PATCH] D107286: [LV] Widen ExtractValue instructions instead of scalarizing.
David Sherwood via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 3 01:07:49 PDT 2021
david-arm added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:4966
+ for (unsigned Part = 0; Part < UF; ++Part) {
+ Value *Val = Builder.CreateExtractValue(EVI->getAggregateOperand(),
+ EVI->getIndices());
----------------
I think we can probably hoist this out of the for loop and just create it once.
================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll:4
; RUN: opt -loop-vectorize -mtriple=arm64-apple-ios %s -S -debug -disable-output 2>&1 | FileCheck --check-prefix=CM %s
; RUN: opt -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 %s -S | FileCheck --check-prefix=FORCED %s
----------------
Could you add at least one test for an interleave > 1 either here or in the SVE test, just to prove we've got the parts right?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D107286/new/
https://reviews.llvm.org/D107286
More information about the llvm-commits
mailing list