**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 :

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)

**Edited by hlide, 29 October 2009 - 03:52 PM.**