xref: /qemu/target/mips/tcg/tx79.decode (revision 18f86aec)
1a2b0a27dSPhilippe Mathieu-Daudé# Toshiba C790's instruction set
2a2b0a27dSPhilippe Mathieu-Daudé#
3a2b0a27dSPhilippe Mathieu-Daudé# Copyright (C) 2021  Philippe Mathieu-Daudé
4a2b0a27dSPhilippe Mathieu-Daudé#
5a2b0a27dSPhilippe Mathieu-Daudé# SPDX-License-Identifier: LGPL-2.1-or-later
6a2b0a27dSPhilippe Mathieu-Daudé#
7a2b0a27dSPhilippe Mathieu-Daudé# Toshiba Appendix B  C790-Specific Instruction Set Details
8a2b0a27dSPhilippe Mathieu-Daudé
9a2b0a27dSPhilippe Mathieu-Daudé###########################################################################
10a2b0a27dSPhilippe Mathieu-Daudé# Named attribute sets.  These are used to make nice(er) names
11a2b0a27dSPhilippe Mathieu-Daudé# when creating helpers common to those for the individual
12a2b0a27dSPhilippe Mathieu-Daudé# instruction patterns.
13a2b0a27dSPhilippe Mathieu-Daudé
1434fe9fa3SPhilippe Mathieu-Daudé&r               rs rt rd sa
15a2b0a27dSPhilippe Mathieu-Daudé
1634fe9fa3SPhilippe Mathieu-Daudé&i               base rt offset
17aaaa82a9SPhilippe Mathieu-Daudé
18a2b0a27dSPhilippe Mathieu-Daudé###########################################################################
19a2b0a27dSPhilippe Mathieu-Daudé# Named instruction formats.  These are generally used to
20a2b0a27dSPhilippe Mathieu-Daudé# reduce the amount of duplication between instruction patterns.
21a2b0a27dSPhilippe Mathieu-Daudé
2234fe9fa3SPhilippe Mathieu-Daudé@rs_rt_rd       ...... rs:5  rt:5  rd:5  ..... ......   &r sa=0
2334fe9fa3SPhilippe Mathieu-Daudé@rt_rd          ...... ..... rt:5  rd:5  ..... ......   &r sa=0 rs=0
2434fe9fa3SPhilippe Mathieu-Daudé@rs             ...... rs:5  ..... ..........  ......   &r sa=0      rt=0 rd=0
2534fe9fa3SPhilippe Mathieu-Daudé@rd             ...... ..........  rd:5  ..... ......   &r sa=0 rs=0 rt=0
26a2b0a27dSPhilippe Mathieu-Daudé
2718f86aecSPhilippe Mathieu-Daudé@ldst            ...... base:5 rt:5 offset:s16          &i
28aaaa82a9SPhilippe Mathieu-Daudé
29a2b0a27dSPhilippe Mathieu-Daudé###########################################################################
30a2b0a27dSPhilippe Mathieu-Daudé
31a2b0a27dSPhilippe Mathieu-DaudéMFHI1           011100 0000000000  ..... 00000 010000   @rd
32a2b0a27dSPhilippe Mathieu-DaudéMTHI1           011100 .....  0000000000 00000 010001   @rs
33a2b0a27dSPhilippe Mathieu-DaudéMFLO1           011100 0000000000  ..... 00000 010010   @rd
34a2b0a27dSPhilippe Mathieu-DaudéMTLO1           011100 .....  0000000000 00000 010011   @rs
35a2b0a27dSPhilippe Mathieu-Daudé
36709324dcSPhilippe Mathieu-Daudé# MMI0
37709324dcSPhilippe Mathieu-Daudé
38709324dcSPhilippe Mathieu-DaudéPSUBW           011100 ..... ..... ..... 00001 001000   @rs_rt_rd
398bd42c00SPhilippe Mathieu-DaudéPCGTW           011100 ..... ..... ..... 00010 001000   @rs_rt_rd
40709324dcSPhilippe Mathieu-DaudéPSUBH           011100 ..... ..... ..... 00101 001000   @rs_rt_rd
418bd42c00SPhilippe Mathieu-DaudéPCGTH           011100 ..... ..... ..... 00110 001000   @rs_rt_rd
42709324dcSPhilippe Mathieu-DaudéPSUBB           011100 ..... ..... ..... 01001 001000   @rs_rt_rd
438bd42c00SPhilippe Mathieu-DaudéPCGTB           011100 ..... ..... ..... 01010 001000   @rs_rt_rd
44a9ea77f2SPhilippe Mathieu-DaudéPEXTLW          011100 ..... ..... ..... 10010 001000   @rs_rt_rd
4571c49f39SPhilippe Mathieu-DaudéPPACW           011100 ..... ..... ..... 10011 001000   @rs_rt_rd
46a9ea77f2SPhilippe Mathieu-DaudéPEXTLH          011100 ..... ..... ..... 10110 001000   @rs_rt_rd
47a9ea77f2SPhilippe Mathieu-DaudéPEXTLB          011100 ..... ..... ..... 11010 001000   @rs_rt_rd
48709324dcSPhilippe Mathieu-Daudé
490bc69372SPhilippe Mathieu-Daudé# MMI1
500bc69372SPhilippe Mathieu-Daudé
5182fbf9fcSPhilippe Mathieu-DaudéPCEQW           011100 ..... ..... ..... 00010 101000   @rs_rt_rd
5282fbf9fcSPhilippe Mathieu-DaudéPCEQH           011100 ..... ..... ..... 00110 101000   @rs_rt_rd
5382fbf9fcSPhilippe Mathieu-DaudéPCEQB           011100 ..... ..... ..... 01010 101000   @rs_rt_rd
540bc69372SPhilippe Mathieu-DaudéPEXTUW          011100 ..... ..... ..... 10010 101000   @rs_rt_rd
550bc69372SPhilippe Mathieu-Daudé
56a2b0a27dSPhilippe Mathieu-Daudé# MMI2
57a2b0a27dSPhilippe Mathieu-Daudé
58a2b0a27dSPhilippe Mathieu-DaudéPCPYLD          011100 ..... ..... ..... 01110 001001   @rs_rt_rd
592d4ab117SPhilippe Mathieu-DaudéPAND            011100 ..... ..... ..... 10010 001001   @rs_rt_rd
602d4ab117SPhilippe Mathieu-DaudéPXOR            011100 ..... ..... ..... 10011 001001   @rs_rt_rd
61dce4808fSPhilippe Mathieu-DaudéPROT3W          011100 00000 ..... ..... 11111 001001   @rt_rd
62a2b0a27dSPhilippe Mathieu-Daudé
63a2b0a27dSPhilippe Mathieu-Daudé# MMI3
64a2b0a27dSPhilippe Mathieu-Daudé
65a2b0a27dSPhilippe Mathieu-DaudéPCPYUD          011100 ..... ..... ..... 01110 101001   @rs_rt_rd
662d4ab117SPhilippe Mathieu-DaudéPOR             011100 ..... ..... ..... 10010 101001   @rs_rt_rd
672d4ab117SPhilippe Mathieu-DaudéPNOR            011100 ..... ..... ..... 10011 101001   @rs_rt_rd
68a2b0a27dSPhilippe Mathieu-DaudéPCPYH           011100 00000 ..... ..... 11011 101001   @rt_rd
69aaaa82a9SPhilippe Mathieu-Daudé
70aaaa82a9SPhilippe Mathieu-Daudé# SPECIAL
71aaaa82a9SPhilippe Mathieu-Daudé
72aaaa82a9SPhilippe Mathieu-DaudéLQ              011110 ..... ..... ................     @ldst
7380ad6303SPhilippe Mathieu-DaudéSQ              011111 ..... ..... ................     @ldst
74