[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