SVE Instruction List by Dougall Johnson
See "PMLAL" in the exploration tools

PMLAL: Multi-vector polynomial multiply long and accumulate

PMLAL { Zda1.Q-Zda2.Q }, Zn.D, Zm.D (SVE-AES2+NS (SSVE-AES+AES2

128-bit SVE

Interpreting each 64-bit element from (1) and (2) as a ℤ2 polynomial, set each double-width element of (5) to the product of the corresponding even pair plus (3), and each element of (6) to the product of the corresponding odd pair plus (4). This can also be described as a carryless multiply-add, using exclusive-or for both the multiplication and the addition.

256-bit SVE

Interpreting each 64-bit element from (1) and (2) as a ℤ2 polynomial, set each double-width element of (5) to the product of the corresponding even pair plus (3), and each element of (6) to the product of the corresponding odd pair plus (4). This can also be described as a carryless multiply-add, using exclusive-or for both the multiplication and the addition.

512-bit SVE

Interpreting each 64-bit element from (1) and (2) as a ℤ2 polynomial, set each double-width element of (5) to the product of the corresponding even pair plus (3), and each element of (6) to the product of the corresponding odd pair plus (4). This can also be described as a carryless multiply-add, using exclusive-or for both the multiplication and the addition.

Larger sizes

1024-bit SVE

Interpreting each 64-bit element from (1) and (2) as a ℤ2 polynomial, set each double-width element of (5) to the product of the corresponding even pair plus (3), and each element of (6) to the product of the corresponding odd pair plus (4). This can also be described as a carryless multiply-add, using exclusive-or for both the multiplication and the addition.

2048-bit SVE

Interpreting each 64-bit element from (1) and (2) as a ℤ2 polynomial, set each double-width element of (5) to the product of the corresponding even pair plus (3), and each element of (6) to the product of the corresponding odd pair plus (4). This can also be described as a carryless multiply-add, using exclusive-or for both the multiplication and the addition.

Report mistakes or give feedback
Inspired by and based on the x86/x64 SIMD Instruction List by Daytime.