This is an archive of the discontinued LLVM Phabricator instance.

[DAG][AArch64] Handle vector types when expanding sdiv/udiv into mulh
ClosedPublic

Authored by dmgreen on Jun 29 2023, 1:40 AM.

Details

Summary

The aarch64 backend will benefit from expanding 64vector sdiv/udiv into mulh using shift(mul(ext, ext)), as the larger type size is legal and the mul(ext, ext) can efficiently use smull/umull instructions. This extends the existing code in GetMULHS to handle vector types.

Diff Detail

Event Timeline

dmgreen created this revision.Jun 29 2023, 1:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2023, 1:40 AM
dmgreen requested review of this revision.Jun 29 2023, 1:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2023, 1:40 AM
samtebbs accepted this revision.Jun 29 2023, 1:55 AM

Looks good to me, nice one.

This revision is now accepted and ready to land.Jun 29 2023, 1:55 AM
This revision was landed with ongoing or failed builds.Jul 2 2023, 7:03 AM
This revision was automatically updated to reflect the committed changes.