[PATCH] D145678: [RISCV] Model interleave and deinterleave shuffles in cost model

Luke Lau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 9 09:05:14 PST 2023


luke added inline comments.


================
Comment at: llvm/test/Analysis/CostModel/RISCV/shuffle-interleave.ll:17
 ; CHECK-LABEL: 'interleave2_v8i32'
 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %concat = shufflevector <4 x i32> %v0, <4 x i32> %v1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %res = shufflevector <8 x i32> %concat, <8 x i32> poison, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
----------------
reames wrote:
> This cost is also suspiciously high.  This really should be a single slideup.  Yet another follow on change.  :)
If you stick this into llc then the shuffle actually disappears entirely. 
We could try and model concatenating shuffles, but I think this is also blocked on the comment below


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D145678



More information about the llvm-commits mailing list