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

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 27 16:18:50 PST 2021


craig.topper created this revision.
craig.topper added reviewers: jrtc27, luismarques, HsiangKai, arcbbb, achieveartificialintelligence.
Herald added subscribers: VincentWu, luke957, StephenFan, vkmr, frasercrmck, evandro, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya.
craig.topper requested review of this revision.
Herald added a subscriber: MaskRay.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D116323

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116323.396351.patch
Type: text/x-patch
Size: 98293 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211228/c5595926/attachment.bin>


More information about the llvm-commits mailing list