[PATCH] D145155: [RISCV] Enable interleaved access vectorization
Luke Lau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 15 16:17:09 PDT 2023
luke added inline comments.
================
Comment at: llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll:11
+; VF_2-LABEL: Checking a loop in 'i8_factor_2'
+; VF_2: Found an estimated cost of 3 for VF 2 For instruction: %l0 = load i8, ptr %p0, align 1
+; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: %l1 = load i8, ptr %p1, align 1
----------------
@reames Apologies for jumping the gun there, this is the line that fails without that change to `getShuffleCost`.
I've split it out into D146176, but the gist is that this deinterleaved load ends up getting costed as an interleave because it has a mask of `<0, 2>`
This test case covers it but I wasn't able to find a way to test it in the aforementioned patch due to how getInstructionCost doesn't cost shuffles that change length. (Happy to take a look into that though if needed)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145155/new/
https://reviews.llvm.org/D145155
More information about the llvm-commits
mailing list