Microsoft Visual Studio 2022 et les conversions de nombre en virgule flottante en nombre entier

Par:
fredericmazue

mer, 15/12/2021 - 11:46

Microsoft Visual Studio 2019 a modifié certaines conversions de virgule flottante en nombre entier pour l'architecture Intel (IA). Lors du ciblage de l'IA 32 bits (x86), la plupart des conversions correspondent aux instructions de conversion Intel AVX-512. Pour les entiers signés, c'est la même chose que Visual Studio 2017. Avec les entiers non signés, les résultats des conversions non valides peuvent être différents. Avec IA 64 bits (x64), les instructions AVX-512 sont utilisées lorsque /arch:AVX512 est sélectionné, mais sinon il n'y a eu aucun changement par rapport à VS2017. Microsoft n'avait pas annoncé ce changement et n'avait pas fourni d'option de compatibilité descendante avant la version 16.7.

Par défaut, Visual Studio 2022 revient à la façon dont Visual Studio 2017 a géré ces conversions. Il conserve également la possibilité d'utiliser des conversions compatibles avec AVX-512.

Plus d'informations dans ce billet de Microsoft.