| |||
| Home > NEON and VFP Programming > General information > NEON and VFP data types | |||
Data type specifiers in NEON and VFP instructions consist of a letter indicating the type of data, usually followed by a number indicating the width. They are separated from the instruction mnemonic by a point. Table 5.5 shows the data types available in NEON instructions. Table 5.6 shows the data types available in VFP instructions.
Table 5.5. NEON data types
| 8-bit | 16-bit | 32-bit | 64-bit | |
|---|---|---|---|---|
| Unsigned integer | U8 | U16 | U32 | U64 |
| Signed integer | S8 | S16 | S32 | S64 |
| Integer of unspecified type | I8 | I16 | I32 | I64 |
| Floating-point number | not available | F16 | F32 (or F) | not available |
| Polynomial over {0,1} | P8 | P16 | not available | not available |
Table 5.6. VFP data types
| 16-bit | 32-bit | 64-bit | |
|---|---|---|---|
| Unsigned integer | U16 | U32 | not available |
| Signed integer | S16 | S32 | not available |
| Floating-point number | F16 | F32 (or F) | F64 (or D) |
See Polynomial arithmetic over {0,1} for further information about operations on polynomials over {0,1}.
The datatype of the second (or only) operand is specified in the instruction.
Most instructions have a restricted range of permitted data types. See the instruction pages for details. However, the data type description is flexible:
If the description specifies I, you can also use S or U data types
If only the data size is specified, you can specify a type (I, S, U, P or F)
If no data type is specified, you can specify a data type.
The F16 data type is only available
on systems that implement the half-precision architecture extension.