E.2. Vector data types

The following types are defined to represent vectors. NEON vector data types are named according to the following pattern:

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

For example, int16x4_t is a vector containing four lanes each containing a signed 16-bit integer. Table E.1 lists the vector data types.

Table E.1. Vector data types

int8x8_tint8x16_t
int16x4_tint16x8_t
int32x2_tint32x4_t
int64x1_tint64x2_t
uint8x8_tuint8x16_t
uint16x4_tuint16x8_t
uint32x2_tuint32x4_t
uint64x1_tuint64x2_t
float32x2_tfloat32x4_t
poly8x8_tpoly8x16_t
poly16x4_tpoly16x8_t

Some intrinsics use an array of vector types of the form:

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

These types are treated as ordinary C structures containing a single element named val.

An example structure definition is:

	struct int16x4x2_t
	{
	    int16x4_t val[2];
	};

There are array types defined for array lengths between 2 and 4, with any of the vector types listed above.

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential