[clang] [Clang][AArch64] Use __clang_arm_builtin_alias for overloaded svreinterpret's (PR #92427)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Thu May 16 13:47:24 PDT 2024


efriedma-quic wrote:

The key here is that `__arm_streaming_compatible` is the only way to write code that runs in both streaming and non-streaming  mode; outside of `__arm_streaming_compatible`, there generally isn't an issue. If you know you're not in streaming mode, you can just check directly for SVE/SVE2, and if you know you're in streaming mode, you can check directly for SME/SME2.

Thinking about it a bit more, maybe we can just do some magic to make things work?  Say, if you specify `__attribute__((target("sve"))) __arm_streaming_compatible`, and the caller is in streaming mode, allow the call even if the caller doesn't have SVE proper.

https://github.com/llvm/llvm-project/pull/92427


More information about the cfe-commits mailing list