[all-commits] [llvm/llvm-project] d62c57: [RISCV] Custom legalize i32 SMULO with RV64LegalI32.

Craig Topper via All-commits all-commits at lists.llvm.org
Sat Feb 3 13:15:11 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d62c5706a8fabca8b14484ce5078b03756f8a37b
      https://github.com/llvm/llvm-project/commit/d62c5706a8fabca8b14484ce5078b03756f8a37b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-03 (Sat, 03 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll

  Log Message:
  -----------
  [RISCV] Custom legalize i32 SMULO with RV64LegalI32.

The default lowering will use shifts to make use of an i32 setcc.
We don't support i32 setcc, so its better to sig extend the low
32 bits and compare the full 64 bit result. This gives produces
mul+mulw+xor+snez like we do without RV64LegalI32.


  Commit: f09092434423be14f32781d8ae263dc041d24551
      https://github.com/llvm/llvm-project/commit/f09092434423be14f32781d8ae263dc041d24551
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-03 (Sat, 03 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll

  Log Message:
  -----------
  [RISCV] Custom legalize i32 SADDO/SSUBO with RV64LegaI32.

The default legalization uses 2 compares and an xor. We can instead
use add+addw+xor+snez like we do without RV64LegaI32.


  Commit: ea59b15cf70b53f6a4f3ba0d495d0566a0e77e44
      https://github.com/llvm/llvm-project/commit/ea59b15cf70b53f6a4f3ba0d495d0566a0e77e44
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-03 (Sat, 03 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll

  Log Message:
  -----------
  [RISCV] Add more RUN lines to rv64-legal-i32/xaluo.ll. NFC

This matches the non-rv64-legal-i32 version.


Compare: https://github.com/llvm/llvm-project/compare/de4360d7d535...ea59b15cf70b


More information about the All-commits mailing list