tcg: Add tcg_get_insn_start_param
MicroBlaze will shortly need to update a parameter in place. Add an interface to read to match that for write. Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
683a247ed7
commit
2271a6ac0a
@ -777,11 +777,26 @@ static inline TCGv_i32 TCGV_HIGH(TCGv_i64 t)
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline TCGArg tcg_get_insn_param(TCGOp *op, int arg)
|
||||
{
|
||||
return op->args[arg];
|
||||
}
|
||||
|
||||
static inline void tcg_set_insn_param(TCGOp *op, int arg, TCGArg v)
|
||||
{
|
||||
op->args[arg] = v;
|
||||
}
|
||||
|
||||
static inline target_ulong tcg_get_insn_start_param(TCGOp *op, int arg)
|
||||
{
|
||||
#if TARGET_LONG_BITS <= TCG_TARGET_REG_BITS
|
||||
return tcg_get_insn_param(op, arg);
|
||||
#else
|
||||
return tcg_get_insn_param(op, arg * 2) |
|
||||
((uint64_t)tcg_get_insn_param(op, arg * 2 + 1) << 32);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void tcg_set_insn_start_param(TCGOp *op, int arg, target_ulong v)
|
||||
{
|
||||
#if TARGET_LONG_BITS <= TCG_TARGET_REG_BITS
|
||||
|
Loading…
x
Reference in New Issue
Block a user