12.07.2015 Views

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

NEON ベ ク ト ル 化 コ ンパイ ラの 使 用3.2 NEON コー ド の 記 述このセクショ ンでは、 NEON ユニ ッ ト の コー ド の 記 述 方 法 について 概 説 し ます。 NEON 上 で コー ド を 実 行 するには、 以 下 の 方 法 があ り ます。• アセンブ リ 言 語 で 記 述 するか、 C の 組 み 込 みアセンブ リ 言 語 を 使 用 し、NEON 命 令 を 直 接 使 用 し ます。• NEON の C 言 語 の 拡 張 機 能 を 使 用 し て、 C または C++ で 記 述 し ます。• NEON 命 令 を 使 用 する ために 最 適 化 さ れた ラ イ ブ ラ リ ルーチン を 呼 び 出します。• 自 動 ベ ク ト ル 化 を 使 用 し て、 ループを NEON 用 にベク ト ル 化 し ます。3.2.1 NEON の C 拡 張 機 能NEON の C 拡 張 機 能 は、 C から NEON ユニ ッ ト へのア ク セス を 可 能 にするために <strong>ARM</strong> に よ って 定 義 さ れた 新 し いデータ 型 およびコ ンパイ ラ 組 み 込 み 関数 のセ ッ ト です。 ベ ク タ 関 数 の 大 部 分 は NEON ユニ ッ ト で 使 用 可 能 なベ ク タ命 令 に 直 接 マ ッ ピ ング さ れ、 NEON 拡 張 <strong>ARM</strong> C コンパイラによってインラインでコンパイルされます。 こ れら の 拡 張 機 能 では、 C レベルのパフォーマンスを 達 成 でき、 アセンブリ 言 語 のコーディ ングによって 得 られるパフォーマンスに 匹 敵 します。『コンパイ ラ リ ファレンスガイ ド』 の 「 付 録 E NEON サポー ト の 使 用 」 を 参 照して 下 さい。3.2.2 自 動 ベ ク ト ル 化明 示 的 な NEON 命 令 を 記 述 する 代 わ り にベ ク ト ル 化 可 能 なループを コーデ ィングする と、 プロセ ッ サ 間 のコード の 移 植 性 が 保 たれます。 手 作 業 で コーデ ィ ング し たベク ト ル 化 と 同 等 のパフ ォーマン ス レベルを よ り 簡 単 に 達 成 できます。例 3-1 は、 Cortex-A8 プ ロ セ ッ サで 自 動 ベ ク ト ル 化 を 行 う コ マン ド ラ イ ンオプションの 例 を 示 しています。例 3-1 自 動 ベク ト ル 化armcc --vectorize --cpu=Cortex-A8 -O3 -Otime -c file.c<strong>ARM</strong> DUI 0205IJ Copyright © 2002-2010 <strong>ARM</strong> Limited. All rights reserved. 3-3ID 100419Non-Confidential,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!