Test that STRICT_FMINNUM/FMAXNUM are lowered to libcalls for f32/f64.
The RISC-V instructions don't match the behavior of fmin/fmax libcalls
with respect to SNaN.
Promoting FMINNUM/FMAXNUM for f16 needs more work outside of the
RISC-V backend.
Paths
| Differential D115680
[RISCV] Add isel support for scalar STRICT_FADD/FSUB/FMUL/FDIV/FSQRT. ClosedPublic Authored by craig.topper on Dec 13 2021, 2:54 PM.
Details Summary Test that STRICT_FMINNUM/FMAXNUM are lowered to libcalls for f32/f64. Promoting FMINNUM/FMAXNUM for f16 needs more work outside of the
Diff Detail
Event TimelineHerald added subscribers: VincentWu, luke957, achieveartificialintelligence and 24 others. · View Herald TranscriptDec 13 2021, 2:54 PM This revision is now accepted and ready to land.Dec 14 2021, 1:11 AM Comment Actions My familiarity with the constrained FP intrinsics isn't high, so please speak up if there are any parts of this patch that you think need closer review. Though I've checked through and read Ulrich's patch adding the relevant STRICT_* SDag nodes, and it all seems fine to me. This revision was landed with ongoing or failed builds.Dec 14 2021, 10:51 AM Closed by commit rG3926893439c4: [RISCV] Add isel support for scalar STRICT_FADD/FSUB/FMUL/FDIV/FSQRT. (authored by craig.topper). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 394312 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-arith-strict.ll
llvm/test/CodeGen/RISCV/float-arith-strict.ll
llvm/test/CodeGen/RISCV/half-arith-strict.ll
|