From: aurel32 Date: Tue, 21 Oct 2008 11:30:45 +0000 (+0000) Subject: TCG: add tcg_const_local_tl() X-Git-Tag: stefano.display-merge-start~285 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=bdffd4a9d7254a765e56132587bc814195e094a2;p=qemu-xen-4.5-testing.git TCG: add tcg_const_local_tl() Signed-off-by: Aurelien Jarno git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5504 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h index 8ddaf0b40..18be6412d 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 diff --git a/tcg/tcg.c b/tcg/tcg.c index 1b7bf5ca3..9d090f70d 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -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; diff --git a/tcg/tcg.h b/tcg/tcg.h index bc5b90269..1471ca34a 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -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