xref: /qemu/target/mips/tcg/msa.decode (revision 4701d23aef1d096da20b46ce817e30f81bd01b4b)
1c7a9ef75SPhilippe Mathieu-Daudé# MIPS SIMD Architecture Module instruction set
2c7a9ef75SPhilippe Mathieu-Daudé#
3c7a9ef75SPhilippe Mathieu-Daudé# Copyright (C) 2020  Philippe Mathieu-Daudé
4c7a9ef75SPhilippe Mathieu-Daudé#
5c7a9ef75SPhilippe Mathieu-Daudé# SPDX-License-Identifier: LGPL-2.1-or-later
6c7a9ef75SPhilippe Mathieu-Daudé#
7c7a9ef75SPhilippe Mathieu-Daudé# Reference:
8c7a9ef75SPhilippe Mathieu-Daudé#       MIPS Architecture for Programmers Volume IV-j
9f5c6ee0cSPhilippe Mathieu-Daudé#       - The MIPS32 SIMD Architecture Module, Revision 1.12
10c7a9ef75SPhilippe 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)
13c7a9ef75SPhilippe Mathieu-Daudé
1434fe9fa3SPhilippe Mathieu-Daudé&r                  rs rt rd sa
155f21f30dSPhilippe 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
19*4701d23aSPhilippe Mathieu-Daudé&msa_bit            df  wd ws       m
20*4701d23aSPhilippe Mathieu-Daudé
21*4701d23aSPhilippe Mathieu-Daudé%bit_df             16:7 !function=bit_df
22*4701d23aSPhilippe Mathieu-Daudé%bit_m              16:7 !function=bit_m
23c7a9ef75SPhilippe Mathieu-Daudé
2434fe9fa3SPhilippe Mathieu-Daudé@lsa                ...... rs:5 rt:5 rd:5 ... sa:2 ......   &r
25d61566cfSPhilippe Mathieu-Daudé@bz_v               ...... ... ..    wt:5 sa:16             &msa_bz df=3
26d61566cfSPhilippe Mathieu-Daudé@bz                 ...... ...  df:2 wt:5 sa:16             &msa_bz
27b8e74816SPhilippe Mathieu-Daudé@u5                 ...... ... df:2 sa:5  ws:5 wd:5 ......  &msa_i
28b8e74816SPhilippe Mathieu-Daudé@s5                 ...... ... df:2 sa:s5 ws:5 wd:5 ......  &msa_i
2975094c33SPhilippe Mathieu-Daudé@ldi                ...... ... df:2 sa:s10     wd:5 ......  &msa_ldi
30*4701d23aSPhilippe Mathieu-Daudé@bit                ...... ... .......    ws:5 wd:5 ......  &msa_bit df=%bit_df m=%bit_m
31c7a9ef75SPhilippe Mathieu-Daudé
325f21f30dSPhilippe Mathieu-DaudéLSA                 000000 ..... ..... ..... 000 .. 000101  @lsa
33f5c6ee0cSPhilippe Mathieu-DaudéDLSA                000000 ..... ..... ..... 000 .. 010101  @lsa
345f21f30dSPhilippe Mathieu-Daudé
35d61566cfSPhilippe Mathieu-DaudéBZ_V                010001 01011  ..... ................    @bz_v
36d61566cfSPhilippe Mathieu-DaudéBNZ_V               010001 01111  ..... ................    @bz_v
37d61566cfSPhilippe Mathieu-DaudéBZ                  010001 110 .. ..... ................    @bz
38d61566cfSPhilippe Mathieu-DaudéBNZ                 010001 111 .. ..... ................    @bz
39c7a9ef75SPhilippe Mathieu-Daudé
4075094c33SPhilippe Mathieu-Daudé{
41b8e74816SPhilippe Mathieu-Daudé  ADDVI             011110 000 .. ..... ..... ..... 000110  @u5
42b8e74816SPhilippe Mathieu-Daudé  SUBVI             011110 001 .. ..... ..... ..... 000110  @u5
43b8e74816SPhilippe Mathieu-Daudé  MAXI_S            011110 010 .. ..... ..... ..... 000110  @s5
44b8e74816SPhilippe Mathieu-Daudé  MAXI_U            011110 011 .. ..... ..... ..... 000110  @u5
45b8e74816SPhilippe Mathieu-Daudé  MINI_S            011110 100 .. ..... ..... ..... 000110  @s5
46b8e74816SPhilippe Mathieu-Daudé  MINI_U            011110 101 .. ..... ..... ..... 000110  @u5
47b8e74816SPhilippe Mathieu-Daudé
48b8e74816SPhilippe Mathieu-Daudé  CEQI              011110 000 .. ..... ..... ..... 000111  @s5
49b8e74816SPhilippe Mathieu-Daudé  CLTI_S            011110 010 .. ..... ..... ..... 000111  @s5
50b8e74816SPhilippe Mathieu-Daudé  CLTI_U            011110 011 .. ..... ..... ..... 000111  @u5
51b8e74816SPhilippe Mathieu-Daudé  CLEI_S            011110 100 .. ..... ..... ..... 000111  @s5
52b8e74816SPhilippe Mathieu-Daudé  CLEI_U            011110 101 .. ..... ..... ..... 000111  @u5
53b8e74816SPhilippe Mathieu-Daudé
5475094c33SPhilippe Mathieu-Daudé  LDI               011110 110 .. ..........  ..... 000111  @ldi
5575094c33SPhilippe Mathieu-Daudé
56*4701d23aSPhilippe Mathieu-Daudé  SLLI              011110 000 ....... ..... .....  001001  @bit
57*4701d23aSPhilippe Mathieu-Daudé  SRAI              011110 001 ....... ..... .....  001001  @bit
58*4701d23aSPhilippe Mathieu-Daudé  SRLI              011110 010 ....... ..... .....  001001  @bit
59*4701d23aSPhilippe Mathieu-Daudé  BCLRI             011110 011 ....... ..... .....  001001  @bit
60*4701d23aSPhilippe Mathieu-Daudé  BSETI             011110 100 ....... ..... .....  001001  @bit
61*4701d23aSPhilippe Mathieu-Daudé  BNEGI             011110 101 ....... ..... .....  001001  @bit
62*4701d23aSPhilippe Mathieu-Daudé  BINSLI            011110 110 ....... ..... .....  001001  @bit
63*4701d23aSPhilippe Mathieu-Daudé  BINSRI            011110 111 ....... ..... .....  001001  @bit
64*4701d23aSPhilippe Mathieu-Daudé
65*4701d23aSPhilippe Mathieu-Daudé  SAT_S             011110 000 ....... ..... .....  001010  @bit
66*4701d23aSPhilippe Mathieu-Daudé  SAT_U             011110 001 ....... ..... .....  001010  @bit
67*4701d23aSPhilippe Mathieu-Daudé  SRARI             011110 010 ....... ..... .....  001010  @bit
68*4701d23aSPhilippe Mathieu-Daudé  SRLRI             011110 011 ....... ..... .....  001010  @bit
69*4701d23aSPhilippe Mathieu-Daudé
70c7a9ef75SPhilippe Mathieu-Daudé  MSA               011110 --------------------------
7175094c33SPhilippe Mathieu-Daudé}
72