Názor k článku Použití instrukcí SSE a AVX pro zrychlení bitových operací od linuxák - Tohle s architekturou nesouvisí. C++ překladač nemusí invalidovat...

  • Článek je starý, nové názory již nelze přidávat.
  • 23. 11. 2022 11:52

    linuxák

    Tohle s architekturou nesouvisí. C++ překladač nemusí invalidovat data v registrech (načítat je znovu), pokud se do paměti ukládá přes pointer jiného typu. Je to optimalizace. Uvedený program tohle porušuje, ukládá do paměti int64 hodnotu a potom ze stejného místa čte int16 hodnotu. Překladač ale z paměti int16 hodnotu nemusí načíst, protože strict aliasing rule říká, že se nesmí aliasovat pointery různého typu.