インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
変数と動的に割り当てられたメモリーがオブジェクト境界を越えてパディングされているとコンパイラーが仮定するかどうかを制御します。
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 基本命令をサポートしているアーキテクチャーでのみ利用できます。
Linux* および macOS*: | -qopt-assume-safe-padding -qno-opt-assume-safe-padding |
Windows*: | /Qopt-assume-safe-padding /Qopt-assume-safe-padding- |
なし
-qno-opt-assume-safe-padding |
コンパイラーは、変数と動的に割り当てられたメモリーがオブジェクト境界を越えてパディングされていると仮定しません。プログラムで指定されているサイズに従います。 |
このオプションは、変数と動的に割り当てられたメモリーがオブジェクト境界を越えてパディングされているとコンパイラーが仮定するかどうかを制御します。
[q または Q]opt-assume-safe-padding オプションが指定されると、コンパイラーは変数と動的に割り当てられたメモリーがパディングされていることを仮定します。これは、コードがプログラムで指定されたオブジェクト境界を越えて (最大 64 バイト) アクセスできることを意味します。
このオプションを指定すると、コンパイラーは静的および自動オブジェクトにはパディングを追加しませんが、オブジェクトがプログラムにある場合、コードがオブジェクト境界を越えて (最大 64 バイト) アクセスできることを仮定します。この仮定に対応するため、このオプションを指定する場合はプログラムの静的および自動オブジェクトのサイズを増やす必要があります。
このオプションを使用すると、メモリー操作のパフォーマンスが向上する可能性があります。
なし