SVE Instruction List by Dougall Johnson
SPLICE: Splice two vectors under predicate control
SPLICE Zd.S, Pv, { Zn1.S, Zn2.S } (SVE2 (SME
svfloat32_t svsplice[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2)
svint32_t svsplice[_s32](svbool_t pg, svint32_t op1, svint32_t op2)
svuint32_t svsplice[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2)
128-bit SVE
Take the contiguous 32-bit lanes from (2), between the first and last corresponding set predicate bits in (1) (inclusive), and move them to the low lanes of (4). Any remaining high lanes in (4) are filled with the low elements from (3).
256-bit SVE
Take the contiguous 32-bit lanes from (2), between the first and last corresponding set predicate bits in (1) (inclusive), and move them to the low lanes of (4). Any remaining high lanes in (4) are filled with the low elements from (3).
512-bit SVE
Take the contiguous 32-bit lanes from (2), between the first and last corresponding set predicate bits in (1) (inclusive), and move them to the low lanes of (4). Any remaining high lanes in (4) are filled with the low elements from (3).
Larger sizes
1024-bit SVE
Take the contiguous 32-bit lanes from (2), between the first and last corresponding set predicate bits in (1) (inclusive), and move them to the low lanes of (4). Any remaining high lanes in (4) are filled with the low elements from (3).
2048-bit SVE
Take the contiguous 32-bit lanes from (2), between the first and last corresponding set predicate bits in (1) (inclusive), and move them to the low lanes of (4). Any remaining high lanes in (4) are filled with the low elements from (3).
Report mistakes or give feedback
Inspired by and based on the x86/x64 SIMD Instruction List by Daytime.