This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Lower fcvtl2 (fpext) via tablegen patterns.
ClosedPublic

Authored by dmgreen on Jul 20 2023, 10:59 AM.

Details

Summary

This patch does two things. First it removes the tryHighFPExt DAG2DAG method used to select fcvtl2 instructions, using tablegen patterns using SelectExtractHigh instead. This essentially undoes D71515, in a way that should hopefully avoid any regressions. The second is that a GI equivalent of SelectExtractHigh is added in selectExtractHigh, from G_UNMERGE_.VALUES. The end result is that GlobalISel (and some constrained fpext) can now make use of the fcvtl2 instructions, saving an extra mov/ext.

Diff Detail

Event Timeline

dmgreen created this revision.Jul 20 2023, 10:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 20 2023, 10:59 AM
dmgreen requested review of this revision.Jul 20 2023, 10:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 20 2023, 10:59 AM
This revision is now accepted and ready to land.Jul 21 2023, 1:39 AM
This revision was landed with ongoing or failed builds.Jul 23 2023, 11:17 AM
This revision was automatically updated to reflect the committed changes.