mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-25 15:56:51 +00:00
target/riscv: Name the argument sets for all of insn32 formats
Backports commit e761799796ac2211b9706753c459e117e7be58fa from qemu
This commit is contained in:
parent
7e6d37b51d
commit
d51505f6e9
|
@ -34,9 +34,13 @@
|
||||||
%imm_u 12:s20 !function=ex_shift_12
|
%imm_u 12:s20 !function=ex_shift_12
|
||||||
|
|
||||||
# Argument sets:
|
# Argument sets:
|
||||||
|
&empty
|
||||||
&b imm rs2 rs1
|
&b imm rs2 rs1
|
||||||
&i imm rs1 rd
|
&i imm rs1 rd
|
||||||
|
&j imm rd
|
||||||
&r rd rs1 rs2
|
&r rd rs1 rs2
|
||||||
|
&s imm rs1 rs2
|
||||||
|
&u imm rd
|
||||||
&shift shamt rs1 rd
|
&shift shamt rs1 rd
|
||||||
&atomic aq rl rs2 rs1 rd
|
&atomic aq rl rs2 rs1 rd
|
||||||
|
|
||||||
|
@ -44,9 +48,9 @@
|
||||||
@r ....... ..... ..... ... ..... ....... &r %rs2 %rs1 %rd
|
@r ....... ..... ..... ... ..... ....... &r %rs2 %rs1 %rd
|
||||||
@i ............ ..... ... ..... ....... &i imm=%imm_i %rs1 %rd
|
@i ............ ..... ... ..... ....... &i imm=%imm_i %rs1 %rd
|
||||||
@b ....... ..... ..... ... ..... ....... &b imm=%imm_b %rs2 %rs1
|
@b ....... ..... ..... ... ..... ....... &b imm=%imm_b %rs2 %rs1
|
||||||
@s ....... ..... ..... ... ..... ....... imm=%imm_s %rs2 %rs1
|
@s ....... ..... ..... ... ..... ....... &s imm=%imm_s %rs2 %rs1
|
||||||
@u .................... ..... ....... imm=%imm_u %rd
|
@u .................... ..... ....... &u imm=%imm_u %rd
|
||||||
@j .................... ..... ....... imm=%imm_j %rd
|
@j .................... ..... ....... &j imm=%imm_j %rd
|
||||||
|
|
||||||
@sh ...... ...... ..... ... ..... ....... &shift shamt=%sh10 %rs1 %rd
|
@sh ...... ...... ..... ... ..... ....... &shift shamt=%sh10 %rs1 %rd
|
||||||
@csr ............ ..... ... ..... ....... %csr %rs1 %rd
|
@csr ............ ..... ... ..... ....... %csr %rs1 %rd
|
||||||
|
|
|
@ -715,11 +715,29 @@ static bool gen_shift(DisasContext *ctx, arg_r *a,
|
||||||
#include "insn_trans/trans_rvd.inc.c"
|
#include "insn_trans/trans_rvd.inc.c"
|
||||||
#include "insn_trans/trans_privileged.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);
|
bool decode_insn16(DisasContext *ctx, uint16_t insn);
|
||||||
/* auto-generated decoder*/
|
/* auto-generated decoder*/
|
||||||
#include "decode_insn16.inc.c"
|
#include "decode_insn16.inc.c"
|
||||||
#include "insn_trans/trans_rvc.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)
|
static void decode_opc(DisasContext *ctx)
|
||||||
{
|
{
|
||||||
/* check for compressed insn */
|
/* check for compressed insn */
|
||||||
|
|
Loading…
Reference in a new issue