[all-commits] [llvm/llvm-project] e8cead: [LV][RISCV] Add a test case for a quality problem ...

Philip Reames via All-commits all-commits at lists.llvm.org
Wed Jul 27 11:42:42 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e8ceadd0ce465f7223eea7dc923ce8a25f68b4ba
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2022-07-27 (Wed, 27 Jul 2022)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll

  Log Message:
  [LV][RISCV] Add a test case for a quality problem mixing vector index and data types

The problem here is target independent, but particularly painful on RISCV.  If we chose to vectorize such that vscale x 2 x i32 is our widest type and fits in a register, a naive expansion of i64 comparisons results in comparisons and index types at <scalabe x 2 x i64>.  This requires both an LMUL of 2, and a VSETVLI toggle in the loop.  Note that we could have used <vscale x 2 x i32> for the compairons legally given the range of the trip count.

More information about the All-commits mailing list