18.21 NEON intrinsics for loading a single lane of a vector from a literal

These intrinsics set a single lane (element) within a vector.

uint8x8_t   vset_lane_u8(uint8_t value, uint8x8_t vec, 
              __constrange(0,7) int lane);                    // VMOV.8 d0[0],r0

uint16x4_t  vset_lane_u16(uint16_t value, uint16x4_t vec, 
              __constrange(0,3) int lane);                    // VMOV.16 d0[0],r0

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

int8x8_t    vset_lane_s8(int8_t value, int8x8_t vec,  
              __constrange(0,7) int lane);                    // VMOV.8 d0[0],r0

int16x4_t   vset_lane_s16(int16_t value, int16x4_t vec,  
              __constrange(0,3) int lane);                    // VMOV.16 d0[0],r0

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

poly8x8_t   vset_lane_p8(poly8_t value, poly8x8_t vec,  
              __constrange(0,7) int lane);                    // VMOV.8 d0[0],r0

poly16x4_t  vset_lane_p16(poly16_t value, poly16x4_t vec,  
              __constrange(0,3) int lane);                    // VMOV.16 d0[0],r0

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

uint8x16_t  vsetq_lane_u8(uint8_t value, uint8x16_t vec,  
              __constrange(0,15) int lane);                   // VMOV.8 d0[0],r0

uint16x8_t  vsetq_lane_u16(uint16_t value, uint16x8_t vec,  
              __constrange(0,7) int lane);                    // VMOV.16 d0[0],r0

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

int8x16_t   vsetq_lane_s8(int8_t value, int8x16_t vec,  
              __constrange(0,15) int lane);                   // VMOV.8 d0[0],r0

int16x8_t   vsetq_lane_s16(int16_t value, int16x8_t vec,  
              __constrange(0,7) int lane);                    // VMOV.16 d0[0],r0

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

poly8x16_t  vsetq_lane_p8(poly8_t value, poly8x16_t vec,  
              __constrange(0,15) int lane);                   // VMOV.8 d0[0],r0

poly16x8_t  vsetq_lane_p16(poly16_t value, poly16x8_t vec,  
              __constrange(0,7) int lane);                    // VMOV.16 d0[0],r0

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

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

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

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

uint64x2_t  vsetq_lane_u64(uint64_t value, uint64x2_t vec,  
              __constrange(0,1) int lane);                    // VMOV d0,r0,r0
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.