This is now a simple wrapper for tcg_temp_new_i64.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
TCGv_i64 clean_data_tbi(DisasContext *s, TCGv_i64 addr)
{
- TCGv_i64 clean = new_tmp_a64(s);
+ TCGv_i64 clean = tcg_temp_new_i64();
#ifdef CONFIG_USER_ONLY
gen_top_byte_ignore(s, clean, addr, s->tbid);
#else
desc = FIELD_DP32(desc, MTEDESC, WRITE, is_write);
desc = FIELD_DP32(desc, MTEDESC, SIZEM1, (1 << log2_size) - 1);
- ret = new_tmp_a64(s);
+ ret = tcg_temp_new_i64();
gen_helper_mte_check(ret, cpu_env, tcg_constant_i32(desc), addr);
return ret;
desc = FIELD_DP32(desc, MTEDESC, WRITE, is_write);
desc = FIELD_DP32(desc, MTEDESC, SIZEM1, size - 1);
- ret = new_tmp_a64(s);
+ ret = tcg_temp_new_i64();
gen_helper_mte_check(ret, cpu_env, tcg_constant_i32(desc), addr);
return ret;
}
}
-TCGv_i64 new_tmp_a64(DisasContext *s)
-{
- return tcg_temp_new_i64();
-}
-
TCGv_i64 new_tmp_a64_zero(DisasContext *s)
{
- TCGv_i64 t = new_tmp_a64(s);
+ TCGv_i64 t = tcg_temp_new_i64();
tcg_gen_movi_i64(t, 0);
return t;
}
*/
TCGv_i64 read_cpu_reg(DisasContext *s, int reg, int sf)
{
- TCGv_i64 v = new_tmp_a64(s);
+ TCGv_i64 v = tcg_temp_new_i64();
if (reg != 31) {
if (sf) {
tcg_gen_mov_i64(v, cpu_X[reg]);
TCGv_i64 read_cpu_reg_sp(DisasContext *s, int reg, int sf)
{
- TCGv_i64 v = new_tmp_a64(s);
+ TCGv_i64 v = tcg_temp_new_i64();
if (sf) {
tcg_gen_mov_i64(v, cpu_X[reg]);
} else {
desc = FIELD_DP32(desc, MTEDESC, TBI, s->tbid);
desc = FIELD_DP32(desc, MTEDESC, TCMA, s->tcma);
- tcg_rt = new_tmp_a64(s);
+ tcg_rt = tcg_temp_new_i64();
gen_helper_mte_check_zva(tcg_rt, cpu_env,
tcg_constant_i32(desc), cpu_reg(s, rt));
} else {
modifier = new_tmp_a64_zero(s);
}
if (s->pauth_active) {
- dst = new_tmp_a64(s);
+ dst = tcg_temp_new_i64();
if (op3 == 2) {
gen_helper_autia(dst, cpu_env, cpu_reg(s, rn), modifier);
} else {
if (opc == 1) {
TCGv_i64 lr = cpu_reg(s, 30);
if (dst == lr) {
- TCGv_i64 tmp = new_tmp_a64(s);
+ TCGv_i64 tmp = tcg_temp_new_i64();
tcg_gen_mov_i64(tmp, dst);
dst = tmp;
}
}
btype_mod = opc & 1;
if (s->pauth_active) {
- dst = new_tmp_a64(s);
+ dst = tcg_temp_new_i64();
modifier = cpu_reg_sp(s, op4);
if (op3 == 2) {
gen_helper_autia(dst, cpu_env, cpu_reg(s, rn), modifier);
if (opc == 9) {
TCGv_i64 lr = cpu_reg(s, 30);
if (dst == lr) {
- TCGv_i64 tmp = new_tmp_a64(s);
+ TCGv_i64 tmp = tcg_temp_new_i64();
tcg_gen_mov_i64(tmp, dst);
dst = tmp;
}
tcg_rt = cpu_reg(s, rt);
- clean_addr = new_tmp_a64(s);
+ clean_addr = tcg_temp_new_i64();
gen_pc_plus_diff(s, clean_addr, imm);
if (is_vector) {
do_fp_ld(s, rt, clean_addr, size);
tcg_rn = cpu_reg(s, rn);
if (op) {
- tcg_y = new_tmp_a64(s);
+ tcg_y = tcg_temp_new_i64();
tcg_gen_not_i64(tcg_y, cpu_reg(s, rm));
} else {
tcg_y = cpu_reg(s, rm);
/* Load the arguments for the new comparison. */
if (is_imm) {
- tcg_y = new_tmp_a64(s);
+ tcg_y = tcg_temp_new_i64();
tcg_gen_movi_i64(tcg_y, y);
} else {
tcg_y = cpu_reg(s, y);
tcg_rd = cpu_reg(s, rd);
if (!sf && is_signed) {
- tcg_n = new_tmp_a64(s);
- tcg_m = new_tmp_a64(s);
+ tcg_n = tcg_temp_new_i64();
+ tcg_m = tcg_temp_new_i64();
tcg_gen_ext32s_i64(tcg_n, cpu_reg(s, rn));
tcg_gen_ext32s_i64(tcg_m, cpu_reg(s, rm));
} else {
default:
g_assert_not_reached();
}
- tcg_val = new_tmp_a64(s);
+ tcg_val = tcg_temp_new_i64();
tcg_gen_andi_i64(tcg_val, cpu_reg(s, rm), mask);
}
if (itof) {
TCGv_i64 tcg_int = cpu_reg(s, rn);
if (!sf) {
- TCGv_i64 tcg_extend = new_tmp_a64(s);
+ TCGv_i64 tcg_extend = tcg_temp_new_i64();
if (is_signed) {
tcg_gen_ext32s_i64(tcg_extend, tcg_int);
int dsize = 64;
int esize = 8 << size;
int elements = dsize/esize;
- TCGv_i64 tcg_rn = new_tmp_a64(s);
- TCGv_i64 tcg_rd = new_tmp_a64(s);
+ TCGv_i64 tcg_rn = tcg_temp_new_i64();
+ TCGv_i64 tcg_rd = tcg_temp_new_i64();
int i;
if (size >= 3) {
#ifndef TARGET_ARM_TRANSLATE_A64_H
#define TARGET_ARM_TRANSLATE_A64_H
-TCGv_i64 new_tmp_a64(DisasContext *s);
TCGv_i64 new_tmp_a64_zero(DisasContext *s);
TCGv_i64 cpu_reg(DisasContext *s, int reg);
TCGv_i64 cpu_reg_sp(DisasContext *s, int reg);
return false;
}
if (sve_access_check(s)) {
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_shli_i64(addr, cpu_reg(s, a->rm), dtype_msz(a->dtype));
tcg_gen_add_i64(addr, addr, cpu_reg_sp(s, a->rn));
do_ld_zpa(s, a->rd, a->pg, addr, a->dtype, a->nreg);
if (sve_access_check(s)) {
int vsz = vec_full_reg_size(s);
int elements = vsz >> dtype_esz[a->dtype];
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_addi_i64(addr, cpu_reg_sp(s, a->rn),
(a->imm * elements * (a->nreg + 1))
}
s->is_nonstreaming = true;
if (sve_access_check(s)) {
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_shli_i64(addr, cpu_reg(s, a->rm), dtype_msz(a->dtype));
tcg_gen_add_i64(addr, addr, cpu_reg_sp(s, a->rn));
do_mem_zpa(s, a->rd, a->pg, addr, a->dtype, 1, false,
int vsz = vec_full_reg_size(s);
int elements = vsz >> dtype_esz[a->dtype];
int off = (a->imm * elements) << dtype_msz(a->dtype);
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_addi_i64(addr, cpu_reg_sp(s, a->rn), off);
do_mem_zpa(s, a->rd, a->pg, addr, a->dtype, 1, false,
}
if (sve_access_check(s)) {
int msz = dtype_msz(a->dtype);
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_shli_i64(addr, cpu_reg(s, a->rm), msz);
tcg_gen_add_i64(addr, addr, cpu_reg_sp(s, a->rn));
do_ldrq(s, a->rd, a->pg, addr, a->dtype);
return false;
}
if (sve_access_check(s)) {
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_addi_i64(addr, cpu_reg_sp(s, a->rn), a->imm * 16);
do_ldrq(s, a->rd, a->pg, addr, a->dtype);
}
}
s->is_nonstreaming = true;
if (sve_access_check(s)) {
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_shli_i64(addr, cpu_reg(s, a->rm), dtype_msz(a->dtype));
tcg_gen_add_i64(addr, addr, cpu_reg_sp(s, a->rn));
do_ldro(s, a->rd, a->pg, addr, a->dtype);
}
s->is_nonstreaming = true;
if (sve_access_check(s)) {
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_addi_i64(addr, cpu_reg_sp(s, a->rn), a->imm * 32);
do_ldro(s, a->rd, a->pg, addr, a->dtype);
}
return false;
}
if (sve_access_check(s)) {
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_shli_i64(addr, cpu_reg(s, a->rm), a->msz);
tcg_gen_add_i64(addr, addr, cpu_reg_sp(s, a->rn));
do_st_zpa(s, a->rd, a->pg, addr, a->msz, a->esz, a->nreg);
if (sve_access_check(s)) {
int vsz = vec_full_reg_size(s);
int elements = vsz >> a->esz;
- TCGv_i64 addr = new_tmp_a64(s);
+ TCGv_i64 addr = tcg_temp_new_i64();
tcg_gen_addi_i64(addr, cpu_reg_sp(s, a->rn),
(a->imm * elements * (a->nreg + 1)) << a->msz);