WORK IN PROGRESS
Analysing the mxu_as AWK script, I can determine there are 58 basic SIMD instructions having a common opcode name. Amongst them, there is 12 SIMD instructions which can be subdivised into 48 instructions and 3 into 48 instructions and 1 into 8 instructions because they have some fix arguments (WW, LW, HW, XW, AA, AS, SA, SS, etc.) which partly change the behavior of a basic SIMD instruction. So, we may consider there are 146 SIMD instructions.
Here are the basic SIMD instructions list :
Analysing the mxu_as AWK script, I can determine there are 58 basic SIMD instructions having a common opcode name. Amongst them, there is 12 SIMD instructions which can be subdivised into 48 instructions and 3 into 48 instructions and 1 into 8 instructions because they have some fix arguments (WW, LW, HW, XW, AA, AS, SA, SS, etc.) which partly change the behavior of a basic SIMD instruction. So, we may consider there are 146 SIMD instructions.
Here are the basic SIMD instructions list :
Code:
WW_LW_HW_XW:2 = { WW:00, LW:01, HW:10, XW: 11 }
HH_LL_HL_LH:2 = { HH:00, LL:01, HL:10, LH: 11 }
AA_AS_SA_SS:2 = { AA:00, AS:01, SA:10, SS:11 }
A_S:1 = { A:00, S:01 }
SFL_PTN:2 = { PTN0:00, PTN1:01, PTN2:10, PTN3:11 }
XA:4 = { XR0:0000, XR1:0001, ..., XR15=1111 }
XB:4 = { XR0:0000, XR1:0001, ..., XR15=1111 }
XC:4 = { XR0:0000, XR1:0001, ..., XR15=1111 }
XD:4 = { XR0:0000, XR1:0001, ..., XR15=1111 }
XA_XR16:5 = { XR0:00000, XR1:00001, ..., XR15=01111, XR16=10000 }
RS:5 = { GR0:00000, GR1:00001, ..., GR31=11111 }
RT:5 = { GR0:00000, GR1:00001, ..., GR31=11111 }
RD:5 = { GR0:00000, GR1:00001, ..., GR31=11111 }
SA:5 = { 0, 1, ..., 31 }
SS:2 = { 0, 1, 2, 4 }
SPECIAL2:6 = 011100
Q8MUL (011100:00 :00 :XD :XC :XB :XA :111000)
Q8MAC (011100:AA_AS_SA_SS :00 :XD :XC :XB :XA :111010)
Q8MADL (011100:AA_AS_SA_SS :00 :XD :XC :XB :XA :111100)
Q8SAD (011100:00 :00 :XD :XC :XB :XA :111110)
Q8ADDE (011100:AA_AS_SA_SS :00 :XD :XC :XB :XA :011100)
Q8ACCE (011100:AA_AS_SA_SS :00 :XD :XC :XB :XA :011101)
Q8ABD (011100:00 :00 :0:100:XC :XB :XA :000111)
Q8AVG (011100:00 :00 :0:100:XC :XB :XA :000110)
Q8AVGR (011100:00 :00 :0:101:XC :XB :XA :000110)
Q8ADD (011100:AA_AS_SA_SS :00 :0:111:XC :XB :XA :000110)
Q8MAX (011100:00 :00 :0:100:XC :XB :XA :000011)
Q8MIN (011100:00 :00 :0:101:XC :XB :XA :000011)
Q8SLT (011100:00 :00 :0:110:XC :XB :XA :000011)
D16MUL (011100:00 :WW_LW_HW_XW:XD :XC :XB :XA :001000)
D16MULF (011100:00 :WW_LW_HW_XW:0:000:XC :XB :XA :001001)
D16MAC (011100:AA_AS_SA_SS :WW_LW_HW_XW:XD :XC :XB :XA :001010)
D16MACF (011100:00 :WW_LW_HW_XW:0:000:XC :XB :XA :001011)
D16MADL (011100:00 :WW_LW_HW_XW:0:000:XC :XB :XA :001100)
S16MAD (011100:0:A_S :HH_LL_HL_LH:XD :XC :XB :XA :001101)
Q16ADD (011100:AA_AS_SA_SS :WW_LW_HW_XW:XD :XC :XB :XA :001110)
Q16ACC (011100:AA_AS_SA_SS :WW_LW_HW_XW:XD :XC :XB :XA :011011)
D16CPS (011100:00 :00 :0:010:XC :XB :XA :000111)
Q16SAT (011100:00 :00 :0:110:XC :XB :XA :000111)
D16AVG (011100:00 :00 :0:010:XC :XB :XA :000110)
D16AVGR (011100:00 :00 :0:011:XC :XB :XA :000110)
D16MAX (011100:00 :00 :0:010:XC :XB :XA :000011)
D16MIN (011100:00 :00 :0:011:XC :XB :XA :000011)
Q16SLL (011100:SA :XD :XC :XB :0000 :110100)
Q16SLR (011100:SA :XD :XC :XB :0000 :110101)
Q16SAR (011100:SA :XD :XC :XB :0000 :110111)
Q16SLLV (011100:RS :100:XC :XB :XA :110110)
Q16SLRV (011100:RS :101:XC :XB :XA :110110)
Q16SARV (011100:RS :111:XC :XB :XA :110110)
S32SFL (011100:SFL_PTN :00 :XD :XC :XB :XA :111101)
D32ADD (011100:AA_AS_SA_SS :00 :XD :XC :XB :XA :011000)
D32ACC (011100:AA_AS_SA_SS :00 :XD :XC :XB :XA :011001)
S32CPS (011100:00 :00 :0:000:XC :XB :XA :000111)
S32MAX (011100:00 :00 :0:000:XC :XB :XA :000011)
S32MIN (011100:00 :00 :0:001:XC :XB :XA :000011)
D32SLL (011100:SA :XD :XC :XB :XA :110000)
D32SLR (011100:SA :XD :XC :XB :XA :110001)
D32SAR (011100:SA :XD :XC :XB :XA :110011)
D32SARL (011100:SA :0:000:XC :XB :XA :110010)
D32SARV (011100:RS :011:XC :XB :0000 :110110)
D32SARW (011100:RS :000:XC :XB :XA :100111)
D32SLLV (011100:RS :000:XC :XB :0000 :110110)
D32SLRV (011100:RS :001:XC :XB :0000 :110110)
S32ALN (011100:RS :001:XC :XB :XA :100111)
S32M2I (011100:00 :00 :0:RT :00:000:XA_XR16:101110)
S32I2M (011100:00 :00 :0:RT :00:000:XA_XR16:101111)
S32LDD (011100:RS :0:ADDR10 :XA :010000)
S32STD (011100:RS :0:ADDR10 :XA :010001)
S32LDI (011100:RS :0:ADDR10 :XA :010100)
S32SDI (011100:RS :0:ADDR10 :XA :010101)
S32LDDV (011100:RS :RT :SS:000 :XA :010010)
S32STDV (011100:RS :RT :SS:000 :XA :010011)
S32LDIV (011100:RS :RT :SS:000 :XA :010110)
S32SDIV (011100:RS :RT :SS:000 :XA :010111)