https://github.com/sdesmalen-arm closed
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
https://github.com/paulwalker-arm approved this pull request.
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
rsandifo-arm wrote:
> clang specifically diagnoses always_inline functions. So for example, say you
> want to write something like:
>
> ```
> #include
> __attribute__((always_inline, target("+sve")))
> static inline void f(void* p) __arm_streaming_compatible {
> *(svuint32_t*)p =
efriedma-quic wrote:
clang specifically diagnoses always_inline functions. So for example, say you
want to write something like:
```
#include
__attribute__((always_inline, target("+sve")))
static inline void f(void* p) __arm_streaming_compatible {
*(svuint32_t*)p = svmul_m(svptrue_b32(),
rsandifo-arm wrote:
> > 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
efriedma-quic wrote:
> 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.
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
https://github.com/efriedma-quic edited
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
rsandifo-arm wrote:
> However we choose to emit this particular builtin, should we provide a way to
> write a function like this? Like, the caller has to either support sve, or
> have streaming enabled. Maybe call it __arm_streaming_compatible_requires_sve.
I'd like to make two (probably
efriedma-quic wrote:
However we choose to emit this particular builtin, should we provide a way to
write a function like this? Like, the caller has to either support sve, or
have streaming enabled. Maybe call it __arm_streaming_compatible_requires_sve.
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Sander de Smalen (sdesmalen-arm)
Changes
The intrinsics are currently defined as:
__aio __attribute__((target("sve")))
svint8_t svreinterpret_s8(svuint8_t op) __arm_streaming_compatible {
return
https://github.com/sdesmalen-arm created
https://github.com/llvm/llvm-project/pull/92427
The intrinsics are currently defined as:
__aio __attribute__((target("sve")))
svint8_t svreinterpret_s8(svuint8_t op) __arm_streaming_compatible {
return __builtin_sve_reinterpret_s8_u8(op);
}
12 matches
Mail list logo