Philippe Mathieu-Daudé
5f21f30d85
target/mips: Introduce decodetree helpers for MSA LSA/DLSA opcodes
...
Add the LSA opcode to the MSA32 decodetree config, add DLSA
to a new config for the MSA64 ASE, and call decode_msa64()
in the main decode_opc() loop.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20201215225757.764263-23-f4bug@amsat.org >
2021-01-14 17:13:53 +01:00
Philippe Mathieu-Daudé
96e5b4c758
target/mips: Use decode_ase_msa() generated from decodetree
...
Now that we can decode the MSA ASE with decode_ase_msa(),
use it and remove the previous code, now unreachable.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20201215225757.764263-21-f4bug@amsat.org >
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
2021-01-14 17:13:53 +01:00
Philippe Mathieu-Daudé
c7a9ef7517
target/mips: Introduce decode tree bindings for MSA ASE
...
Introduce the 'msa32' decodetree config for the 32-bit MSA ASE.
We start by decoding:
- the branch instructions,
- all instructions based on the MSA opcode.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20201215225757.764263-20-f4bug@amsat.org >
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
2021-01-14 17:13:53 +01:00
Philippe Mathieu-Daudé
878b87b541
target/mips: Pass TCGCond argument to MSA gen_check_zero_element()
...
Simplify gen_check_zero_element() by passing the TCGCond
argument along.
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20201215225757.764263-25-f4bug@amsat.org >
2021-01-14 17:13:53 +01:00
Philippe Mathieu-Daudé
80e64a380f
target/mips: Extract MSA translation routines
...
Extract 2200 lines from the huge translate.c to a new file,
'msa_translate.c'. As there are too many inter-dependencies
we don't compile it as another object yet, but keep including
it in the big translate.o. We gain in code maintainability.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20201120210844.2625602-5-f4bug@amsat.org >
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
2021-01-14 17:13:53 +01:00