This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Combine to UMULL if top bits are known zero
ClosedPublic

Authored by dmgreen on Dec 19 2022, 2:58 AM.

Details

Summary

Given mul(zext(a), b), we can convert to a umull so long as we know that the top bits of b are zero. This uses MaskedValueIsZero to detect that case for NEON UMULL patterns.

Diff Detail

Event Timeline

dmgreen created this revision.Dec 19 2022, 2:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 19 2022, 2:58 AM
dmgreen requested review of this revision.Dec 19 2022, 2:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 19 2022, 2:58 AM
samtebbs accepted this revision.Dec 19 2022, 3:21 AM

LGTM

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
4571

"extend" or "extends"?

This revision is now accepted and ready to land.Dec 19 2022, 3:21 AM
This revision was landed with ongoing or failed builds.Dec 20 2022, 5:50 AM
This revision was automatically updated to reflect the committed changes.