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
This commit is contained in:
aurel32 2008-10-21 11:30:45 +00:00
parent cf960816f9
commit bdffd4a9d7
3 changed files with 20 additions and 0 deletions

View File

@ -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

View File

@ -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;

View File

@ -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