-qarch
説明
コード (命令) の生成対象の汎用プロセッサー・アーキテクチャーを指定する。
一般に、-qarch オプションにより、コンパイルのための特定のアーキテクチャーをターゲットとして指定することができます。どの -qarch 設定についても、コンパイラーは特定のマッチングする -qtune 設定をデフォルトとして使用します。それによりさらにパフォーマンスが改善されます。
結果コードは他のアーキテクチャーで稼働しない可能性がありますが、選択されたアーキテクチャーでは最良のパフォーマンスを提供します。
複数のアーキテクチャー上で実行できるコードを生成するには、ppc、または ppc64 などのアーキテクチャーのグループをサポートする -qarch サブオプションを指定します。こうすると、すべてのサポートされるアーキテクチャー、すべての PowerPC アーキテクチャー、またはすべての 64 ビット PowerPC アーキテクチャーでそれぞれ実行されるコードが生成されます。-qarch サブオプションをグループ引数と一緒に指定する場合は、-qtune を auto として指定するか、またはグループ内の特定のアーキテクチャーを提供することができます。-qtune=auto の場合、コンパイラーは -qarch サブオプションによって指定されたグループ内のすべてのアーキテクチャー上で実行されるコードを生成しますが、コンパイルに使用されるマシンのアーキテクチャー上で最高のパフォーマンスを提供する命令シーケンスを選択してください。あるいは、パフォーマンスのチューニングのために、特定のアーキテクチャーをターゲットにすることができます。
構文

