73053f6228
target/mips: Remove one MSA unnecessary decodetree overlap group
...
Only the MSA generic opcode was overlapping with the other
instructions. Since the previous commit removed it, we can
now remove the overlap group. The decodetree script forces
us to re-indent the opcodes.
Diff trivial to review using `git-diff --ignore-all-space`.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-32-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
75d12c8c24
target/mips: Remove generic MSA opcode
...
All opcodes have been converted to decodetree. The generic
MSA handler is now pointless, remove it.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-31-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
643ec9022e
target/mips: Convert CTCMSA opcode to decodetree
...
Convert the CTCMSA (Copy To Control MSA register) opcode
to decodetree. Since it overlaps with the SLDI opcode,
use a decodetree overlap group.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-30-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
6f74237691
target/mips: Convert CFCMSA opcode to decodetree
...
Convert the CFCMSA (Copy From Control MSA register) opcode
to decodetree. Since it overlaps with the SPLATI opcode,
use a decodetree overlap group.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-29-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
62ba0e855a
target/mips: Convert MSA MOVE.V opcode to decodetree
...
Convert the MOVE.V opcode (Vector Move) to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-28-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
97fe675519
target/mips: Convert MSA COPY_S and INSERT opcodes to decodetree
...
Convert the COPY_S (Element Copy to GPR Signed) opcode
and INSERT (GPR Insert Element) opcode to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-27-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
2f2745c81a
target/mips: Convert MSA COPY_U opcode to decodetree
...
Convert the COPY_U opcode (Element Copy to GPR Unsigned) to
decodetree.
Since the 'n' field is a constant value, use tcg_constant_i32()
instead of a TCG temporary.
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-26-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
0a510c934c
target/mips: Convert MSA ELM instruction format to decodetree
...
Convert instructions with an immediate element index
and data format df/n to decodetree.
Since the 'data format' and 'n' fields are constant values,
use tcg_constant_i32() instead of a TCG temporaries.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-25-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
0a086d2e80
target/mips: Convert MSA 3R instruction format to decodetree (part 4/4)
...
Convert 3-register operations to decodetree.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-24-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
c79db8c239
target/mips: Convert MSA 3R instruction format to decodetree (part 3/4)
...
Convert BINSL (Vector Bit Insert Left) and BINSR (Vector Bit
Insert Right) opcodes to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-23-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
f18708a53a
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 >
2021-11-02 14:32:32 +01:00
67bedef51a
target/mips: Convert MSA 3R instruction format to decodetree (part 1/4)
...
Convert 3-register operations to decodetree.
Since the 'data format' field is a constant value, use
tcg_constant_i32() instead of a TCG temporary.
Note, the format definition could be named @3rf_b (for
3R with a df field BYTE-based) but since the instruction
class is named '3R', we simply call the format @3r to
ease reviewing the msa.decode file.
However we directly call the trans_msa_3rf() function,
which handles the BYTE-based df field.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-21-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
2d5246f305
target/mips: Convert MSA 3RF instruction format to decodetree (DF_WORD)
...
Convert 3-register floating-point or fixed-point operations
to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-20-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
ff29e5d3c0
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 >
2021-11-02 14:32:32 +01:00
7acb5c78a7
target/mips: Convert MSA VEC instruction format to decodetree
...
Convert 3-register instructions with implicit data formats
to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-18-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
adcff99a6b
target/mips: Convert MSA 2R instruction format to decodetree
...
Convert 2-register operations to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-17-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
675bf34a6f
target/mips: Convert MSA FILL opcode to decodetree
...
Convert the FILL opcode (Vector Fill from GPR) to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-16-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
5c5b64000c
target/mips: Convert MSA 2RF instruction format to decodetree
...
Convert 2-register floating-point operations to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-15-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
ce121fe234
target/mips: Convert MSA load/store instruction format to decodetree
...
Convert load/store instructions to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-14-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
7cc351ff9d
target/mips: Convert MSA I8 instruction format to decodetree
...
Convert instructions with an 8-bit immediate value and either
implicit data format or data format df to decodetree.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-13-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
a9e1795833
target/mips: Convert MSA SHF opcode to decodetree
...
Convert the SHF opcode (Immediate Set Shuffle Elements) to decodetree.
Since the 'data format' field is a constant value, use
tcg_constant_i32() instead of a TCG temporary.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-12-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
4701d23aef
target/mips: Convert MSA BIT instruction format to decodetree
...
Convert instructions with an immediate bit index and
data format df/m to decodetree.
Since the 'data format' field is a constant value, use
tcg_constant_i32() instead of a TCG temporary.
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-11-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
b8e74816ec
target/mips: Convert MSA I5 instruction format to decodetree
...
Convert instructions with a 5-bit immediate value to decodetree.
Since the 'data format' field is a constant value, use
tcg_constant_i32() instead of a TCG temporary.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-10-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
75094c334e
target/mips: Convert MSA LDI opcode to decodetree
...
Convert the LDI opcode (Immediate Load) to decodetree. Since it
overlaps with the generic MSA handler, use a decodetree overlap
group.
Since the 'data format' field is a constant value, use
tcg_constant_i32() instead of a TCG temporary.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-9-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
d61566cf78
target/mips: Rename sa16 -> sa, bz_df -> bz -> bz_v
...
This 'shift amount' format is not always 16-bit, so name it
generically as 'sa'. This will help to unify the various
arg_msa decodetree generated structures.
Rename the @bz format -> @bz_v (specific @bz with df=3) and
@bz_df -> @bz (generic @bz).
Since we modify &msa_bz, re-align its arguments, so the other
structures added in the following commits stay visually aligned.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20211028210843.2120802-8-f4bug@amsat.org >
2021-11-02 14:32:32 +01:00
34fe9fa368
target/mips: Rename 'rtype' as 'r'
...
We'll soon have more opcode and decoded arguments, and 'rtype'
is not very helpful. Naming it simply 'r' ease reviewing the
.decode files when we have many opcodes.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210801234202.3167676-5-f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2021-08-25 13:02:14 +02:00
f5c6ee0c6b
target/mips: Merge msa32/msa64 decodetree definitions
...
We don't need to maintain 2 sets of decodetree definitions.
Merge them into a single file.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210617174636.2902654-3-f4bug@amsat.org >
2021-06-24 16:48:08 +02:00