FRINT uses dynamic rounding mode instead of static rounding mode. The patch
rename VFCVT_X_F_VL to VFCVT_RM_X_F_VL for static rounding mode uses and added
new ISDNode VFCVT_X_F_VL directly selected to PseudoVFCVT_X_F_V.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Rename lowerVectorFTRUNC_FCEIL_FFLOOR_FROUND to lowerVectorFTRUNC_FCEIL_FFLOOR_FROUND_FRINT.
llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp | ||
---|---|---|
518 ↗ | (On Diff #470733) | Why is LT.first added? Shouldn't it be multiplied? stepvector is special because if LT.first > 1, it's a single vid.v and LT.first-1 adds. |
llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp | ||
---|---|---|
518 ↗ | (On Diff #470733) | Yes, you are right. And also I think it is terrible mistake and I will reflect on my careless code. |
Comment Actions
Rebase and use original name lowerVectorFTRUNC_FCEIL_FFLOOR_FROUND to follow lowerFTRUNC_FCEIL_FFLOOR_FROUND.
Comment Actions
Add TLI->isOperationCustom(ISD::VP_FRINT, LT.second) to make sure that legalized types of vp.rint have target customized lowering.
VP_RINT -> VP_FRINT