This is an archive of the discontinued LLVM Phabricator instance.

[SVE][CodeGen] Expand SVE MULH[SU] and [SU]MUL_LOHI nodes
ClosedPublic

Authored by frasercrmck on Feb 17 2021, 1:38 AM.

Details

Summary

This patch fixes a codegen crash introduced in fde24661718c, where the
DAGCombiner started generating optimized MULH[SU] or [SU]MUL_LOHI nodes
unless the target opted out. The AArch64 backend cannot currently select
any of these nodes, so ensure that they are not generated in the first
place.

This issue was raised by @huihuiz in D94501.

Diff Detail

Event Timeline

frasercrmck created this revision.Feb 17 2021, 1:38 AM
frasercrmck requested review of this revision.Feb 17 2021, 1:38 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 17 2021, 1:38 AM

It's possible that AArch64 can support these operations but I'm not familiar with the arch. I thought that expanding them was the best way for me to fix the regression.

I don't know if this is something you want to consider as a candidate for cherry-picking into the LLVM 12 release?

paulwalker-arm accepted this revision.Feb 17 2021, 5:29 AM
This revision is now accepted and ready to land.Feb 17 2021, 5:29 AM