[PATCH] D97758: [CostModel][SVE] Add cost model for shuffle reverse with i1 and scalable vector

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 2 02:02:42 PST 2021


sdesmalen added inline comments.


================
Comment at: llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll:50
   call <16 x bfloat> @llvm.experimental.vector.reverse.v16bf16(<16 x bfloat> undef)
+  call <16 x i1> @llvm.experimental.vector.reverse.nxv16i1(<16 x i1> undef)
+  call <8 x i1> @llvm.experimental.vector.reverse.nxv8i1(<8 x i1> undef)
----------------
The operand is not scalable, so this mangling of the intrinsic is not correct.


================
Comment at: llvm/test/Analysis/CostModel/AArch64/sve-getIntrinsicInstrCost-vector-reverse.ll:20
 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction:   %8 = call <vscale x 4 x i64> @llvm.experimental.vector.reverse.nxv4i64(<vscale x 4 x i64> undef)
 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction:   %9 = call <vscale x 8 x half> @llvm.experimental.vector.reverse.nxv8f16(<vscale x 8 x half> undef)
 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction:   %10 = call <vscale x 16 x half> @llvm.experimental.vector.reverse.nxv16f16(<vscale x 16 x half> undef)
----------------
Just an FYI that this file has been removed, so you'll to rebase it and put the changes in `llvm/test/Analysis/CostModel/AArch64 /sve-intrinsics.ll`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97758



More information about the llvm-commits mailing list