SVE Instruction List by Dougall Johnson
# USDOT (indexed): Unsigned by signed integer indexed dot product

USDOT Zda.S, Zn.B, Zm.B[imm] (SVE+I8MM (SME+I8MM

svint32_t svusdot_lane[_s32](svint32_t op1, svuint8_t op2, svint8_t op3, uint64_t imm_index)

## 128-bit SVE

For each group of four signed 8-bit integers from (1) and unsigned 8-bit integers from (2), compute the dot-product, then add the result to the corresponding 32-bit integer accumulator from (3), setting (4) to the total. Within each 128-bit segment, the group of four values used from (1) is specified by `imm`

.

## 256-bit SVE

For each group of four signed 8-bit integers from (1) and unsigned 8-bit integers from (2), compute the dot-product, then add the result to the corresponding 32-bit integer accumulator from (3), setting (4) to the total. Within each 128-bit segment, the group of four values used from (1) is specified by `imm`

.

## 512-bit SVE

For each group of four signed 8-bit integers from (1) and unsigned 8-bit integers from (2), compute the dot-product, then add the result to the corresponding 32-bit integer accumulator from (3), setting (4) to the total. Within each 128-bit segment, the group of four values used from (1) is specified by `imm`

.

## Larger sizes

## 1024-bit SVE

For each group of four signed 8-bit integers from (1) and unsigned 8-bit integers from (2), compute the dot-product, then add the result to the corresponding 32-bit integer accumulator from (3), setting (4) to the total. Within each 128-bit segment, the group of four values used from (1) is specified by `imm`

.

## 2048-bit SVE

For each group of four signed 8-bit integers from (1) and unsigned 8-bit integers from (2), compute the dot-product, then add the result to the corresponding 32-bit integer accumulator from (3), setting (4) to the total. Within each 128-bit segment, the group of four values used from (1) is specified by `imm`

.

Report mistakes or give feedback

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