aboutsummaryrefslogtreecommitdiff
path: root/target/mips/tcg/msa.decode
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>2021-10-19 10:35:20 +0200
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>2021-11-02 14:32:32 +0100
commitff29e5d3c0ac7f88b9cf1840451f5fc6c958171d (patch)
tree04c354fce4edcbfac8d9a00b14ddd68cdf2d66cd /target/mips/tcg/msa.decode
parent7acb5c78a75421851b778b463c88c232ce1dc184 (diff)
target/mips: Convert MSA 3RF instruction format to decodetree (DF_HALF)
Convert 3-register floating-point or fixed-point operations to decodetree. 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-19-f4bug@amsat.org>
Diffstat (limited to 'target/mips/tcg/msa.decode')
-rw-r--r--target/mips/tcg/msa.decode9
1 files changed, 9 insertions, 0 deletions
diff --git a/target/mips/tcg/msa.decode b/target/mips/tcg/msa.decode
index afcb868aad..f90b2d21c9 100644
--- a/target/mips/tcg/msa.decode
+++ b/target/mips/tcg/msa.decode
@@ -22,6 +22,7 @@
%bit_df 16:7 !function=bit_df
%bit_m 16:7 !function=bit_m
%2r_df_w 16:1 !function=plus_2
+%3r_df_h 21:1 !function=plus_1
@lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &r
@ldst ...... sa:s10 ws:5 wd:5 .... df:2 &msa_i
@@ -30,6 +31,7 @@
@vec ...... ..... wt:5 ws:5 wd:5 ...... &msa_r df=0
@2r ...... ........ df:2 ws:5 wd:5 ...... &msa_r wt=0
@2rf ...... ......... . ws:5 wd:5 ...... &msa_r wt=0 df=%2r_df_w
+@3rf_h ...... .... . wt:5 ws:5 wd:5 ...... &msa_r df=%3r_df_h
@u5 ...... ... df:2 sa:5 ws:5 wd:5 ...... &msa_i
@s5 ...... ... df:2 sa:s5 ws:5 wd:5 ...... &msa_i
@i8_df ...... df:2 sa:s8 ws:5 wd:5 ...... &msa_i
@@ -84,6 +86,13 @@ BNZ 010001 111 .. ..... ................ @bz
SRARI 011110 010 ....... ..... ..... 001010 @bit
SRLRI 011110 011 ....... ..... ..... 001010 @bit
+ MUL_Q 011110 0100 . ..... ..... ..... 011100 @3rf_h
+ MADD_Q 011110 0101 . ..... ..... ..... 011100 @3rf_h
+ MSUB_Q 011110 0110 . ..... ..... ..... 011100 @3rf_h
+ MULR_Q 011110 1100 . ..... ..... ..... 011100 @3rf_h
+ MADDR_Q 011110 1101 . ..... ..... ..... 011100 @3rf_h
+ MSUBR_Q 011110 1110 . ..... ..... ..... 011100 @3rf_h
+
AND_V 011110 00000 ..... ..... ..... 011110 @vec
OR_V 011110 00001 ..... ..... ..... 011110 @vec
NOR_V 011110 00010 ..... ..... ..... 011110 @vec