You copied the Doc URL to your clipboard.

Set all lanes to same value

These intrinsics set all lanes to the same value.

Load all lanes of vector to the same literal value

uint8x8_t   vdup_n_u8(uint8_t value);      // VDUP.8 d0,r0 
uint16x4_t  vdup_n_u16(uint16_t value);    // VDUP.16 d0,r0
uint32x2_t  vdup_n_u32(uint32_t value);    // VDUP.32 d0,r0
int8x8_t    vdup_n_s8(int8_t value);       // VDUP.8 d0,r0 
int16x4_t   vdup_n_s16(int16_t value);     // VDUP.16 d0,r0
int32x2_t   vdup_n_s32(int32_t value);     // VDUP.32 d0,r0
poly8x8_t   vdup_n_p8(poly8_t value);      // VDUP.8 d0,r0 
poly16x4_t  vdup_n_p16(poly16_t value);    // VDUP.16 d0,r0
float32x2_t vdup_n_f32(float32_t value);   // VDUP.32 d0,r0
uint8x16_t  vdupq_n_u8(uint8_t value);     // VDUP.8 q0,r0 
uint16x8_t  vdupq_n_u16(uint16_t value);   // VDUP.16 q0,r0
uint32x4_t  vdupq_n_u32(uint32_t value);   // VDUP.32 q0,r0
int8x16_t   vdupq_n_s8(int8_t value);      // VDUP.8 q0,r0 
int16x8_t   vdupq_n_s16(int16_t value);    // VDUP.16 q0,r0
int32x4_t   vdupq_n_s32(int32_t value);    // VDUP.32 q0,r0
poly8x16_t  vdupq_n_p8(poly8_t value);     // VDUP.8 q0,r0 
poly16x8_t  vdupq_n_p16(poly16_t value);   // VDUP.16 q0,r0
float32x4_t vdupq_n_f32(float32_t value);  // VDUP.32 q0,r0
int64x1_t   vdup_n_s64(int64_t value);     // VMOV d0,r0,r0
uint64x1_t  vdup_n_u64(uint64_t value);    // VMOV d0,r0,r0
int64x2_t   vdupq_n_s64(int64_t value);    // VMOV d0,r0,r0
uint64x2_t  vdupq_n_u64(uint64_t value);   // VMOV d0,r0,r0

uint8x8_t   vmov_n_u8(uint8_t value);      // VDUP.8 d0,r0 
uint16x4_t  vmov_n_u16(uint16_t value);    // VDUP.16 d0,r0
uint32x2_t  vmov_n_u32(uint32_t value);    // VDUP.32 d0,r0
int8x8_t    vmov_n_s8(int8_t value);       // VDUP.8 d0,r0 
int16x4_t   vmov_n_s16(int16_t value);     // VDUP.16 d0,r0
int32x2_t   vmov_n_s32(int32_t value);     // VDUP.32 d0,r0
poly8x8_t   vmov_n_p8(poly8_t value);      // VDUP.8 d0,r0 
poly16x4_t  vmov_n_p16(poly16_t value);    // VDUP.16 d0,r0
float32x2_t vmov_n_f32(float32_t value);   // VDUP.32 d0,r0
uint8x16_t  vmovq_n_u8(uint8_t value);     // VDUP.8 q0,r0 
uint16x8_t  vmovq_n_u16(uint16_t value);   // VDUP.16 q0,r0
uint32x4_t  vmovq_n_u32(uint32_t value);   // VDUP.32 q0,r0
int8x16_t   vmovq_n_s8(int8_t value);      // VDUP.8 q0,r0 
int16x8_t   vmovq_n_s16(int16_t value);    // VDUP.16 q0,r0
int32x4_t   vmovq_n_s32(int32_t value);    // VDUP.32 q0,r0
poly8x16_t  vmovq_n_p8(poly8_t value);     // VDUP.8 q0,r0 
poly16x8_t  vmovq_n_p16(poly16_t value);   // VDUP.16 q0,r0
float32x4_t vmovq_n_f32(float32_t value);  // VDUP.32 q0,r0
int64x1_t   vmov_n_s64(int64_t value);     // VMOV d0,r0,r0
uint64x1_t  vmov_n_u64(uint64_t value);    // VMOV d0,r0,r0
int64x2_t   vmovq_n_s64(int64_t value);    // VMOV d0,r0,r0
uint64x2_t  vmovq_n_u64(uint64_t value);   // VMOV d0,r0,r0

