![]() |
AI Engine Intrinsics User Guide (AIE) v2025.2
|
Pack/unpack operations convert between two representations of vector types. More...
Pack/unpack operations convert between two representations of vector types.
Pack a vector of 16-bit values to a vector of 8-bit values. Use put_mcd intrinsics for pack.
Unpack a vector 8-bit values to a vector of 16-bit values. For further details on unpack intrinsics, see the Updates page.
Vector Packing Operations | |
| v16int8 | pack (v16int16 vec) |
| Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16. | |
| v16uint8 | upack (v16int16 vec) |
| Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16. | |
| v32int8 | pack (v32int16 vec) |
| Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16. | |
| v32uint8 | upack (v32int16 vec) |
| Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16. | |
Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16.
Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16.
Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16.
Pack vectors and store to memory These intrinsics use the saturation value from the control register here: Control Register. Rounding is not done. No status flags are updated. These intrinsics can only be used coupled with a memory access operation. Ex: v16int8* ptr = pack(vec);//vec if of type v16int16.