This is an archive of the discontinued LLVM Phabricator instance.

[SME2/SVE2p1] Extend llvm.aarch64.sve.convert.to/from.svbool to accept target("aarch64.svcount")
ClosedPublic

Authored by sdesmalen on May 19 2023, 3:39 AM.

Details

Summary

The convert intrinsics can be used to implement existing operations on svcount_t
when the actual bits/content of the predicate register doesn't matter (such
as PSEL, which copies the full contents of the first source register to the
destination register).

Diff Detail

Event Timeline

sdesmalen created this revision.May 19 2023, 3:39 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 19 2023, 3:39 AM
sdesmalen requested review of this revision.May 19 2023, 3:39 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 19 2023, 3:39 AM
This revision is now accepted and ready to land.May 19 2023, 5:35 AM
CarolineConcatto accepted this revision.May 19 2023, 6:18 AM
sdesmalen updated this revision to Diff 523780.May 19 2023, 7:53 AM
sdesmalen retitled this revision from [SVE2p1] Add a reinterpret intrinsic for svcount_t to/from svbool_t. to [SME2/SVE2p1] Extend llvm.aarch64.sve.convert.to/from.svbool to accept target("aarch64.svcount").
sdesmalen edited the summary of this revision. (Show Details)
sdesmalen added a subscriber: hassnaa-arm.

@hassnaa-arm made a good suggestion offline, that we could reuse the existing convert.to/from.svbool intrinsics.
I've updated the implementation.

david-arm accepted this revision.May 19 2023, 7:58 AM

LGTM! The new version looks better now as it reuses the existing intrinsic.

Matt added a subscriber: Matt.May 19 2023, 2:07 PM
This revision was landed with ongoing or failed builds.May 22 2023, 7:14 AM
This revision was automatically updated to reflect the committed changes.