From c7d4475a701c61f964a593d6fe81a8ea7a33add7 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 10 Oct 2012 16:01:35 -0700 Subject: tcg-ia64: Implement deposit Note that in the general reg=reg,reg case we're restricted to 16-bit insertions. This makes it easy to allow "any" constant as input, as post-truncation it will fit into the constant load insn for which we have room in the bundle. Signed-off-by: Richard Henderson Signed-off-by: Aurelien Jarno --- tcg/ia64/tcg-target.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tcg/ia64/tcg-target.h') diff --git a/tcg/ia64/tcg-target.h b/tcg/ia64/tcg-target.h index 5e7d970982..4255ca5225 100644 --- a/tcg/ia64/tcg-target.h +++ b/tcg/ia64/tcg-target.h @@ -133,8 +133,11 @@ typedef enum { #define TCG_TARGET_HAS_rot_i64 1 #define TCG_TARGET_HAS_movcond_i32 1 #define TCG_TARGET_HAS_movcond_i64 1 -#define TCG_TARGET_HAS_deposit_i32 0 -#define TCG_TARGET_HAS_deposit_i64 0 +#define TCG_TARGET_HAS_deposit_i32 1 +#define TCG_TARGET_HAS_deposit_i64 1 + +#define TCG_TARGET_deposit_i32_valid(ofs, len) ((len) <= 16) +#define TCG_TARGET_deposit_i64_valid(ofs, len) ((len) <= 16) /* optional instructions automatically implemented */ #define TCG_TARGET_HAS_neg_i32 0 /* sub r1, r0, r3 */ -- cgit v1.2.3