[all-commits] [llvm/llvm-project] 233b6e: [RISCV] Handle EltType > XLEN case in VMV_V_X_VL t...

Philip Reames via All-commits all-commits at lists.llvm.org
Fri Sep 22 13:44:01 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 233b6ef66cc640bcde317fa2e2bfad78a52b257d
      https://github.com/llvm/llvm-project/commit/233b6ef66cc640bcde317fa2e2bfad78a52b257d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-09-22 (Fri, 22 Sep 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrol.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vror.ll

  Log Message:
  -----------
  [RISCV] Handle EltType > XLEN case in VMV_V_X_VL to VMV_S_X_VL fold

I'd guarded this case in D158874 to avoid regressions, and decided to go investigate what was going on. The solution turns out to be a generic splat matching extension to handle INSERT_SUBVECTOR. In theory, we could see these from other sources as well, but for some reason we only seem to see the i64 extract on rv32 case in practice. Not sure why that is to be honest.

Differential Revision: https://reviews.llvm.org/D159230




More information about the All-commits mailing list