4 ms·
> C with AVX intrinsics or C with NEON intrinsics or C with SVE intrinsics is also 100% non-portable That’s not true because C with SIMD intrinsics is portable
by Const-me 2y ago
> C with AVX intrinsics or C with NEON intrinsics or C with SVE intrinsics is also 100% non-portable
That’s not true because C with SIMD intrinsics is portable across operating systems. Due to differences in calling conventions and other low-level things, assembly is specific to a combination of target ISA and target OS.
Here’s a real-life example what happens when assembly code fails to preserve SSE vector registers specified as non-volatile in the ABI convention of the target OS: https://issues.chromium.org/issues/40185629 https://issues.chromium.org/issues/40185629
- mort96 2y agoThanks, this is a good point!