[all-commits] [llvm/llvm-project] 635ab5: [VectorCombine] Fold vector.interleave2 with two c...

Min-Yih Hsu via All-commits all-commits at lists.llvm.org
Mon Feb 3 19:06:10 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 635ab515d5ef2469a525952999dce3236d25b2b5
      https://github.com/llvm/llvm-project/commit/635ab515d5ef2469a525952999dce3236d25b2b5
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/RISCV/vector-interleave2-splat-e64.ll
    A llvm/test/Transforms/VectorCombine/RISCV/vector-interleave2-splat.ll

  Log Message:
  -----------
  [VectorCombine] Fold vector.interleave2 with two constant splats (#125144)

If we're interleaving 2 constant splats, for instance `<vscale x 8 x
i32> <splat of 666>` and `<vscale x 8 x i32> <splat of 777>`, we can
create a larger splat `<vscale x 8 x i64> <splat of ((777 << 32) |
666)>` first before casting it back into `<vscale x 16 x i32>`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list