ベクタのデータ型

次のデータ型は、ベクタを表すために定義されています。NEON ベクタのデータ型は、次のパターンに従って命名されます。

 <type><size>x<number of lanes>_t

例えば、int16x4_t は 4 つのレーンからなるベクタであり、各ベクタに符号付きの 16 ビット整数が 1 つ含まれています。Table 43 にベクタのデータ型を一覧で示します。

Table 43. ベクタのデータ型

int8x8_tint8x16_t
int16x4_tint16x8_t
int32x2_tint32x4_t
int64x1_tint64x2_t
uint8x8_tuint8x16_t
uint16x4_tuint16x8_t
uint32x2_tuint32x4_t
uint64x1_tuint64x2_t
float16x4_tfloat16x8_t
float32x2_tfloat32x4_t
poly8x8_tpoly8x16_t
poly16x4_tpoly16x8_t

コンパイラ組み込み関数の中には、次のようなベクタ型の配列を使用するものがあります。

<type><size>x<number of lanes>x<length of array>_t

これらの型は、val という 1 つの要素を持つ通常の C 構造体として処理されます。

サンプル構造体の定義は次のようになります。

	struct int16x4x2_t
	{
	    int16x4_t val[2];
	};

Table 43 のいずれのベクタ型に関しても、配列長が 2 ~ 4 の配列型が定義されています。

Note

ベクタデータ型およびベクタデータ型の配列を、直接のリテラルな代入で初期化することはできません。ロードコンパイラ組み込み関数のいずれを使用して初期化する必要があります。詳細については、Table 44を参照して下さい。

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711