This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME2/SVE2p1] Add predicate-as-counter intrinsics for ptrue/cntp
ClosedPublic

Authored by sdesmalen on May 10 2023, 5:52 AM.

Details

Summary

These intrinsics are used to implement:

  • svptrue_c8(), svptrue_c16(), etc.
  • svcntp_c8(svcount_t pnn, uint64_t vl), svcntp_c16(...), etc.

As described in https://github.com/ARM-software/acle/pull/217

Diff Detail

Event Timeline

sdesmalen created this revision.May 10 2023, 5:52 AM
sdesmalen requested review of this revision.May 10 2023, 5:52 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 10 2023, 5:52 AM
david-arm added inline comments.May 11 2023, 7:39 AM
llvm/test/CodeGen/AArch64/sve2p1-intrinsics-predicate-as-counter.ll
4

Do we also want another RUN line for SME2, i.e.

; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 < %s | FileCheck %s

same as sve2p1-intrinsics-cntp.ll?

sdesmalen updated this revision to Diff 521344.May 11 2023, 9:22 AM

Added RUN line for +sme2 to sve2p1-intrinsics-predicate-as-counter.ll

sdesmalen marked an inline comment as done.May 11 2023, 9:22 AM
sdesmalen added inline comments.
llvm/test/CodeGen/AArch64/sve2p1-intrinsics-predicate-as-counter.ll
4

Good spot, fixed!

david-arm accepted this revision.May 12 2023, 12:38 AM

LGTM! Beautiful!

This revision is now accepted and ready to land.May 12 2023, 12:38 AM
This revision was landed with ongoing or failed builds.May 12 2023, 1:44 AM
This revision was automatically updated to reflect the committed changes.
sdesmalen marked an inline comment as done.