summaryrefslogblamecommitdiffstats
path: root/target/mips/tcg/tx79.decode
blob: 57d87a2076a1529aa329517dcf0c6d0ce744f999 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                                                           
                            
 
                               
 



                                                                           



                                                                              
 
                                                          
 


                                                                           
                                                           
                                                           
                                                           
 


                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 

                                                                 
 

      


                                                                 

                                                                 


                                                                 

                                                                 
                                                              
 

      
                                                                 

                                                                 
                                                              



                                                             
                                                             
# Toshiba C790's instruction set
#
# Copyright (C) 2021  Philippe Mathieu-Daudé
#
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# Toshiba Appendix B  C790-Specific Instruction Set Details

###########################################################################
# Named attribute sets.  These are used to make nice(er) names
# when creating helpers common to those for the individual
# instruction patterns.

&r               rs rt rd sa

&i               base rt offset

###########################################################################
# Named instruction formats.  These are generally used to
# reduce the amount of duplication between instruction patterns.

@rs_rt_rd       ...... rs:5  rt:5  rd:5  ..... ......   &r sa=0
@rt_rd          ...... ..... rt:5  rd:5  ..... ......   &r sa=0 rs=0
@rs             ...... rs:5  ..... ..........  ......   &r sa=0      rt=0 rd=0
@rd             ...... ..........  rd:5  ..... ......   &r sa=0 rs=0 rt=0

@ldst            ...... base:5 rt:5 offset:16           &i

###########################################################################

MFHI1           011100 0000000000  ..... 00000 010000   @rd
MTHI1           011100 .....  0000000000 00000 010001   @rs
MFLO1           011100 0000000000  ..... 00000 010010   @rd
MTLO1           011100 .....  0000000000 00000 010011   @rs

# MMI0

PSUBW           011100 ..... ..... ..... 00001 001000   @rs_rt_rd
PCGTW           011100 ..... ..... ..... 00010 001000   @rs_rt_rd
PSUBH           011100 ..... ..... ..... 00101 001000   @rs_rt_rd
PCGTH           011100 ..... ..... ..... 00110 001000   @rs_rt_rd
PSUBB           011100 ..... ..... ..... 01001 001000   @rs_rt_rd
PCGTB           011100 ..... ..... ..... 01010 001000   @rs_rt_rd
PEXTLW          011100 ..... ..... ..... 10010 001000   @rs_rt_rd
PPACW           011100 ..... ..... ..... 10011 001000   @rs_rt_rd
PEXTLH          011100 ..... ..... ..... 10110 001000   @rs_rt_rd
PEXTLB          011100 ..... ..... ..... 11010 001000   @rs_rt_rd

# MMI1

PCEQW           011100 ..... ..... ..... 00010 101000   @rs_rt_rd
PCEQH           011100 ..... ..... ..... 00110 101000   @rs_rt_rd
PCEQB           011100 ..... ..... ..... 01010 101000   @rs_rt_rd
PEXTUW          011100 ..... ..... ..... 10010 101000   @rs_rt_rd

# MMI2

PCPYLD          011100 ..... ..... ..... 01110 001001   @rs_rt_rd
PAND            011100 ..... ..... ..... 10010 001001   @rs_rt_rd
PXOR            011100 ..... ..... ..... 10011 001001   @rs_rt_rd
PROT3W          011100 00000 ..... ..... 11111 001001   @rt_rd

# MMI3

PCPYUD          011100 ..... ..... ..... 01110 101001   @rs_rt_rd
POR             011100 ..... ..... ..... 10010 101001   @rs_rt_rd
PNOR            011100 ..... ..... ..... 10011 101001   @rs_rt_rd
PCPYH           011100 00000 ..... ..... 11011 101001   @rt_rd

# SPECIAL

LQ              011110 ..... ..... ................     @ldst
SQ              011111 ..... ..... ................     @ldst