xref: /openbmc/qemu/target/mips/tcg/msa.decode (revision ce121fe23443fbf885b3c0a583a91efd2efa6e10)
1f5c6ee0cSPhilippe Mathieu-Daudé# MIPS SIMD Architecture Module instruction set
2f5c6ee0cSPhilippe Mathieu-Daudé#
3f5c6ee0cSPhilippe Mathieu-Daudé# Copyright (C) 2020  Philippe Mathieu-Daudé
4f5c6ee0cSPhilippe Mathieu-Daudé#
5f5c6ee0cSPhilippe Mathieu-Daudé# SPDX-License-Identifier: LGPL-2.1-or-later
6f5c6ee0cSPhilippe Mathieu-Daudé#
7f5c6ee0cSPhilippe Mathieu-Daudé# Reference:
8f5c6ee0cSPhilippe Mathieu-Daudé#       MIPS Architecture for Programmers Volume IV-j
9f5c6ee0cSPhilippe Mathieu-Daudé#       - The MIPS32 SIMD Architecture Module, Revision 1.12
10f5c6ee0cSPhilippe Mathieu-Daudé#         (Document Number: MD00866-2B-MSA32-AFP-01.12)
11f5c6ee0cSPhilippe Mathieu-Daudé#       - The MIPS64 SIMD Architecture Module, Revision 1.12
12f5c6ee0cSPhilippe Mathieu-Daudé#         (Document Number: MD00868-1D-MSA64-AFP-01.12)
13f5c6ee0cSPhilippe Mathieu-Daudé
1434fe9fa3SPhilippe Mathieu-Daudé&r                  rs rt rd sa
15f5c6ee0cSPhilippe Mathieu-Daudé
16d61566cfSPhilippe Mathieu-Daudé&msa_bz             df        wt sa
1775094c33SPhilippe Mathieu-Daudé&msa_ldi            df  wd       sa
18b8e74816SPhilippe Mathieu-Daudé&msa_i              df  wd ws    sa
194701d23aSPhilippe Mathieu-Daudé&msa_bit            df  wd ws       m
204701d23aSPhilippe Mathieu-Daudé
214701d23aSPhilippe Mathieu-Daudé%bit_df             16:7 !function=bit_df
224701d23aSPhilippe Mathieu-Daudé%bit_m              16:7 !function=bit_m
23f5c6ee0cSPhilippe Mathieu-Daudé
2434fe9fa3SPhilippe Mathieu-Daudé@lsa                ...... rs:5 rt:5 rd:5 ... sa:2 ......   &r
25*ce121fe2SPhilippe Mathieu-Daudé@ldst               ...... sa:s10 ws:5 wd:5 .... df:2       &msa_i
26d61566cfSPhilippe Mathieu-Daudé@bz_v               ...... ... ..    wt:5 sa:16             &msa_bz df=3
27d61566cfSPhilippe Mathieu-Daudé@bz                 ...... ...  df:2 wt:5 sa:16             &msa_bz
28b8e74816SPhilippe Mathieu-Daudé@u5                 ...... ... df:2 sa:5  ws:5 wd:5 ......  &msa_i
29b8e74816SPhilippe Mathieu-Daudé@s5                 ...... ... df:2 sa:s5 ws:5 wd:5 ......  &msa_i
30a9e17958SPhilippe Mathieu-Daudé@i8_df              ......     df:2 sa:s8 ws:5 wd:5 ......  &msa_i
317cc351ffSPhilippe Mathieu-Daudé@i8                 ...... ..       sa:s8 ws:5 wd:5 ......  &msa_i df=0
3275094c33SPhilippe Mathieu-Daudé@ldi                ...... ... df:2 sa:s10     wd:5 ......  &msa_ldi
334701d23aSPhilippe Mathieu-Daudé@bit                ...... ... .......    ws:5 wd:5 ......  &msa_bit df=%bit_df m=%bit_m
34f5c6ee0cSPhilippe Mathieu-Daudé
35f5c6ee0cSPhilippe Mathieu-DaudéLSA                 000000 ..... ..... ..... 000 .. 000101  @lsa
36f5c6ee0cSPhilippe Mathieu-DaudéDLSA                000000 ..... ..... ..... 000 .. 010101  @lsa
37f5c6ee0cSPhilippe Mathieu-Daudé
38d61566cfSPhilippe Mathieu-DaudéBZ_V                010001 01011  ..... ................    @bz_v
39d61566cfSPhilippe Mathieu-DaudéBNZ_V               010001 01111  ..... ................    @bz_v
40d61566cfSPhilippe Mathieu-DaudéBZ                  010001 110 .. ..... ................    @bz
41d61566cfSPhilippe Mathieu-DaudéBNZ                 010001 111 .. ..... ................    @bz
42f5c6ee0cSPhilippe Mathieu-Daudé
4375094c33SPhilippe Mathieu-Daudé{
447cc351ffSPhilippe Mathieu-Daudé  ANDI              011110 00 ........ ..... .....  000000  @i8
457cc351ffSPhilippe Mathieu-Daudé  ORI               011110 01 ........ ..... .....  000000  @i8
467cc351ffSPhilippe Mathieu-Daudé  NORI              011110 10 ........ ..... .....  000000  @i8
477cc351ffSPhilippe Mathieu-Daudé  XORI              011110 11 ........ ..... .....  000000  @i8
487cc351ffSPhilippe Mathieu-Daudé  BMNZI             011110 00 ........ ..... .....  000001  @i8
497cc351ffSPhilippe Mathieu-Daudé  BMZI              011110 01 ........ ..... .....  000001  @i8
507cc351ffSPhilippe Mathieu-Daudé  BSELI             011110 10 ........ ..... .....  000001  @i8
51a9e17958SPhilippe Mathieu-Daudé  SHF               011110 .. ........ ..... .....  000010  @i8_df
52a9e17958SPhilippe Mathieu-Daudé
53b8e74816SPhilippe Mathieu-Daudé  ADDVI             011110 000 .. ..... ..... ..... 000110  @u5
54b8e74816SPhilippe Mathieu-Daudé  SUBVI             011110 001 .. ..... ..... ..... 000110  @u5
55b8e74816SPhilippe Mathieu-Daudé  MAXI_S            011110 010 .. ..... ..... ..... 000110  @s5
56b8e74816SPhilippe Mathieu-Daudé  MAXI_U            011110 011 .. ..... ..... ..... 000110  @u5
57b8e74816SPhilippe Mathieu-Daudé  MINI_S            011110 100 .. ..... ..... ..... 000110  @s5
58b8e74816SPhilippe Mathieu-Daudé  MINI_U            011110 101 .. ..... ..... ..... 000110  @u5
59b8e74816SPhilippe Mathieu-Daudé
60b8e74816SPhilippe Mathieu-Daudé  CEQI              011110 000 .. ..... ..... ..... 000111  @s5
61b8e74816SPhilippe Mathieu-Daudé  CLTI_S            011110 010 .. ..... ..... ..... 000111  @s5
62b8e74816SPhilippe Mathieu-Daudé  CLTI_U            011110 011 .. ..... ..... ..... 000111  @u5
63b8e74816SPhilippe Mathieu-Daudé  CLEI_S            011110 100 .. ..... ..... ..... 000111  @s5
64b8e74816SPhilippe Mathieu-Daudé  CLEI_U            011110 101 .. ..... ..... ..... 000111  @u5
65b8e74816SPhilippe Mathieu-Daudé
6675094c33SPhilippe Mathieu-Daudé  LDI               011110 110 .. ..........  ..... 000111  @ldi
6775094c33SPhilippe Mathieu-Daudé
684701d23aSPhilippe Mathieu-Daudé  SLLI              011110 000 ....... ..... .....  001001  @bit
694701d23aSPhilippe Mathieu-Daudé  SRAI              011110 001 ....... ..... .....  001001  @bit
704701d23aSPhilippe Mathieu-Daudé  SRLI              011110 010 ....... ..... .....  001001  @bit
714701d23aSPhilippe Mathieu-Daudé  BCLRI             011110 011 ....... ..... .....  001001  @bit
724701d23aSPhilippe Mathieu-Daudé  BSETI             011110 100 ....... ..... .....  001001  @bit
734701d23aSPhilippe Mathieu-Daudé  BNEGI             011110 101 ....... ..... .....  001001  @bit
744701d23aSPhilippe Mathieu-Daudé  BINSLI            011110 110 ....... ..... .....  001001  @bit
754701d23aSPhilippe Mathieu-Daudé  BINSRI            011110 111 ....... ..... .....  001001  @bit
764701d23aSPhilippe Mathieu-Daudé
774701d23aSPhilippe Mathieu-Daudé  SAT_S             011110 000 ....... ..... .....  001010  @bit
784701d23aSPhilippe Mathieu-Daudé  SAT_U             011110 001 ....... ..... .....  001010  @bit
794701d23aSPhilippe Mathieu-Daudé  SRARI             011110 010 ....... ..... .....  001010  @bit
804701d23aSPhilippe Mathieu-Daudé  SRLRI             011110 011 ....... ..... .....  001010  @bit
814701d23aSPhilippe Mathieu-Daudé
82*ce121fe2SPhilippe Mathieu-Daudé  LD                011110 .......... ..... .....   1000 .. @ldst
83*ce121fe2SPhilippe Mathieu-Daudé  ST                011110 .......... ..... .....   1001 .. @ldst
84*ce121fe2SPhilippe Mathieu-Daudé
85f5c6ee0cSPhilippe Mathieu-Daudé  MSA               011110 --------------------------
8675094c33SPhilippe Mathieu-Daudé}
87