[all-commits] [llvm/llvm-project] b970a7: [RISCV][GISel] Remove s32 support for G_CTPOP/CTLZ...

Craig Topper via All-commits all-commits at lists.llvm.org
Thu Nov 7 10:40:37 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b970a78335a3d46a6dbdaa762e7285e9a90c969c
      https://github.com/llvm/llvm-project/commit/b970a78335a3d46a6dbdaa762e7285e9a90c969c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-07 (Thu, 07 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVGISel.td
    M llvm/lib/Target/RISCV/RISCVInstrGISel.td
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctlz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctpop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/cttz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll

  Log Message:
  -----------
  [RISCV][GISel] Remove s32 support for G_CTPOP/CTLZ/CTTZ on RV64. (#115101)

I plan to make i32 an illegal type for RV64 to match SelectionDAG and to
remove i32 from the GPR register class.

I've added 2 custom nodes for CTZW and CLZW to match SelectionDAG. For
cpopw we pattern match G_AND+G_CTPOP in isel.



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