This extends the lowering of ceil, floor, nearbyint, rint, round, roundeven and trunc. They are all very similar, so can reuse the same legalization info. selectIntrinsicTrunc and selectIntrinsicRound can be removed as they can be selected via tablegen patterns, and G_INTRINSIC_ROUNDEVEN is marked as a gisel equivalent of froundeven. Otherwise this reuses the existing code, filling it out to handle more types.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/AArch64/fcvt.ll | ||
---|---|---|
158–161 | Yeah it's the same as https://reviews.llvm.org/D155601?id=541535#inline-1505354. There are legalization artefacts from widening the vector with undef. They should be able to be optimized away, we just haven't got that code yet. |
I'm surprised these are missing