#pragma altivec_vrsave ディレクティブを使用可能にすると、関数 prolog および epilog は、VRSAVE レジスターを保守するためのコードを組み込みます。
ここで、プラグマ設定では以下が行われます。
on 関数 prolog および epilog は、VRSAVE レジスターを保守するためのコードを組み込みます。 off 関数 prolog および epilog は、 VRSAVE レジスターを保守するためのコードを組み込みません。 allon altivec_vrsave プラグマを含んだ関数は、 VRSAVE レジスターのすべてのビットを 1 に設定して、コンテキストの切り替えが発生した場合にすべての vector を使用して保管するように指示します。
VRSAVE レジスター内の各ビットは、vector レジスターに対応し、1 に設定されている場合は、対応する vector レジスターが、コンテキストの切り替えが発生した場合に保管すべきデータを含んでいることを示します。
このプラグマは関数内でのみ使用することができ、プラグマが出現する関数に対して機能します。同一の関数内で、異なる設定を使用してこのプラグマを指定すると、エラー状態が発生します。