On Wednesday, 17 December 2014 at 09:11:22 UTC, Don wrote:
So am I, the halffloat is much faster than any other implementation I've seen. The fast path for the conversion functions involves only a few machine instructions.

I had an extra speedup for it that made it optimal, but it requires a language primitive to dump excess hidden precision. We still need this, it is a fundamental operation (C tries to do it implicitly using "sequence points", but they don't actually work properly).

The intrinsics _mm_cvtph_ps and _mm_cvtps_ph converts 4 floats/halffloats with a latency of 4 clock cycles and a throughput of 1 per cycle on Haswell.


Reply via email to