target/mips/tx79: Introduce PCEQ* opcodes (Parallel Compare for Equal)
[qemu/ar7.git] / target / mips / tcg / tx79.decode
blobcfe721755ca3ad57e91a01d308ce8978f01b0a3a
1 # Toshiba C790's instruction set
3 # Copyright (C) 2021  Philippe Mathieu-Daudé
5 # SPDX-License-Identifier: LGPL-2.1-or-later
7 # Toshiba Appendix B  C790-Specific Instruction Set Details
9 ###########################################################################
10 # Named attribute sets.  These are used to make nice(er) names
11 # when creating helpers common to those for the individual
12 # instruction patterns.
14 &rtype           rs rt rd sa
16 ###########################################################################
17 # Named instruction formats.  These are generally used to
18 # reduce the amount of duplication between instruction patterns.
20 @rs_rt_rd       ...... rs:5  rt:5  rd:5  ..... ......   &rtype sa=0
21 @rt_rd          ...... ..... rt:5  rd:5  ..... ......   &rtype rs=0 sa=0
22 @rs             ...... rs:5  ..... ..........  ......   &rtype rt=0 rd=0 sa=0
23 @rd             ...... ..........  rd:5  ..... ......   &rtype rs=0 rt=0 sa=0
25 ###########################################################################
27 MFHI1           011100 0000000000  ..... 00000 010000   @rd
28 MTHI1           011100 .....  0000000000 00000 010001   @rs
29 MFLO1           011100 0000000000  ..... 00000 010010   @rd
30 MTLO1           011100 .....  0000000000 00000 010011   @rs
32 # MMI0
34 PSUBW           011100 ..... ..... ..... 00001 001000   @rs_rt_rd
35 PSUBH           011100 ..... ..... ..... 00101 001000   @rs_rt_rd
36 PSUBB           011100 ..... ..... ..... 01001 001000   @rs_rt_rd
37 PEXTLW          011100 ..... ..... ..... 10010 001000   @rs_rt_rd
38 PEXTLH          011100 ..... ..... ..... 10110 001000   @rs_rt_rd
39 PEXTLB          011100 ..... ..... ..... 11010 001000   @rs_rt_rd
41 # MMI1
43 PCEQW           011100 ..... ..... ..... 00010 101000   @rs_rt_rd
44 PCEQH           011100 ..... ..... ..... 00110 101000   @rs_rt_rd
45 PCEQB           011100 ..... ..... ..... 01010 101000   @rs_rt_rd
46 PEXTUW          011100 ..... ..... ..... 10010 101000   @rs_rt_rd
48 # MMI2
50 PCPYLD          011100 ..... ..... ..... 01110 001001   @rs_rt_rd
51 PAND            011100 ..... ..... ..... 10010 001001   @rs_rt_rd
52 PXOR            011100 ..... ..... ..... 10011 001001   @rs_rt_rd
54 # MMI3
56 PCPYUD          011100 ..... ..... ..... 01110 101001   @rs_rt_rd
57 POR             011100 ..... ..... ..... 10010 101001   @rs_rt_rd
58 PNOR            011100 ..... ..... ..... 10011 101001   @rs_rt_rd
59 PCPYH           011100 00000 ..... ..... 11011 101001   @rt_rd