Load all lanes of the vector to the value of a lane of a vector

uint8x8_t   vdup_lane_u8(uint8x8_t vec, __constrange(0,7) int lane);     // VDUP.8 d0,d0[0] 
uint16x4_t  vdup_lane_u16(uint16x4_t vec, __constrange(0,3) int lane);   // VDUP.16 d0,d0[0]
uint32x2_t  vdup_lane_u32(uint32x2_t vec, __constrange(0,1) int lane);   // VDUP.32 d0,d0[0]
int8x8_t    vdup_lane_s8(int8x8_t vec, __constrange(0,7) int lane);      // VDUP.8 d0,d0[0] 
int16x4_t   vdup_lane_s16(int16x4_t vec, __constrange(0,3) int lane);    // VDUP.16 d0,d0[0]
int32x2_t   vdup_lane_s32(int32x2_t vec, __constrange(0,1) int lane);    // VDUP.32 d0,d0[0]
poly8x8_t   vdup_lane_p8(poly8x8_t vec, __constrange(0,7) int lane);     // VDUP.8 d0,d0[0] 
poly16x4_t  vdup_lane_p16(poly16x4_t vec, __constrange(0,3) int lane);   // VDUP.16 d0,d0[0]
float32x2_t vdup_lane_f32(float32x2_t vec, __constrange(0,1) int lane);  // VDUP.32 d0,d0[0]
uint8x16_t  vdupq_lane_u8(uint8x8_t vec, __constrange(0,7) int lane);    // VDUP.8 q0,d0[0] 
uint16x8_t  vdupq_lane_u16(uint16x4_t vec, __constrange(0,3) int lane);  // VDUP.16 q0,d0[0]
uint32x4_t  vdupq_lane_u32(uint32x2_t vec, __constrange(0,1) int lane);  // VDUP.32 q0,d0[0]
int8x16_t   vdupq_lane_s8(int8x8_t vec, __constrange(0,7) int lane);     // VDUP.8 q0,d0[0] 
int16x8_t   vdupq_lane_s16(int16x4_t vec, __constrange(0,3) int lane);   // VDUP.16 q0,d0[0]
int32x4_t   vdupq_lane_s32(int32x2_t vec, __constrange(0,1) int lane);   // VDUP.32 q0,d0[0]
poly8x16_t  vdupq_lane_p8(poly8x8_t vec, __constrange(0,7) int lane);    // VDUP.8 q0,d0[0] 
poly16x8_t  vdupq_lane_p16(poly16x4_t vec, __constrange(0,3) int lane);  // VDUP.16 q0,d0[0]
float32x4_t vdupq_lane_f32(float32x2_t vec, __constrange(0,1) int lane); // VDUP.32 q0,d0[0]
int64x1_t   vdup_lane_s64(int64x1_t vec, __constrange(0,0) int lane);    // VMOV d0,d0      
uint64x1_t  vdup_lane_u64(uint64x1_t vec, __constrange(0,0) int lane);   // VMOV d0,d0      
int64x2_t   vdupq_lane_s64(int64x1_t vec, __constrange(0,0) int lane);   // VMOV q0,q0      
uint64x2_t  vdupq_lane_u64(uint64x1_t vec, __constrange(0,0) int lane);  // VMOV q0,q0      
Was this page helpful? Yes No