# MIPS SIMD Architecture Module instruction set # # Copyright (C) 2020 Philippe Mathieu-Daudé # # SPDX-License-Identifier: LGPL-2.1-or-later # # Reference: # MIPS Architecture for Programmers Volume IV-j # - The MIPS32 SIMD Architecture Module, Revision 1.12 # (Document Number: MD00866-2B-MSA32-AFP-01.12) # - The MIPS64 SIMD Architecture Module, Revision 1.12 # (Document Number: MD00868-1D-MSA64-AFP-01.12) &r rs rt rd sa &msa_bz df wt sa &msa_ldi df wd sa &msa_i df wd ws sa &msa_bit df wd ws m %bit_df 16:7 !function=bit_df %bit_m 16:7 !function=bit_m @lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &r @ldst ...... sa:s10 ws:5 wd:5 .... df:2 &msa_i @bz_v ...... ... .. wt:5 sa:16 &msa_bz df=3 @bz ...... ... df:2 wt:5 sa:16 &msa_bz @u5 ...... ... df:2 sa:5 ws:5 wd:5 ...... &msa_i @s5 ...... ... df:2 sa:s5 ws:5 wd:5 ...... &msa_i @i8_df ...... df:2 sa:s8 ws:5 wd:5 ...... &msa_i @i8 ...... .. sa:s8 ws:5 wd:5 ...... &msa_i df=0 @ldi ...... ... df:2 sa:s10 wd:5 ...... &msa_ldi @bit ...... ... ....... ws:5 wd:5 ...... &msa_bit df=%bit_df m=%bit_m LSA 000000 ..... ..... ..... 000 .. 000101 @lsa DLSA 000000 ..... ..... ..... 000 .. 010101 @lsa BZ_V 010001 01011 ..... ................ @bz_v BNZ_V 010001 01111 ..... ................ @bz_v BZ 010001 110 .. ..... ................ @bz BNZ 010001 111 .. ..... ................ @bz { ANDI 011110 00 ........ ..... ..... 000000 @i8 ORI 011110 01 ........ ..... ..... 000000 @i8 NORI 011110 10 ........ ..... ..... 000000 @i8 XORI 011110 11 ........ ..... ..... 000000 @i8 BMNZI 011110 00 ........ ..... ..... 000001 @i8 BMZI 011110 01 ........ ..... ..... 000001 @i8 BSELI 011110 10 ........ ..... ..... 000001 @i8 SHF 011110 .. ........ ..... ..... 000010 @i8_df ADDVI 011110 000 .. ..... ..... ..... 000110 @u5 SUBVI 011110 001 .. ..... ..... ..... 000110 @u5 MAXI_S 011110 010 .. ..... ..... ..... 000110 @s5 MAXI_U 011110 011 .. ..... ..... ..... 000110 @u5 MINI_S 011110 100 .. ..... ..... ..... 000110 @s5 MINI_U 011110 101 .. ..... ..... ..... 000110 @u5 CEQI 011110 000 .. ..... ..... ..... 000111 @s5 CLTI_S 011110 010 .. ..... ..... ..... 000111 @s5 CLTI_U 011110 011 .. ..... ..... ..... 000111 @u5 CLEI_S 011110 100 .. ..... ..... ..... 000111 @s5 CLEI_U 011110 101 .. ..... ..... ..... 000111 @u5 LDI 011110 110 .. .......... ..... 000111 @ldi SLLI 011110 000 ....... ..... ..... 001001 @bit SRAI 011110 001 ....... ..... ..... 001001 @bit SRLI 011110 010 ....... ..... ..... 001001 @bit BCLRI 011110 011 ....... ..... ..... 001001 @bit BSETI 011110 100 ....... ..... ..... 001001 @bit BNEGI 011110 101 ....... ..... ..... 001001 @bit BINSLI 011110 110 ....... ..... ..... 001001 @bit BINSRI 011110 111 ....... ..... ..... 001001 @bit SAT_S 011110 000 ....... ..... ..... 001010 @bit SAT_U 011110 001 ....... ..... ..... 001010 @bit SRARI 011110 010 ....... ..... ..... 001010 @bit SRLRI 011110 011 ....... ..... ..... 001010 @bit LD 011110 .......... ..... ..... 1000 .. @ldst ST 011110 .......... ..... ..... 1001 .. @ldst MSA 011110 -------------------------- }