[all-commits] [llvm/llvm-project] 15787c: [RISCV] Add support for STRICT_LRINT/LLRINT/LROUND...

Craig Topper via All-commits all-commits at lists.llvm.org
Thu Dec 30 11:55:07 PST 2021

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 15787ccd4574400a511de4a66392a3653f70c7e5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-12-30 (Thu, 30 Dec 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
    A llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
    A llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
    A llvm/test/CodeGen/RISCV/rv64zfh-half-intrinsics-strict.ll
    A llvm/test/CodeGen/RISCV/zfh-half-intrinsics-strict.ll

  Log Message:
  [RISCV] Add support for STRICT_LRINT/LLRINT/LROUND/LLROUND. Tests for other strict intrinsics.

This patch adds isel support for STRICT_LRINT/LLRINT/LROUND/LLROUND.

It also adds test cases for f32 and f64 constrained intrinsics that
correspond to the intrinsics in float-intrinsics.ll and
double-intrinsics.ll. Support for promoting the integer argument of
STRICT_FPOWI was added.

I've skipped adding tests for f16 intrinsics, since we don't have libcalls
for them and we have inconsistent support for promoting them in LegalizeDAG.
This will need to be examined more closely.

Reviewed By: asb

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

More information about the All-commits mailing list