E.3.13. 移位并插入

以下内在函数提供包含移位并插入的运算。

向量右移并插入


int8x8_t   vsri_n_s8(int8x8_t a, int8x8_t b, __constrange(1,8) int c);        // VSRI.8 d0,d0,#8  

int16x4_t  vsri_n_s16(int16x4_t a, int16x4_t b, __constrange(1,16) int c);    // VSRI.16 d0,d0,#16

int32x2_t  vsri_n_s32(int32x2_t a, int32x2_t b, __constrange(1,32) int c);    // VSRI.32 d0,d0,#32

int64x1_t  vsri_n_s64(int64x1_t a, int64x1_t b, __constrange(1,64) int c);    // VSRI.64 d0,d0,#64

uint8x8_t  vsri_n_u8(uint8x8_t a, uint8x8_t b, __constrange(1,8) int c);      // VSRI.8 d0,d0,#8  

uint16x4_t vsri_n_u16(uint16x4_t a, uint16x4_t b, __constrange(1,16) int c);  // VSRI.16 d0,d0,#16

uint32x2_t vsri_n_u32(uint32x2_t a, uint32x2_t b, __constrange(1,32) int c);  // VSRI.32 d0,d0,#32

uint64x1_t vsri_n_u64(uint64x1_t a, uint64x1_t b, __constrange(1,64) int c);  // VSRI.64 d0,d0,#64

poly8x8_t  vsri_n_p8(poly8x8_t a, poly8x8_t b, __constrange(1,8) int c);      // VSRI.8 d0,d0,#8

poly16x4_t vsri_n_p16(poly16x4_t a, poly16x4_t b, __constrange(1,16) int c);  // VSRI.16 d0,d0,#16

int8x16_t  vsriq_n_s8(int8x16_t a, int8x16_t b, __constrange(1,8) int c);     // VSRI.8 q0,q0,#8  

int16x8_t  vsriq_n_s16(int16x8_t a, int16x8_t b, __constrange(1,16) int c);   // VSRI.16 q0,q0,#16

int32x4_t  vsriq_n_s32(int32x4_t a, int32x4_t b, __constrange(1,32) int c);   // VSRI.32 q0,q0,#32

int64x2_t  vsriq_n_s64(int64x2_t a, int64x2_t b, __constrange(1,64) int c);   // VSRI.64 q0,q0,#64

uint8x16_t vsriq_n_u8(uint8x16_t a, uint8x16_t b, __constrange(1,8) int c);   // VSRI.8 q0,q0,#8  

uint16x8_t vsriq_n_u16(uint16x8_t a, uint16x8_t b, __constrange(1,16) int c); // VSRI.16 q0,q0,#16

uint32x4_t vsriq_n_u32(uint32x4_t a, uint32x4_t b, __constrange(1,32) int c); // VSRI.32 q0,q0,#32

uint64x2_t vsriq_n_u64(uint64x2_t a, uint64x2_t b, __constrange(1,64) int c); // VSRI.64 q0,q0,#64

poly8x16_t vsriq_n_p8(poly8x16_t a, poly8x16_t b, __constrange(1,8) int c);   // VSRI.8 q0,q0,#8

poly16x8_t vsriq_n_p16(poly16x8_t a, poly16x8_t b, __constrange(1,16) int c); // VSRI.16 q0,q0,#16

向量左移并插入


int8x8_t   vsli_n_s8(int8x8_t a, int8x8_t b, __constrange(0,7) int c);        // VSLI.8 d0,d0,#0 

int16x4_t  vsli_n_s16(int16x4_t a, int16x4_t b, __constrange(0,15) int c);    // VSLI.16 d0,d0,#0

int32x2_t  vsli_n_s32(int32x2_t a, int32x2_t b, __constrange(0,31) int c);    // VSLI.32 d0,d0,#0

int64x1_t  vsli_n_s64(int64x1_t a, int64x1_t b, __constrange(0,63) int c);    // VSLI.64 d0,d0,#0

uint8x8_t  vsli_n_u8(uint8x8_t a, uint8x8_t b, __constrange(0,7) int c);      // VSLI.8 d0,d0,#0 

uint16x4_t vsli_n_u16(uint16x4_t a, uint16x4_t b, __constrange(0,15) int c);  // VSLI.16 d0,d0,#0

uint32x2_t vsli_n_u32(uint32x2_t a, uint32x2_t b, __constrange(0,31) int c);  // VSLI.32 d0,d0,#0

uint64x1_t vsli_n_u64(uint64x1_t a, uint64x1_t b, __constrange(0,63) int c);  // VSLI.64 d0,d0,#0

poly8x8_t  vsli_n_p8(poly8x8_t a, poly8x8_t b, __constrange(0,7) int c);      // VSLI.8 d0,d0,#0

poly16x4_t vsli_n_p16(poly16x4_t a, poly16x4_t b, __constrange(0,15) int c);  // VSLI.16 d0,d0,#0

int8x16_t  vsliq_n_s8(int8x16_t a, int8x16_t b, __constrange(0,7) int c);     // VSLI.8 q0,q0,#0 

int16x8_t  vsliq_n_s16(int16x8_t a, int16x8_t b, __constrange(0,15) int c);   // VSLI.16 q0,q0,#0

int32x4_t  vsliq_n_s32(int32x4_t a, int32x4_t b, __constrange(0,31) int c);   // VSLI.32 q0,q0,#0

int64x2_t  vsliq_n_s64(int64x2_t a, int64x2_t b, __constrange(0,63) int c);   // VSLI.64 q0,q0,#0

uint8x16_t vsliq_n_u8(uint8x16_t a, uint8x16_t b, __constrange(0,7) int c);   // VSLI.8 q0,q0,#0 

uint16x8_t vsliq_n_u16(uint16x8_t a, uint16x8_t b, __constrange(0,15) int c); // VSLI.16 q0,q0,#0

uint32x4_t vsliq_n_u32(uint32x4_t a, uint32x4_t b, __constrange(0,31) int c); // VSLI.32 q0,q0,#0

uint64x2_t vsliq_n_u64(uint64x2_t a, uint64x2_t b, __constrange(0,63) int c); // VSLI.64 q0,q0,#0

poly8x16_t vsliq_n_p8(poly8x16_t a, poly8x16_t b, __constrange(0,7) int c);   // VSLI.8 q0,q0,#0

poly16x8_t vsliq_n_p16(poly16x8_t a, poly16x8_t b, __constrange(0,15) int c); // VSLI.16 q0,q0,#0

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