diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-21 11:30:45 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-21 11:30:45 +0000 |
commit | bdffd4a9d7254a765e56132587bc814195e094a2 (patch) | |
tree | 864d60c29e0f9be4b96ca008095696b3804dbdb4 | |
parent | cf960816f90559ddf26cb8445e55e9dffeaf5174 (diff) |
TCG: add tcg_const_local_tl()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5504 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | tcg/tcg-op.h | 2 | ||||
-rw-r--r-- | tcg/tcg.c | 16 | ||||
-rw-r--r-- | tcg/tcg.h | 2 |
3 files changed, 20 insertions, 0 deletions
diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h index 8ddaf0b40e..18be6412d8 100644 --- a/tcg/tcg-op.h +++ b/tcg/tcg-op.h @@ -1774,6 +1774,7 @@ static inline void tcg_gen_qemu_st64(TCGv arg, TCGv addr, int mem_index) #define tcg_gen_nor_tl tcg_gen_nor_i64 #define tcg_gen_orc_tl tcg_gen_orc_i64 #define tcg_const_tl tcg_const_i64 +#define tcg_const_local_tl tcg_const_local_i64 #else #define TCG_TYPE_TL TCG_TYPE_I32 #define tcg_gen_movi_tl tcg_gen_movi_i32 @@ -1831,6 +1832,7 @@ static inline void tcg_gen_qemu_st64(TCGv arg, TCGv addr, int mem_index) #define tcg_gen_nor_tl tcg_gen_nor_i32 #define tcg_gen_orc_tl tcg_gen_orc_i32 #define tcg_const_tl tcg_const_i32 +#define tcg_const_local_tl tcg_const_local_i32 #endif #if TCG_TARGET_REG_BITS == 32 @@ -475,6 +475,22 @@ TCGv tcg_const_i64(int64_t val) return t0; } +TCGv tcg_const_local_i32(int32_t val) +{ + TCGv t0; + t0 = tcg_temp_local_new(TCG_TYPE_I32); + tcg_gen_movi_i32(t0, val); + return t0; +} + +TCGv tcg_const_local_i64(int64_t val) +{ + TCGv t0; + t0 = tcg_temp_local_new(TCG_TYPE_I64); + tcg_gen_movi_i64(t0, val); + return t0; +} + void tcg_register_helper(void *func, const char *name) { TCGContext *s = &tcg_ctx; @@ -385,6 +385,8 @@ void tcg_dump_ops(TCGContext *s, FILE *outfile); void dump_ops(const uint16_t *opc_buf, const TCGArg *opparam_buf); TCGv tcg_const_i32(int32_t val); TCGv tcg_const_i64(int64_t val); +TCGv tcg_const_local_i32(int32_t val); +TCGv tcg_const_local_i64(int64_t val); #if TCG_TARGET_REG_BITS == 32 #define tcg_const_ptr tcg_const_i32 |