mirror of https://github.com/xemu-project/xemu.git
tcg/ppc32: implement deposit_i32
Signed-off-by: malc <av1474@comtv.ru>
This commit is contained in:
parent
64ba39af27
commit
350dba6ce6
|
@ -1790,6 +1790,16 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, const TCGArg *args,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case INDEX_op_deposit_i32:
|
||||||
|
tcg_out32 (s, RLWIMI
|
||||||
|
| RA (args[0])
|
||||||
|
| RS (args[2])
|
||||||
|
| SH (args[3])
|
||||||
|
| MB (32 - args[3] - args[4])
|
||||||
|
| ME (31 - args[3])
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
tcg_dump_ops (s, stderr);
|
tcg_dump_ops (s, stderr);
|
||||||
tcg_abort ();
|
tcg_abort ();
|
||||||
|
@ -1885,6 +1895,8 @@ static const TCGTargetOpDef ppc_op_defs[] = {
|
||||||
{ INDEX_op_ext16s_i32, { "r", "r" } },
|
{ INDEX_op_ext16s_i32, { "r", "r" } },
|
||||||
{ INDEX_op_ext16u_i32, { "r", "r" } },
|
{ INDEX_op_ext16u_i32, { "r", "r" } },
|
||||||
|
|
||||||
|
{ INDEX_op_deposit_i32, { "r", "0", "r" } },
|
||||||
|
|
||||||
{ -1 },
|
{ -1 },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ enum {
|
||||||
#define TCG_TARGET_HAS_eqv_i32 1
|
#define TCG_TARGET_HAS_eqv_i32 1
|
||||||
#define TCG_TARGET_HAS_nand_i32 1
|
#define TCG_TARGET_HAS_nand_i32 1
|
||||||
#define TCG_TARGET_HAS_nor_i32 1
|
#define TCG_TARGET_HAS_nor_i32 1
|
||||||
#define TCG_TARGET_HAS_deposit_i32 0
|
#define TCG_TARGET_HAS_deposit_i32 1
|
||||||
|
|
||||||
#define TCG_AREG0 TCG_REG_R27
|
#define TCG_AREG0 TCG_REG_R27
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue