mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
target/riscv: Name the argument sets for all of insn32 formats
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Palmer Dabbelt <palmer@sifive.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
This commit is contained in:
parent
6e2716d8ca
commit
e761799796
2 changed files with 25 additions and 3 deletions
|
@ -34,9 +34,13 @@
|
|||
%imm_u 12:s20 !function=ex_shift_12
|
||||
|
||||
# Argument sets:
|
||||
&empty
|
||||
&b imm rs2 rs1
|
||||
&i imm rs1 rd
|
||||
&j imm rd
|
||||
&r rd rs1 rs2
|
||||
&s imm rs1 rs2
|
||||
&u imm rd
|
||||
&shift shamt rs1 rd
|
||||
&atomic aq rl rs2 rs1 rd
|
||||
|
||||
|
@ -44,9 +48,9 @@
|
|||
@r ....... ..... ..... ... ..... ....... &r %rs2 %rs1 %rd
|
||||
@i ............ ..... ... ..... ....... &i imm=%imm_i %rs1 %rd
|
||||
@b ....... ..... ..... ... ..... ....... &b imm=%imm_b %rs2 %rs1
|
||||
@s ....... ..... ..... ... ..... ....... imm=%imm_s %rs2 %rs1
|
||||
@u .................... ..... ....... imm=%imm_u %rd
|
||||
@j .................... ..... ....... imm=%imm_j %rd
|
||||
@s ....... ..... ..... ... ..... ....... &s imm=%imm_s %rs2 %rs1
|
||||
@u .................... ..... ....... &u imm=%imm_u %rd
|
||||
@j .................... ..... ....... &j imm=%imm_j %rd
|
||||
|
||||
@sh ...... ...... ..... ... ..... ....... &shift shamt=%sh10 %rs1 %rd
|
||||
@csr ............ ..... ... ..... ....... %csr %rs1 %rd
|
||||
|
|
|
@ -687,11 +687,29 @@ static bool gen_shift(DisasContext *ctx, arg_r *a,
|
|||
#include "insn_trans/trans_rvd.inc.c"
|
||||
#include "insn_trans/trans_privileged.inc.c"
|
||||
|
||||
/*
|
||||
* Auto-generated decoder.
|
||||
* Note that the 16-bit decoder reuses some of the trans_* functions
|
||||
* initially declared by the 32-bit decoder, which results in duplicate
|
||||
* declaration warnings. Suppress them.
|
||||
*/
|
||||
#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
|
||||
# pragma GCC diagnostic push
|
||||
# pragma GCC diagnostic ignored "-Wredundant-decls"
|
||||
# ifdef __clang__
|
||||
# pragma GCC diagnostic ignored "-Wtypedef-redefinition"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
bool decode_insn16(DisasContext *ctx, uint16_t insn);
|
||||
/* auto-generated decoder*/
|
||||
#include "decode_insn16.inc.c"
|
||||
#include "insn_trans/trans_rvc.inc.c"
|
||||
|
||||
#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
|
||||
# pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
static void decode_opc(DisasContext *ctx)
|
||||
{
|
||||
/* check for compressed insn */
|
||||
|
|
Loading…
Reference in a new issue