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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to