E.3.16. 从向量提取向量线

以下内在函数从向量提取单条向量线(元素)。


uint8_t   vget_lane_u8(uint8x8_t vec, __constrange(0,7) int lane);     // VMOV.U8 r0, d0[0] 

uint16_t  vget_lane_u16(uint16x4_t vec, __constrange(0,3) int lane);   // VMOV.U16 r0, d0[0]

uint32_t  vget_lane_u32(uint32x2_t vec, __constrange(0,1) int lane);   // VMOV.32 r0, d0[0] 

int8_t    vget_lane_s8(int8x8_t vec, __constrange(0,7) int lane);      // VMOV.S8 r0, d0[0] 

int16_t   vget_lane_s16(int16x4_t vec, __constrange(0,3) int lane);    // VMOV.S16 r0, d0[0]

int32_t   vget_lane_s32(int32x2_t vec, __constrange(0,1) int lane);    // VMOV.32 r0, d0[0] 

poly8_t   vget_lane_p8(poly8x8_t vec, __constrange(0,7) int lane);     // VMOV.U8 r0, d0[0] 

poly16_t  vget_lane_p16(poly16x4_t vec, __constrange(0,3) int lane);   // VMOV.U16 r0, d0[0]

float32_t vget_lane_f32(float32x2_t vec, __constrange(0,1) int lane);  // VMOV.32 r0, d0[0] 

uint8_t   vgetq_lane_u8(uint8x16_t vec, __constrange(0,15) int lane);  // VMOV.U8 r0, d0[0] 

uint16_t  vgetq_lane_u16(uint16x8_t vec, __constrange(0,7) int lane);  // VMOV.U16 r0, d0[0]

uint32_t  vgetq_lane_u32(uint32x4_t vec, __constrange(0,3) int lane);  // VMOV.32 r0, d0[0] 

int8_t    vgetq_lane_s8(int8x16_t vec, __constrange(0,15) int lane);   // VMOV.S8 r0, d0[0] 

int16_t   vgetq_lane_s16(int16x8_t vec, __constrange(0,7) int lane);   // VMOV.S16 r0, d0[0]

int32_t   vgetq_lane_s32(int32x4_t vec, __constrange(0,3) int lane);   // VMOV.32 r0, d0[0] 

poly8_t   vgetq_lane_p8(poly8x16_t vec, __constrange(0,15) int lane);  // VMOV.U8 r0, d0[0] 

poly16_t  vgetq_lane_p16(poly16x8_t vec, __constrange(0,7) int lane);  // VMOV.U16 r0, d0[0]

float32_t vgetq_lane_f32(float32x4_t vec, __constrange(0,3) int lane); // VMOV.32 r0, d0[0] 

int64_t   vget_lane_s64(int64x1_t vec, __constrange(0,0) int lane);    // VMOV r0,r0,d0     

uint64_t  vget_lane_u64(uint64x1_t vec, __constrange(0,0) int lane);   // VMOV r0,r0,d0     

int64_t   vgetq_lane_s64(int64x2_t vec, __constrange(0,1) int lane);   // VMOV r0,r0,d0     

uint64_t  vgetq_lane_u64(uint64x2_t vec, __constrange(0,1) int lane);  // VMOV r0,r0,d0     

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential