SVE Instruction List by Dougall Johnson
# LD1H (scalar plus vector): Gather load unsigned halfwords to vector (vector index)

LD1H { Zt.S }, Pg/Z, [Xn, Zm.S, SXTW #1] (SVE+NS

LD1H { Zt.S }, Pg/Z, [Xn, Zm.S, UXTW #1] (SVE+NS

svint32_t svld1uh_gather_[s32]index_s32(svbool_t pg, const uint16_t *base, svint32_t indices)

svuint32_t svld1uh_gather_[s32]index_u32(svbool_t pg, const uint16_t *base, svint32_t indices)

svint32_t svld1uh_gather_[u32]index_s32(svbool_t pg, const uint16_t *base, svuint32_t indices)

svuint32_t svld1uh_gather_[u32]index_u32(svbool_t pg, const uint16_t *base, svuint32_t indices)

## 128-bit SVE

Gather (load) and zero extend 16-bit values into the 32-bit elements of (3), from a base address (Xn/base), plus each corresponding sign-or-zero-extended 32-bit offset from (2) multiplied by two. If the predicate bit from (1) corresponding to an element in (3) is zero, that load is skipped, and cannot cause a fault, and the element is set to zero.

## 256-bit SVE

Gather (load) and zero extend 16-bit values into the 32-bit elements of (3), from a base address (Xn/base), plus each corresponding sign-or-zero-extended 32-bit offset from (2) multiplied by two. If the predicate bit from (1) corresponding to an element in (3) is zero, that load is skipped, and cannot cause a fault, and the element is set to zero.

## 512-bit SVE

Gather (load) and zero extend 16-bit values into the 32-bit elements of (3), from a base address (Xn/base), plus each corresponding sign-or-zero-extended 32-bit offset from (2) multiplied by two. If the predicate bit from (1) corresponding to an element in (3) is zero, that load is skipped, and cannot cause a fault, and the element is set to zero.

## Larger sizes

## 1024-bit SVE

Gather (load) and zero extend 16-bit values into the 32-bit elements of (3), from a base address (Xn/base), plus each corresponding sign-or-zero-extended 32-bit offset from (2) multiplied by two. If the predicate bit from (1) corresponding to an element in (3) is zero, that load is skipped, and cannot cause a fault, and the element is set to zero.

## 2048-bit SVE

Gather (load) and zero extend 16-bit values into the 32-bit elements of (3), from a base address (Xn/base), plus each corresponding sign-or-zero-extended 32-bit offset from (2) multiplied by two. If the predicate bit from (1) corresponding to an element in (3) is zero, that load is skipped, and cannot cause a fault, and the element is set to zero.

Report mistakes or give feedback

Inspired by and based on the x86/x64 SIMD Instruction List by Daytime.