18.31 NEON intrinsics for reversing vector elements (swap endianness)

VREVn.m reverses the order of the m-bit lanes within a set that is n bits wide.

int8x8_t     vrev64_s8(int8x8_t vec);      // VREV64.8 d0,d0 
int16x4_t    vrev64_s16(int16x4_t vec);    // VREV64.16 d0,d0
int32x2_t    vrev64_s32(int32x2_t vec);    // VREV64.32 d0,d0
uint8x8_t    vrev64_u8(uint8x8_t vec);     // VREV64.8 d0,d0 
uint16x4_t   vrev64_u16(uint16x4_t vec);   // VREV64.16 d0,d0
uint32x2_t   vrev64_u32(uint32x2_t vec);   // VREV64.32 d0,d0
poly8x8_t    vrev64_p8(poly8x8_t vec);     // VREV64.8 d0,d0
poly16x4_t   vrev64_p16(poly16x4_t vec);   // VREV64.16 d0,d0 
float32x2_t  vrev64_f32(float32x2_t vec);  // VREV64.32 d0,d0
int8x16_t    vrev64q_s8(int8x16_t vec);    // VREV64.8 q0,q0 
int16x8_t    vrev64q_s16(int16x8_t vec);   // VREV64.16 q0,q0
int32x4_t    vrev64q_s32(int32x4_t vec);   // VREV64.32 q0,q0
uint8x16_t   vrev64q_u8(uint8x16_t vec);   // VREV64.8 q0,q0 
uint16x8_t   vrev64q_u16(uint16x8_t vec);  // VREV64.16 q0,q0
uint32x4_t   vrev64q_u32(uint32x4_t vec);  // VREV64.32 q0,q0
poly8x16_t   vrev64q_p8(poly8x16_t vec);   // VREV64.8 q0,q0
poly16x8_t   vrev64q_p16(poly16x8_t vec);  // VREV64.16 q0,q0
float32x4_t  vrev64q_f32(float32x4_t vec); // VREV64.32 q0,q0
int8x8_t     vrev32_s8(int8x8_t vec);      // VREV32.8 d0,d0 
int16x4_t    vrev32_s16(int16x4_t vec);    // VREV32.16 d0,d0
uint8x8_t    vrev32_u8(uint8x8_t vec);     // VREV32.8 d0,d0 
uint16x4_t   vrev32_u16(uint16x4_t vec);   // VREV32.16 d0,d0
poly8x8_t    vrev32_p8(poly8x8_t vec);     // VREV32.8 d0,d0 
int8x16_t    vrev32q_s8(int8x16_t vec);    // VREV32.8 q0,q0 
int16x8_t    vrev32q_s16(int16x8_t vec);   // VREV32.16 q0,q0
uint8x16_t   vrev32q_u8(uint8x16_t vec);   // VREV32.8 q0,q0 
uint16x8_t   vrev32q_u16(uint16x8_t vec);  // VREV32.16 q0,q0
poly8x16_t   vrev32q_p8(poly8x16_t vec);   // VREV32.8 q0,q0 
int8x8_t     vrev16_s8(int8x8_t vec);      // VREV16.8 d0,d0 
uint8x8_t    vrev16_u8(uint8x8_t vec);     // VREV16.8 d0,d0 
poly8x8_t    vrev16_p8(poly8x8_t vec);     // VREV16.8 d0,d0 
int8x16_t    vrev16q_s8(int8x16_t vec);    // VREV16.8 q0,q0 
uint8x16_t   vrev16q_u8(uint8x16_t vec);   // VREV16.8 q0,q0 
poly8x16_t   vrev16q_p8(poly8x16_t vec);   // VREV16.8 q0,q0 
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.