ライトスルー対応ストレージまたはキャッシュ禁止ストレージが参照可能であることをコンパイラーに通知する。
-qdirectstorage コンパイラー・オプションは、ライトスルー対応またはキャッシュ禁止のストレージが参照される可能性があること、および適切なコンパイラー出力を生成すべきであることを、コンパイラーに通知します。
PowerPC アーキテクチャーを使用すると、キャッシュ編成のさまざまなインプリメンテーションが可能になります。確実にアプリケーションをすべてのインプリメンテーションで正しく実行するためには、さまざまな命令およびデータ・キャッシュの存在を想定し、それに従ってアプリケーションをプログラムする必要があります。
関数を確実に正しく実行するため、プログラムで指定されたストレージ管理属性、および実行されている関数に応じて、キャッシュ命令を使用する場合があります。
例えば、dcbz 命令は、データのブロックをキャッシュに割り振ってから、それを一連のゼロに初期化します。 dcbz 命令は、データの大きなブロックをゼロ化する場合にパフォーマンスを上げるために使用できますが、以下のいずれかの条件下で位置合わせエラーが発生するため、慎重に使用する必要があります。
- 命令によって指定されたキャッシュ・ブロックが、キャッシュ禁止とマークされたメモリー領域にある。
- キャッシュがライトスルー・モードである。
- L1 Dcache か L2 キャッシュが使用不可である。
-qdirectstorage を指定すると、dcbz 命令の生成を抑制し、上記の位置合わせエラーが回避されます。