This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Guard {vmull_p64, vmull_high_p64} with 'aes' target guard.
ClosedPublic

Authored by mingmingl on Dec 20 2022, 1:53 PM.

Details

Summary

The 'aes' target guard includes both FEAT_AES and FEAT_PMULL currently.

In this way, cpp code that uses these intrinsics without specifying the required extension gets better hint.

  • Before, compile crashes with LLVM ISel internal message (see issue 59599).
  • After, clang hints that target 'aes' is required in the command.

Diff Detail

Event Timeline

mingmingl created this revision.Dec 20 2022, 1:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 20 2022, 1:53 PM
mingmingl requested review of this revision.Dec 20 2022, 1:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 20 2022, 1:53 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
mingmingl updated this revision to Diff 484373.Dec 20 2022, 1:57 PM

indent intrinsic definition in arm_neon.td

dmgreen accepted this revision.Dec 21 2022, 1:07 AM

Thanks for putting together the patch. It may be worth mentioning in the commit message that aes currently includes both FEAT_AES and FEAT_PMULL.
Otherwise LGTM.

This revision is now accepted and ready to land.Dec 21 2022, 1:07 AM
mingmingl updated this revision to Diff 484608.Dec 21 2022, 9:58 AM

update commit message to mention target guard 'aes' includes both FEAT_AES and FEAT_PMULL currently.

mingmingl edited the summary of this revision. (Show Details)Dec 21 2022, 10:00 AM

Thanks for putting together the patch. It may be worth mentioning in the commit message that aes currently includes both FEAT_AES and FEAT_PMULL.
Otherwise LGTM.

Thanks for reviews! Made the change in commit message and phab summary. Going to submit this.

This revision was landed with ongoing or failed builds.Dec 21 2022, 11:03 AM
This revision was automatically updated to reflect the committed changes.