target/mips: Convert MSA load/store instruction format to decodetree
[qemu.git] / target / mips / tcg / msa.decode
blob0aeb83d5c5b2f85cb305bd8819fbec6b1c14c111
1 # MIPS SIMD Architecture Module instruction set
3 # Copyright (C) 2020  Philippe Mathieu-Daudé
5 # SPDX-License-Identifier: LGPL-2.1-or-later
7 # Reference:
8 #       MIPS Architecture for Programmers Volume IV-j
9 #       - The MIPS32 SIMD Architecture Module, Revision 1.12
10 #         (Document Number: MD00866-2B-MSA32-AFP-01.12)
11 #       - The MIPS64 SIMD Architecture Module, Revision 1.12
12 #         (Document Number: MD00868-1D-MSA64-AFP-01.12)
14 &r                  rs rt rd sa
16 &msa_bz             df        wt sa
17 &msa_ldi            df  wd       sa
18 &msa_i              df  wd ws    sa
19 &msa_bit            df  wd ws       m
21 %bit_df             16:7 !function=bit_df
22 %bit_m              16:7 !function=bit_m
24 @lsa                ...... rs:5 rt:5 rd:5 ... sa:2 ......   &r
25 @ldst               ...... sa:s10 ws:5 wd:5 .... df:2       &msa_i
26 @bz_v               ...... ... ..    wt:5 sa:16             &msa_bz df=3
27 @bz                 ...... ...  df:2 wt:5 sa:16             &msa_bz
28 @u5                 ...... ... df:2 sa:5  ws:5 wd:5 ......  &msa_i
29 @s5                 ...... ... df:2 sa:s5 ws:5 wd:5 ......  &msa_i
30 @i8_df              ......     df:2 sa:s8 ws:5 wd:5 ......  &msa_i
31 @i8                 ...... ..       sa:s8 ws:5 wd:5 ......  &msa_i df=0
32 @ldi                ...... ... df:2 sa:s10     wd:5 ......  &msa_ldi
33 @bit                ...... ... .......    ws:5 wd:5 ......  &msa_bit df=%bit_df m=%bit_m
35 LSA                 000000 ..... ..... ..... 000 .. 000101  @lsa
36 DLSA                000000 ..... ..... ..... 000 .. 010101  @lsa
38 BZ_V                010001 01011  ..... ................    @bz_v
39 BNZ_V               010001 01111  ..... ................    @bz_v
40 BZ                  010001 110 .. ..... ................    @bz
41 BNZ                 010001 111 .. ..... ................    @bz
44   ANDI              011110 00 ........ ..... .....  000000  @i8
45   ORI               011110 01 ........ ..... .....  000000  @i8
46   NORI              011110 10 ........ ..... .....  000000  @i8
47   XORI              011110 11 ........ ..... .....  000000  @i8
48   BMNZI             011110 00 ........ ..... .....  000001  @i8
49   BMZI              011110 01 ........ ..... .....  000001  @i8
50   BSELI             011110 10 ........ ..... .....  000001  @i8
51   SHF               011110 .. ........ ..... .....  000010  @i8_df
53   ADDVI             011110 000 .. ..... ..... ..... 000110  @u5
54   SUBVI             011110 001 .. ..... ..... ..... 000110  @u5
55   MAXI_S            011110 010 .. ..... ..... ..... 000110  @s5
56   MAXI_U            011110 011 .. ..... ..... ..... 000110  @u5
57   MINI_S            011110 100 .. ..... ..... ..... 000110  @s5
58   MINI_U            011110 101 .. ..... ..... ..... 000110  @u5
60   CEQI              011110 000 .. ..... ..... ..... 000111  @s5
61   CLTI_S            011110 010 .. ..... ..... ..... 000111  @s5
62   CLTI_U            011110 011 .. ..... ..... ..... 000111  @u5
63   CLEI_S            011110 100 .. ..... ..... ..... 000111  @s5
64   CLEI_U            011110 101 .. ..... ..... ..... 000111  @u5
66   LDI               011110 110 .. ..........  ..... 000111  @ldi
68   SLLI              011110 000 ....... ..... .....  001001  @bit
69   SRAI              011110 001 ....... ..... .....  001001  @bit
70   SRLI              011110 010 ....... ..... .....  001001  @bit
71   BCLRI             011110 011 ....... ..... .....  001001  @bit
72   BSETI             011110 100 ....... ..... .....  001001  @bit
73   BNEGI             011110 101 ....... ..... .....  001001  @bit
74   BINSLI            011110 110 ....... ..... .....  001001  @bit
75   BINSRI            011110 111 ....... ..... .....  001001  @bit
77   SAT_S             011110 000 ....... ..... .....  001010  @bit
78   SAT_U             011110 001 ....... ..... .....  001010  @bit
79   SRARI             011110 010 ....... ..... .....  001010  @bit
80   SRLRI             011110 011 ....... ..... .....  001010  @bit
82   LD                011110 .......... ..... .....   1000 .. @ldst
83   ST                011110 .......... ..... .....   1001 .. @ldst
85   MSA               011110 --------------------------