.-ppc64grsq-.
>>- -q--arch--=--+-auto------+---------------------------------><
+-pwr3------+
+-pwr4------+
+-pwr5------+
+-pwr5x-----+
+-ppc-------+
+-ppc64v----+
+-ppc64-----+
+-ppcgr-----+
+-ppc64gr---+
+-ppc970----+
+-rs64b-----+
'-rs64c-----'
ここで、使用可能なオプションは下記のようなプロセッサー・アーキテクチャーの幅広いファミリーまたはそれらのアーキテクチャー・ファミリーのサブグループを指定します。
auto |
- -O4 または -O5 が設定または暗黙指定されている場合は、このオプションが暗黙指定されます。
- コンパイルが行われるハードウェア・プラットフォームで実行される命令を含むオブジェクト・コードを生成します。
|
pwr3 |
- どの POWER3(TM)、POWER4(TM)、POWER5(TM)、POWER5+(TM) または PowerPC 970 ハードウェア・プラットフォームでも稼働する命令を含むオブジェクト・コードを作成します。
- _ARCH_PPC、
_ARCH_PPCGR、
_ARCH_PPC64、
_ARCH_PPC64GR、
_ARCH_PPC64GRSQ、
および _ARCH_PWR3 マクロを定義します。
|
pwr4 |
- POWER4、POWER5、POWER5+、または PowerPC 970 ハードウェア・プラットフォームで稼働する命令を含むオブジェクト・コードを作成します。
- _ARCH_PPC、
_ARCH_PPCGR、
_ARCH_PPC64、
_ARCH_PPC64GR、
_ARCH_PPC64GRSQ、
_ARCH_PWR3、および _ARCH_PWR4 マクロを定義します。
|
pwr5 |
- POWER5 または POWER5+ ハードウェア・プラットフォームで稼働する命令を含むオブジェクト・コードを生成します。
- _ARCH_PPC、
_ARCH_PPCGR、
_ARCH_PPC64、
_ARCH_PPC64GR、
_ARCH_PPC64GRSQ、
_ARCH_PWR3、
_ARCH_PWR4、および _ARCH_PWR5 マクロを定義します。
|
pwr5x |
- POWER5+ ハードウェア・プラットフォームで稼働する命令を含むオブジェクト・コードを作成します。
- _ARCH_PPC、
_ARCH_PPCGR、
_ARCH_PPC64、
_ARCH_PPC64GR、
_ARCH_PPC64GRSQ、
_ARCH_PWR3、
_ARCH_PWR4、
_ARCH_PWR5、および _ARCH_PWR5X
マクロを定義します。
|
ppc |
- 32 ビット・モードでは、32 ビット PowerPC ハードウェア・プラットフォームのすべてで実行される命令を含むオブジェクト・コードを生成します。
このサブオプションによって、コンパイラーは単精度データで使用する単精度命令を生成します。
- _ARCH_PPC マクロを定義します。
- -qarch=ppc を -q64 と共に指定すると、-qarch=ppc64grsq が暗黙指定されます。
|
ppc64 |
- どの 64 ビット PowerPC ハードウェア・プラットフォームでも稼働するオブジェクト・コードを作成します。
- このサブオプションは 32 ビット・モードでコンパイルするときに選択できますが、結果のオブジェクト・コードには、32 ビットの PowerPC プラットフォームで稼働したときに認識されなかったり異なる振る舞いをする命令が含まれる可能性があります。
- _ARCH_PPC、および _ARCH_PPC64
マクロを定義します。
|
ppcgr |
- 32 ビット・モードでは、オプションのグラフィックス命令をサポートする PowerPC プロセッサー用のオブジェクト・コードを作成します。
- -qarch=ppcgr を -q64 と一緒に指定すると、アーキテクチャーの設定が無音で -qarch=ppc64grsq にアップグレードされます。
- _ARCH_PPC、および _ARCH_PPCGR
マクロを定義します。
|
ppc64gr |
- オプションのグラフィックス命令をサポートする 64 ビットの PowerPC ハードウェア・プラットフォーム用のコードを作成します。
- _ARCH_PPC、_ARCH_PPCGR、_ARCH_PPC64、および _ARCH_PPC64GR マクロを定義します。
|
ppc64grsq |
- オプションのグラフィックス命令と平方根命令をサポートする 64 ビットの PowerPC ハードウェア・プラットフォーム用のコードを作成します。
- _ARCH_PPC、_ARCH_PPCGR、_ARCH_PPC64、
_ARCH_PPC64GR、および _ARCH_PPC64GRSQ マクロを定義します。
|
ppc64v |
- VMX プロセッサー (PowerPC 970 など) を持つ汎用 PowerPC チップの命令を生成します。32 ビットまたは 64 ビット・モードで有効です。
- _ARCH_PPC、_ARCH_PPCGR、_ARCH_PPC64、_ARCH_PPC64GR、_ARCH_PPC64GRSQ、_ARCH_PPC64V マクロを定義します。
|
ppc970 |
- PowerPC 970 アーキテクチャーに特定の命令を生成します。
- _ARCH_PPC、_ARCH_PPC64V、_ARCH_PPCGR、_ARCH_PPC64、_ARCH_PPC970、_ARCH_PWR3、_ARCH_PWR4、_ARCH_PPC64GR、および_ARCH_PPC64GRSQ マクロを定義します。
|
rs64b |
- RS64II プラットフォームで稼働するオブジェクト・コードを作成します。
- _ARCH_PPC、
_ARCH_PPCGR、
_ARCH_PPC64、
_ARCH_PPC64GR、
_ARCH_PPC64GRSQ、
および _ARCH_RS64B マクロを定義します。
|
rs64c |
- RS64III プラットフォームで稼働するオブジェクト・コードを作成します。
- _ARCH_PPC、
_ARCH_PPCGR、
_ARCH_PPC64、
_ARCH_PPC64GR、
_ARCH_PPC64GRSQ、および _ARCH_RS64C マクロを定義します。
|
注
特定のアーキテクチャーで最高のパフォーマンスを得たい場合、他のアーキテクチャーでプログラムを使用しないのであれば、適切なアーキテクチャー・オプションを使用してください。
-qarch=suboption は、 -qtune=suboption と共に使用することができます。
-qarch=suboption は、
命令の生成対象とするアーキテクチャーを指定し、
-qtune=suboption は、
コードの最適化対象とするターゲット・プラットフォームを指定します。
-qarch が -qtune なしで指定されている場合、コンパイラーは指定されたアーキテクチャーのデフォルトのチューニング・オプションを使用し、リストには有効な -qtune 設定が表示されます。
例
myprogram.c からコンパイルされた実行可能プログラム testing が 32 ビット PowerPC アーキテクチャーのコンピューターで稼働することを指定するには、以下のように入力します。
xlc -o testing myprogram.c -q32 -qarch=ppc
関連情報