You copied the Doc URL to your clipboard.

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 43 lists the vector data types.

Table 43. 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
float16x4_tfloat16x8_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 in Table 43.

Note

The vector data types and arrays of the vector data types cannot be initialized by direct literal assignment. You must initialize them using one of the load intrinsics. See Table 44.

Was this page helpful? Yes No