[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