Re: バグ報告スレッド 14 [ No.75 ]
メンテ
 2024/04/20 20:15
 通りすがり
ループ! 昔どこかで見たような…。

自動ベクター化
https://learn.microsoft.com/ja-jp/cpp/parallel/auto-parallelization-and-auto-vectorization?view=msvc-170#auto-vectorizer
> 自動ベクター化機能は、/arch スイッチで指定されていない命令を生成することもあります。
> これらの命令は、実行時チェックによって保護され、引き続きコードが正しく実行されることが確認されます。
> たとえば、/arch:SSE2 のコンパイル時に SSE4.2 命令が送出されることがあります。

全部のループ(for|while|do)直前に
#pragma loop( no_vector )
を付けるのは気が滅入りますが、
/d2Qvec-sse2only
という隠しオプションもあるようです(VS2022で効くかは不明)。
https://stackoverflow.com/questions/47800965/

余談です。
VSは2週に1〜2回更新されていますが、VS自体の更新はされていますでしょうか。
現在17.9.6ですが、17.9.5では
「古い CPU を搭載したマシンで発生するクラッシュを修正しました。」
なんてしょーもない修正もありました(こちらはVS自体がクラッシュするという意味ですが)。