[PATCH] D136861: [IR] Add LLVM IR support for target("aarch64.svcount") type.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 9 05:38:06 PST 2023


sdesmalen added a comment.

Thanks for all the previous comments! I've rewritten the patch to use the new target-extension types, since that functionality has now landed. This made the patch a lot simpler. I've only had to add a new interface to check if the TargetExtType is scalable.

I will try to be a bit more responsive to comments this time around :)

In D136861#3900512 <https://reviews.llvm.org/D136861#3900512>, @efriedma wrote:

> From the spec, `svreinterpret_c(svreinterpret_b(x))` is equivalent to x, right?  So you could just lower svcount_t to `<vscale x 16 x i1>`, but you want to avoid confusion with non-SME predicate vectors in LLVM IR?

We could let Clang emit the reinterpret cast, but we want the intrinsics to be correct for other front-ends as well think of e.g. MLIR. By giving it a proper type it becomes unambiguous what the format of the predicate value must be when passing it to the intrinsic.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136861/new/

https://reviews.llvm.org/D136861



More information about the llvm-commits mailing list