[all-commits] [llvm/llvm-project] f7dbc8: [LegalizeTypes][RISCV] Support libcalls for fpto{s...

Alex Bradbury via All-commits all-commits at lists.llvm.org
Tue Aug 8 05:58:28 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f7dbc8501f430d298bbc70c488fbe1615fa0f147
      https://github.com/llvm/llvm-project/commit/f7dbc8501f430d298bbc70c488fbe1615fa0f147
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-08-08 (Tue, 08 Aug 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll

  Log Message:
  -----------
  [LegalizeTypes][RISCV] Support libcalls for fpto{s,u}i of bfloat by extending to f32 first

As there is no direct bf16 libcall for these conversions, extend to f32
first.

This patch includes a tiny refactoring to pull out equivalent logic in
ExpandIntRes_XROUND_XRINT so it can be reused in
ExpandIntRes_FP_TO_{S,U}INT.

This patch also demonstrates incorrect codegen for RV32 without zfbfmin
for the newly enabled tests. As it doesn't introduce that incorrect
codegen (caused by the assumption that 'TypeSoftPromoteHalf' is only
used for f16 types), a fix will be added in a follow-up (D157287).

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




More information about the All-commits mailing list