[all-commits] [llvm/llvm-project] 4cf2cf: [RISCV][GISel] Stop over promoting G_SITOFP/UITOFP...

Craig Topper via All-commits all-commits at lists.llvm.org
Wed Dec 4 10:43:13 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4cf2cf18c97d17c8e5662955c7048d072c711415
      https://github.com/llvm/llvm-project/commit/4cf2cf18c97d17c8e5662955c7048d072c711415
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Stop over promoting G_SITOFP/UITOFP libcalls on RV64. (#118597)

When we have legal instructions we want to promote to sXLen and let isel
pattern matching removing the and/sext_inreg.

When using a libcall we want to use a 'si' libcall for small types
instead of 'di'. To match the RV64 ABI, we need to sign extend `unsigned
int` arguments. We reuse the shouldSignExtendTypeInLibCall hook from
SelectionDAG.



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