This patch adds new ISD nodes, SCVTZ_MERGE_PASSTHRU &
UCVTZ_MERGE_PASSTHRU, which are used to lower both legal
scalable vector [S|U]INT_TO_FP operations and the following intrinsics:
- llvm.aarch64.sve.scvtf
- llvm.aarch64.sve.ucvtf
Paths
| Differential D87913
[SVE][CodeGen] Lower legal integer -> floating point conversions ClosedPublic Authored by kmclaughlin on Sep 18 2020, 9:10 AM.
Details Summary This patch adds new ISD nodes, SCVTZ_MERGE_PASSTHRU &
Diff Detail
Event TimelineComment Actions LGTM with one minor comment.
This revision is now accepted and ready to land.Sep 18 2020, 12:28 PM Comment Actions LGTM as well, thanks @kmclaughlin!
This revision was landed with ongoing or failed builds.Sep 23 2020, 4:04 AM Closed by commit rGd0149ba9b46d: [SVE][CodeGen] Lower legal integer -> floating point conversions (authored by kmclaughlin). · Explain Why This revision was automatically updated to reflect the committed changes. kmclaughlin marked 2 inline comments as done.
Revision Contents
Diff 293692 llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/CodeGen/AArch64/sve-fcvt.ll
|
Might as well name these SINT_TO_FP_MERGE_PASSTHRU and UINT_TO_FP_MERGE_PASSTHRU. I know we had a long discussion about the names on the other patch, but this direction doesn't suffer from that problem. The intrinsic has exactly the same semantics as the SelectionDAG node.