2021-02-14 17:57:24 +01:00
|
|
|
# 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.
|
|
|
|
|
2021-07-27 21:13:49 +02:00
|
|
|
&r rs rt rd sa
|
2021-02-14 17:57:24 +01:00
|
|
|
|
2021-07-27 21:13:49 +02:00
|
|
|
&i base rt offset
|
2021-02-13 14:58:18 +01:00
|
|
|
|
2021-02-14 17:57:24 +01:00
|
|
|
###########################################################################
|
|
|
|
# Named instruction formats. These are generally used to
|
|
|
|
# reduce the amount of duplication between instruction patterns.
|
|
|
|
|
2021-07-27 21:13:49 +02:00
|
|
|
@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
|
2021-02-14 17:57:24 +01:00
|
|
|
|
2021-07-27 21:13:49 +02:00
|
|
|
@ldst ...... base:5 rt:5 offset:16 &i
|
2021-02-13 14:58:18 +01:00
|
|
|
|
2021-02-14 17:57:24 +01:00
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
MFHI1 011100 0000000000 ..... 00000 010000 @rd
|
2021-02-14 17:20:19 +01:00
|
|
|
MTHI1 011100 ..... 0000000000 00000 010001 @rs
|
2021-02-14 17:57:24 +01:00
|
|
|
MFLO1 011100 0000000000 ..... 00000 010010 @rd
|
2021-02-14 17:20:19 +01:00
|
|
|
MTLO1 011100 ..... 0000000000 00000 010011 @rs
|
2021-02-13 11:57:56 +01:00
|
|
|
|
2021-02-13 14:40:18 +01:00
|
|
|
# MMI0
|
|
|
|
|
|
|
|
PSUBW 011100 ..... ..... ..... 00001 001000 @rs_rt_rd
|
2021-02-13 14:22:32 +01:00
|
|
|
PCGTW 011100 ..... ..... ..... 00010 001000 @rs_rt_rd
|
2021-02-13 14:40:18 +01:00
|
|
|
PSUBH 011100 ..... ..... ..... 00101 001000 @rs_rt_rd
|
2021-02-13 14:22:32 +01:00
|
|
|
PCGTH 011100 ..... ..... ..... 00110 001000 @rs_rt_rd
|
2021-02-13 14:40:18 +01:00
|
|
|
PSUBB 011100 ..... ..... ..... 01001 001000 @rs_rt_rd
|
2021-02-13 14:22:32 +01:00
|
|
|
PCGTB 011100 ..... ..... ..... 01010 001000 @rs_rt_rd
|
2021-02-13 14:42:30 +01:00
|
|
|
PEXTLW 011100 ..... ..... ..... 10010 001000 @rs_rt_rd
|
2021-02-13 14:45:09 +01:00
|
|
|
PPACW 011100 ..... ..... ..... 10011 001000 @rs_rt_rd
|
2021-02-13 14:42:30 +01:00
|
|
|
PEXTLH 011100 ..... ..... ..... 10110 001000 @rs_rt_rd
|
|
|
|
PEXTLB 011100 ..... ..... ..... 11010 001000 @rs_rt_rd
|
2021-02-13 14:40:18 +01:00
|
|
|
|
2021-02-13 20:42:14 +01:00
|
|
|
# MMI1
|
|
|
|
|
2021-02-13 14:43:52 +01:00
|
|
|
PCEQW 011100 ..... ..... ..... 00010 101000 @rs_rt_rd
|
|
|
|
PCEQH 011100 ..... ..... ..... 00110 101000 @rs_rt_rd
|
|
|
|
PCEQB 011100 ..... ..... ..... 01010 101000 @rs_rt_rd
|
2021-02-13 20:42:14 +01:00
|
|
|
PEXTUW 011100 ..... ..... ..... 10010 101000 @rs_rt_rd
|
|
|
|
|
2021-02-13 12:04:43 +01:00
|
|
|
# MMI2
|
|
|
|
|
|
|
|
PCPYLD 011100 ..... ..... ..... 01110 001001 @rs_rt_rd
|
2021-02-13 12:24:44 +01:00
|
|
|
PAND 011100 ..... ..... ..... 10010 001001 @rs_rt_rd
|
|
|
|
PXOR 011100 ..... ..... ..... 10011 001001 @rs_rt_rd
|
2021-02-13 14:46:56 +01:00
|
|
|
PROT3W 011100 00000 ..... ..... 11111 001001 @rt_rd
|
2021-02-13 12:04:43 +01:00
|
|
|
|
2021-02-13 11:57:56 +01:00
|
|
|
# MMI3
|
|
|
|
|
2021-02-13 12:04:43 +01:00
|
|
|
PCPYUD 011100 ..... ..... ..... 01110 101001 @rs_rt_rd
|
2021-02-13 12:24:44 +01:00
|
|
|
POR 011100 ..... ..... ..... 10010 101001 @rs_rt_rd
|
|
|
|
PNOR 011100 ..... ..... ..... 10011 101001 @rs_rt_rd
|
2021-02-13 11:57:56 +01:00
|
|
|
PCPYH 011100 00000 ..... ..... 11011 101001 @rt_rd
|
2021-02-13 14:58:18 +01:00
|
|
|
|
|
|
|
# SPECIAL
|
|
|
|
|
|
|
|
LQ 011110 ..... ..... ................ @ldst
|
2021-02-13 14:47:47 +01:00
|
|
|
SQ 011111 ..... ..... ................ @ldst
|