[all-commits] [llvm/llvm-project] 281787: [RISCV] Fold (sext_inreg (setcc), i1) -> (sub 0, (...

Craig Topper via All-commits all-commits at lists.llvm.org
Mon Aug 18 21:24:24 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2817873082c05b061b198853d64602ff26ce7cfe
      https://github.com/llvm/llvm-project/commit/2817873082c05b061b198853d64602ff26ce7cfe
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-08-18 (Mon, 18 Aug 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rv32xandesperf.ll
    M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
    M llvm/test/CodeGen/RISCV/rv64xandesperf.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
    M llvm/test/CodeGen/RISCV/xqcibm-extract.ll

  Log Message:
  -----------
  [RISCV] Fold (sext_inreg (setcc), i1) -> (sub 0, (setcc). (#154206)

This helps the 3 vendor extensions that make sext_inreg i1 legal.

I'm delaying this until after LegalizeDAG since we normally have
sext_inreg i1 up until LegalizeDAG turns it into and+neg.

I also delayed the recently added (sext_inreg (xor (setcc), -1), i1)
combine. Though the xor isn't likely to appear before LegalizeDAG anyway.



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