rfnix<p>Today's been a fun ride down weird <a href="https://piaille.fr/tags/MSVC" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MSVC</span></a> <a href="https://piaille.fr/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://piaille.fr/tags/compiler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compiler</span></a> land, for some values of "fun".</p><p>I'm still flabbergasted that it generates multiple SIMD rounds of packed doubles/singles conversions with a half full xmm register for a seemingly innocuous line of math and a call to std::exp2f. Like, why not use regular math instructions if you want to vectorize with N=1 width? Are these lines really "optimized"?</p>