インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

データのアライメント

インテル® ストリーミング SIMD 拡張命令を使用してメモリーを操作する場合は、できる限り、16 バイトでアライメントされたデータで行ってください。インテル® アドバンスト・ベクトル・エクステンションを使用してメモリーを操作する場合は、できる限り、32 バイトでアライメントされたデータで行ってください。

F32vec4 および F64vec2 オブジェクトの各変数は、デフォルトで正しくアライメントされています。浮動小数点配列は自動的にはアライメントされないので注意してください。16 バイトでアライメントするには、__declspec を次のように使用します。

__declspec( align(16) ) float A[4];