p0nce
p0nce
Also: same but with purity. Function that depend on, or change the rounding mode perhaps shouldn't be marked pure.
Can `pragma(inline, bool)` be used for the same effect? (some of the most used intrinsics are marked `pragma(inline, true)` )
When it was introduced `pragma(inline)` was supposed to take a compile-time parameter as argument (to inline or not) and I've never heard that you could put it before the function...
> and it is better to put it on the outside than on inside, because then perhaps we force codegen..? I don't get this.
In general my feeling about intel-intrinsics (vs vanilla code) currently is, from worst problem to least problem: 1. slower in debug (it _builds_ slower) with LDC. Tricks to enhance this...
Yields different results in arm64 in Travis Linux, and on macOS arm64 Baffling.
Reading the description, on x86 MFENCE is indeed stronger than SFENCE and LFENCE. Since no one will probably use intel-intrinsics for atomics work (core.atomic is way better), rather take the...
ARM equivalent with __dmb - _mm_mfence => `DMB ISH`. Encoded as CRm = 0b1011. "all memory accesses visible globally before instruction after MFENCE start" - _mm_sfence => `DMB ISHST`. Encoded...
OK, more correct. Still not completely 100% sure that `dmb ishld` is right translation for _mm_lfence and `dmb ishst` for _mm_sfence . It could well be `dmb ish` for both,...
The spec classify UB as illegal, say it in the DDoc.