mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
tcg/tci: Support negsetcond
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
ce27066de1
commit
9204be8dec
2 changed files with 15 additions and 2 deletions
|
@ -10,7 +10,7 @@
|
|||
#define TCG_TARGET_HAS_bswap16_i32 1
|
||||
#define TCG_TARGET_HAS_bswap32_i32 1
|
||||
#define TCG_TARGET_HAS_extract2_i32 0
|
||||
#define TCG_TARGET_HAS_negsetcond_i32 0
|
||||
#define TCG_TARGET_HAS_negsetcond_i32 1
|
||||
#define TCG_TARGET_HAS_qemu_st8_i32 0
|
||||
|
||||
#if TCG_TARGET_REG_BITS == 64
|
||||
|
@ -19,7 +19,7 @@
|
|||
#define TCG_TARGET_HAS_bswap32_i64 1
|
||||
#define TCG_TARGET_HAS_bswap64_i64 1
|
||||
#define TCG_TARGET_HAS_extract2_i64 0
|
||||
#define TCG_TARGET_HAS_negsetcond_i64 0
|
||||
#define TCG_TARGET_HAS_negsetcond_i64 1
|
||||
#define TCG_TARGET_HAS_add2_i32 1
|
||||
#define TCG_TARGET_HAS_sub2_i32 1
|
||||
#define TCG_TARGET_HAS_add2_i64 1
|
||||
|
|
|
@ -79,6 +79,8 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
|
|||
|
||||
case INDEX_op_setcond_i32:
|
||||
case INDEX_op_setcond_i64:
|
||||
case INDEX_op_negsetcond_i32:
|
||||
case INDEX_op_negsetcond_i64:
|
||||
case INDEX_op_deposit_i32:
|
||||
case INDEX_op_deposit_i64:
|
||||
return C_O1_I2(r, r, r);
|
||||
|
@ -966,6 +968,17 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
|
|||
args[3], args[4], args[5]);
|
||||
break;
|
||||
|
||||
case INDEX_op_negsetcond_i32:
|
||||
tcg_out_op_rrrc(s, INDEX_op_setcond_i32,
|
||||
args[0], args[1], args[2], args[3]);
|
||||
tcg_out_op_rr(s, INDEX_op_neg, args[0], args[0]);
|
||||
break;
|
||||
case INDEX_op_negsetcond_i64:
|
||||
tcg_out_op_rrrc(s, INDEX_op_setcond_i64,
|
||||
args[0], args[1], args[2], args[3]);
|
||||
tcg_out_op_rr(s, INDEX_op_neg, args[0], args[0]);
|
||||
break;
|
||||
|
||||
CASE_32_64(ld8u)
|
||||
CASE_32_64(ld8s)
|
||||
CASE_32_64(ld16u)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue