This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Remove pseudos for vwcvt.f.x(u) with rounding mode.
ClosedPublic

Authored by craig.topper on Jul 6 2023, 1:22 PM.

Details

Summary

vwcvt.f.x doesn't use rounding mode. The integer value fits in
the mantissa of a 2x larger FP type so no rounding is required.

I've remove the Uses = [FRM] that is also not needed.

I deleted the isel patterns. Alternatively, we could keep them and
drop the rounding mode immediate. The patterns are currently untested
so I chose to delete them. If they become needed in the future, we
can decide then if we should have the patterns or teach the node
creation to use the non-RM form for widening.

This reverts part of D142102.

Diff Detail

Event Timeline

craig.topper created this revision.Jul 6 2023, 1:22 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 6 2023, 1:22 PM
craig.topper requested review of this revision.Jul 6 2023, 1:22 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 6 2023, 1:22 PM
luke accepted this revision.Jul 7 2023, 8:03 AM

LGTM, looks like gcc also removed their frm operand from vfwcvt.f.x[u] too: https://github.com/nstester/gcc/commit/b65458005dfb38f2efdca52e42f3dbf4760f91bd

This revision is now accepted and ready to land.Jul 7 2023, 8:03 AM