aboutsummaryrefslogtreecommitdiff
path: root/target/mips/tcg/msa.decode
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>2021-10-19 13:51:07 +0200
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>2021-11-02 14:32:32 +0100
commitf18708a53adc0549526fbeba5d1e892c0c4bf49c (patch)
tree196a116b86aa8e3bd32640936a7f2a80526deb86 /target/mips/tcg/msa.decode
parent67bedef51aa1144975c619f8559848819cdc309a (diff)
target/mips: Convert MSA 3R instruction format to decodetree (part 2/4)
Convert 3-register operations to decodetree. Per the Encoding of Operation Field for 3R Instruction Format' (Table 3.25), these instructions are not defined for the BYTE format. Therefore the TRANS_DF_iii_b() macro returns 'false' in that case, because no such instruction is decoded. Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20211028210843.2120802-22-f4bug@amsat.org>
Diffstat (limited to 'target/mips/tcg/msa.decode')
-rw-r--r--target/mips/tcg/msa.decode11
1 files changed, 11 insertions, 0 deletions
diff --git a/target/mips/tcg/msa.decode b/target/mips/tcg/msa.decode
index 4b14acce26..0e2f474cde 100644
--- a/target/mips/tcg/msa.decode
+++ b/target/mips/tcg/msa.decode
@@ -89,10 +89,21 @@ BNZ 010001 111 .. ..... ................ @bz
SRARI 011110 010 ....... ..... ..... 001010 @bit
SRLRI 011110 011 ....... ..... ..... 001010 @bit
+ DOTP_S 011110 000.. ..... ..... ..... 010011 @3r
+ DOTP_U 011110 001.. ..... ..... ..... 010011 @3r
+ DPADD_S 011110 010.. ..... ..... ..... 010011 @3r
+ DPADD_U 011110 011.. ..... ..... ..... 010011 @3r
+ DPSUB_S 011110 100.. ..... ..... ..... 010011 @3r
+ DPSUB_U 011110 101.. ..... ..... ..... 010011 @3r
+
SLD 011110 000 .. ..... ..... ..... 010100 @3r
SPLAT 011110 001 .. ..... ..... ..... 010100 @3r
VSHF 011110 000 .. ..... ..... ..... 010101 @3r
+ HADD_S 011110 100.. ..... ..... ..... 010101 @3r
+ HADD_U 011110 101.. ..... ..... ..... 010101 @3r
+ HSUB_S 011110 110.. ..... ..... ..... 010101 @3r
+ HSUB_U 011110 111.. ..... ..... ..... 010101 @3r
FCAF 011110 0000 . ..... ..... ..... 011010 @3rf_w
FCUN 011110 0001 . ..... ..... ..... 011010 @3rf_w