-qarch
種類
@PROCESS
無。
用途
指定可執行程式碼的處理器架構或架構系列。 這可讓編譯器充分利用架構特有或架構系列通用的機器指令。
語法
預設值
- -qarch=pwr4
- -qarch=auto 當 -O4 或 -O5 生效時
參數
- 自動
- 自動偵測編譯機器的特定架構。 它假設執行環境與編譯環境相同。 如果已設定或隱含 -O4 或 -O5 選項,則會隱含此選項。
- 太平洋公司
- 此子選項已淘汰。 即使仍被接受,也會無聲自動升級至 -qarch=pwr4。
- ppc64
- 此子選項已淘汰。 即使仍被接受,也會無聲自動升級至 -qarch=pwr4。
- ppc64gr
- 此子選項已淘汰。 即使仍被接受,也會無聲自動升級至 -qarch=pwr4。
- ppc64grsq
- 此子選項已淘汰。 即使仍被接受,也會無聲自動升級至 -qarch=pwr4。
- ppc64v
- 產生具有向量處理器之通用 PowerPC® 晶片的指示,例如 PowerPC 970。 在 32 位元或 64 位元模式中有效。
- ppc970
- 產生特定於 PowerPC 970 架構的指示。
- ppcgr
- 此子選項已淘汰。 即使仍被接受,也會無聲自動升級至 -qarch=pwr4。
- pwr4
- 產生物件程式碼,其中包含將在 POWER4、 POWER5、 POWER5+、 POWER6®、 POWER7®、 POWER7+、 POWER8®、 POWER9™ 或 PowerPC 970 硬體平台上執行的指示。
- pwr5
- 產生物件程式碼,其中包含將在 POWER5、 POWER5+、 POWER6、 POWER7、 POWER7+、 POWER8 或 POWER9 硬體平台上執行的指示。
- pwr5x
- 產生物件程式碼,其中包含將在 POWER5+、 POWER6、 POWER7、 POWER7+、 POWER8 或 POWER9 硬體平台上執行的指示。
- pwr6
- 產生物件程式碼,其中包含將在以 POWER6 架構模式執行的 POWER6 硬體平台上執行的指示,或 POWER7、 POWER7+、 POWER8 或 POWER9 硬體平台。
- pwr6e
- 產生物件程式碼,其中包含將在以 POWER6 加強模式執行之 POWER6 硬體平台上執行的指示。
- pwr7
- 產生物件程式碼,其中包含將在 POWER7、 POWER7+、 POWER8 或 POWER9 硬體平台上執行的指示。
- pwr8
- 產生物件程式碼,其中包含將在 POWER8 及 POWER9 硬體平台上執行的指示。
- pwr9
- 產生物件程式碼,其中包含將在 POWER9 硬體平台上執行的指示。
用法
所有 PowerPC 機器都共用一組共同的指令,但也可能包括給定處理器或處理器系列特有的其他指令。 使用 -qarch 選項將編譯的特定架構設為目標,會產生程式碼,可能不會在其他架構上執行,但會為選取的架構提供最佳效能。 如果您想要在特定架構上達到最大效能,且不會在其他架構上使用程式,請使用適當的架構選項。 如果您想要產生可在多個架構上執行的程式碼,請指定支援一組架構的 -qarch 子選項。 表 1 顯示不同處理器架構及其代表 -qarch 子選項所支援的特性:
| 架構 | 圖形支援 | 平方根支援 | 64 位元支援 | 向量處理支援 | 大型頁面支援 |
|---|---|---|---|---|---|
| pwr4 | 是 | 是 | 是 | 否 | 是 |
| pwr5 | 是 | 是 | 是 | 否 | 是 |
| pwr5x | 是 | 是 | 是 | 否 | 是 |
| 太平洋公司 | 是 | 是 | 是 | 否 | 是 |
| ppc64 | 是 | 是 | 是 | 否 | 是 |
| ppc64gr | 是 | 是 | 是 | 否 | 是 |
| ppc64grsq | 是 | 是 | 是 | 否 | 是 |
| ppc64v | 是 | 是 | 是 | VMX | 是 |
| ppc970 | 是 | 是 | 是 | VMX | 是 |
| pwr6 | 是 | 是 | 是 | VMX | 是 |
| pwr6e | 是 | 是 | 是 | VMX | 是 |
| pwr7 | 是 | 是 | 是 | VMX、VSX | 是 |
| pwr8 | 是 | 是 | 是 | VMX、VSX | 是 |
| pwr9 | 是 | 是 | 是 | VMX、VSX | 是 |
附註: 向量多媒體延伸 (VMX) 和向量純量延伸 (VSX) 是用於向量處理的處理器指示。
對於任何給定的 -qarch 設定,編譯器會預設為特定的相符 -qtune 設定,這可以提供其他效能改進。 或者,如果您以群組引數指定 -qarch ,則可以將 -qtune 指定為 auto ,或在群組中提供特定架構。 如需一起使用 -qarch 和 -qtune 的詳細資訊,請參閱 -qtune。
對於給定的應用程式,請確保在編譯其每一個原始檔時指定相同的 -qarch 設定。 雖然鏈結器和載入器可能會偵測到以不相容 -qarch 設定編譯的物件檔,但您不應該依賴它。
範例
若要指定從
myprogram.f 編譯的可執行程式 testing 要在具有 VSX 指示支援的電腦上執行,例如 power8,請輸入:xlf -o testing myprogram.f -qarch=pwr8