ベクタからのレーンの抽出

これらのコンパイラ組み込み関数では、ベクタから 1 つのレーン(要素)を抽出します。

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 © 2010 ARM. All rights reserved.ARM DUI 0491BJ
Non-ConfidentialID011811