This patch adds the assembly/disassembly for the following instructions:
SMLALL: (multiple and indexed vector): Multi-vector signed integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector signed integer multiply-add long long by vector.
(multiple vectors): Multi-vector signed integer multiply-add long long.
SMLSLL: (multiple and indexed vector): Multi-vector signed integer multiply-subtract long long by indexed element.
(multiple and single vector): Multi-vector signed integer multiply-subtract long long by vector.
(multiple vectors): Multi-vector signed integer multiply-subtract long long.
SUMLALL: (multiple and indexed vector): Multi-vector signed by unsigned integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector signed by unsigned integer multiply-add long long by vector.
UMLALL: (multiple and indexed vector): Multi-vector unsigned integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector unsigned integer multiply-add long long by vector.
(multiple vectors): Multi-vector unsigned integer multiply-add long long.
UMLSLL: (multiple and indexed vector): Multi-vector unsigned integer multiply-subtract long long by indexed element.
(multiple and single vector): Multi-vector unsigned integer multiply-subtract long long by vector.
(multiple vectors): Multi-vector unsigned integer multiply-subtract long long.
USMLALL: (multiple and indexed vector): Multi-vector unsigned by signed integer multiply-add long long by indexed element.
(multiple and single vector): Multi-vector unsigned by signed integer multiply-add long long by vector.
(multiple vectors): Multi-vector unsigned by signed integer multiply-add long long.The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09
It also adds a new immediate:
uimm2s4range for off2
uimm1s4range for o1
to represent the vector select offset.
The new operands have the range between the first and the last vector position.
Depends on : D135785
Perhaps better placed after uimm2s2range or uimm1s4range depending on what you prefer to sort on.