xref: /openbmc/qemu/target/mips/tcg/msa.decode (revision a9e17958330a971c379ed99f349158b269b4e4c2)
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
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
29*a9e17958SPhilippe Mathieu-Daudé@i8_df              ......     df:2 sa:s8 ws:5 wd:5 ......  &msa_i
3075094c33SPhilippe Mathieu-Daudé@ldi                ...... ... df:2 sa:s10     wd:5 ......  &msa_ldi
314701d23aSPhilippe Mathieu-Daudé@bit                ...... ... .......    ws:5 wd:5 ......  &msa_bit df=%bit_df m=%bit_m
32f5c6ee0cSPhilippe Mathieu-Daudé
33f5c6ee0cSPhilippe Mathieu-DaudéLSA                 000000 ..... ..... ..... 000 .. 000101  @lsa
34f5c6ee0cSPhilippe Mathieu-DaudéDLSA                000000 ..... ..... ..... 000 .. 010101  @lsa
35f5c6ee0cSPhilippe Mathieu-Daudé
36d61566cfSPhilippe Mathieu-DaudéBZ_V                010001 01011  ..... ................    @bz_v
37d61566cfSPhilippe Mathieu-DaudéBNZ_V               010001 01111  ..... ................    @bz_v
38d61566cfSPhilippe Mathieu-DaudéBZ                  010001 110 .. ..... ................    @bz
39d61566cfSPhilippe Mathieu-DaudéBNZ                 010001 111 .. ..... ................    @bz
40f5c6ee0cSPhilippe Mathieu-Daudé
4175094c33SPhilippe Mathieu-Daudé{
42*a9e17958SPhilippe Mathieu-Daudé  SHF               011110 .. ........ ..... .....  000010  @i8_df
43*a9e17958SPhilippe Mathieu-Daudé
44b8e74816SPhilippe Mathieu-Daudé  ADDVI             011110 000 .. ..... ..... ..... 000110  @u5
45b8e74816SPhilippe Mathieu-Daudé  SUBVI             011110 001 .. ..... ..... ..... 000110  @u5
46b8e74816SPhilippe Mathieu-Daudé  MAXI_S            011110 010 .. ..... ..... ..... 000110  @s5
47b8e74816SPhilippe Mathieu-Daudé  MAXI_U            011110 011 .. ..... ..... ..... 000110  @u5
48b8e74816SPhilippe Mathieu-Daudé  MINI_S            011110 100 .. ..... ..... ..... 000110  @s5
49b8e74816SPhilippe Mathieu-Daudé  MINI_U            011110 101 .. ..... ..... ..... 000110  @u5
50b8e74816SPhilippe Mathieu-Daudé
51b8e74816SPhilippe Mathieu-Daudé  CEQI              011110 000 .. ..... ..... ..... 000111  @s5
52b8e74816SPhilippe Mathieu-Daudé  CLTI_S            011110 010 .. ..... ..... ..... 000111  @s5
53b8e74816SPhilippe Mathieu-Daudé  CLTI_U            011110 011 .. ..... ..... ..... 000111  @u5
54b8e74816SPhilippe Mathieu-Daudé  CLEI_S            011110 100 .. ..... ..... ..... 000111  @s5
55b8e74816SPhilippe Mathieu-Daudé  CLEI_U            011110 101 .. ..... ..... ..... 000111  @u5
56b8e74816SPhilippe Mathieu-Daudé
5775094c33SPhilippe Mathieu-Daudé  LDI               011110 110 .. ..........  ..... 000111  @ldi
5875094c33SPhilippe Mathieu-Daudé
594701d23aSPhilippe Mathieu-Daudé  SLLI              011110 000 ....... ..... .....  001001  @bit
604701d23aSPhilippe Mathieu-Daudé  SRAI              011110 001 ....... ..... .....  001001  @bit
614701d23aSPhilippe Mathieu-Daudé  SRLI              011110 010 ....... ..... .....  001001  @bit
624701d23aSPhilippe Mathieu-Daudé  BCLRI             011110 011 ....... ..... .....  001001  @bit
634701d23aSPhilippe Mathieu-Daudé  BSETI             011110 100 ....... ..... .....  001001  @bit
644701d23aSPhilippe Mathieu-Daudé  BNEGI             011110 101 ....... ..... .....  001001  @bit
654701d23aSPhilippe Mathieu-Daudé  BINSLI            011110 110 ....... ..... .....  001001  @bit
664701d23aSPhilippe Mathieu-Daudé  BINSRI            011110 111 ....... ..... .....  001001  @bit
674701d23aSPhilippe Mathieu-Daudé
684701d23aSPhilippe Mathieu-Daudé  SAT_S             011110 000 ....... ..... .....  001010  @bit
694701d23aSPhilippe Mathieu-Daudé  SAT_U             011110 001 ....... ..... .....  001010  @bit
704701d23aSPhilippe Mathieu-Daudé  SRARI             011110 010 ....... ..... .....  001010  @bit
714701d23aSPhilippe Mathieu-Daudé  SRLRI             011110 011 ....... ..... .....  001010  @bit
724701d23aSPhilippe Mathieu-Daudé
73f5c6ee0cSPhilippe Mathieu-Daudé  MSA               011110 --------------------------
7475094c33SPhilippe Mathieu-Daudé}
75