Closed p0nce closed 2 years ago
Very common pattern.
Fastest on LDC: (only make a difference in -O0)
{ __m128 r = void; r.ptr[0] = e3; // .ptr doesn't matter here r.ptr[1] = e2; r.ptr[2] = e1; r.ptr[3] = e0; return r; }
This saves instructions in debug mode. .ptr doesn't change anything in both LDC and GDC, on all optimization levels.
The fun thing is that on GDC the fastest is also the same, and wins a bit in all optimization levels with the = void;
= void;
_mm_setr_ps
Marked many places with PERF tag, where a =void; could be beneficial in -O0
=void;
Very common pattern.
Fastest on LDC: (only make a difference in -O0)
This saves instructions in debug mode. .ptr doesn't change anything in both LDC and GDC, on all optimization levels.
The fun thing is that on GDC the fastest is also the same, and wins a bit in all optimization levels with the
= void;
_mm_setr_ps