target/mips/tx79: Introduce PEXTL[BHW] opcodes (Parallel Extend Lower)
[qemu/ar7.git] / target / mips / tcg / tx79.decode
blob98f21d33e3fb46c8ba328ab1bfeda4354b9f0d9c
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 PEXTUW          011100 ..... ..... ..... 10010 101000   @rs_rt_rd
45 # MMI2
47 PCPYLD          011100 ..... ..... ..... 01110 001001   @rs_rt_rd
48 PAND            011100 ..... ..... ..... 10010 001001   @rs_rt_rd
49 PXOR            011100 ..... ..... ..... 10011 001001   @rs_rt_rd
51 # MMI3
53 PCPYUD          011100 ..... ..... ..... 01110 101001   @rs_rt_rd
54 POR             011100 ..... ..... ..... 10010 101001   @rs_rt_rd
55 PNOR            011100 ..... ..... ..... 10011 101001   @rs_rt_rd
56 PCPYH           011100 00000 ..... ..... 11011 101001   @rt_rd