This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Expand types handled in VQDMULH recognition
ClosedPublic

Authored by dmgreen on Jul 12 2021, 6:55 AM.

Details

Summary

We have a DAG combine for recognizing the sequence of nodes that make up an MVE VQDMULH, but only currently handles specifically legal types. This patch expands that to other power-2 vector types. For smaller than legal types this means any_extending the type and casting it to a legal type, using a VQDMULH where we only use some of the lanes. The result is sign extended back to the original type, to properly set the invalid lanes. Larger than legal types are split into chunks with extracts and concat back together.

Diff Detail

Event Timeline

dmgreen created this revision.Jul 12 2021, 6:55 AM
dmgreen requested review of this revision.Jul 12 2021, 6:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 12 2021, 6:55 AM
samtebbs accepted this revision.Jul 12 2021, 7:48 AM

Very nice job

This revision is now accepted and ready to land.Jul 12 2021, 7:48 AM
This revision was landed with ongoing or failed builds.Jul 15 2021, 6:48 AM
This revision was automatically updated to reflect the committed changes.