[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/47] target/arm: Use tcg_constant in disas_ldst_*
From: |
Richard Henderson |
Subject: |
[PATCH 10/47] target/arm: Use tcg_constant in disas_ldst_* |
Date: |
Tue, 26 Apr 2022 09:30:06 -0700 |
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/translate-a64.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index 1caca38a79..4cdc869d52 100644
--- a/target/arm/translate-a64.c
+++ b/target/arm/translate-a64.c
@@ -3693,7 +3693,7 @@ static void disas_ldst_multiple_struct(DisasContext *s,
uint32_t insn)
mop = endian | size | align;
elements = (is_q ? 16 : 8) >> size;
- tcg_ebytes = tcg_const_i64(1 << size);
+ tcg_ebytes = tcg_constant_i64(1 << size);
for (r = 0; r < rpt; r++) {
int e;
for (e = 0; e < elements; e++) {
@@ -3709,7 +3709,6 @@ static void disas_ldst_multiple_struct(DisasContext *s,
uint32_t insn)
}
}
}
- tcg_temp_free_i64(tcg_ebytes);
if (!is_store) {
/* For non-quad operations, setting a slice of the low
@@ -3839,7 +3838,7 @@ static void disas_ldst_single_struct(DisasContext *s,
uint32_t insn)
total);
mop = finalize_memop(s, scale);
- tcg_ebytes = tcg_const_i64(1 << scale);
+ tcg_ebytes = tcg_constant_i64(1 << scale);
for (xs = 0; xs < selem; xs++) {
if (replicate) {
/* Load and replicate to all elements */
@@ -3861,7 +3860,6 @@ static void disas_ldst_single_struct(DisasContext *s,
uint32_t insn)
tcg_gen_add_i64(clean_addr, clean_addr, tcg_ebytes);
rt = (rt + 1) % 32;
}
- tcg_temp_free_i64(tcg_ebytes);
if (is_postidx) {
if (rm == 31) {
@@ -4052,7 +4050,7 @@ static void disas_ldst_tag(DisasContext *s, uint32_t insn)
if (is_zero) {
TCGv_i64 clean_addr = clean_data_tbi(s, addr);
- TCGv_i64 tcg_zero = tcg_const_i64(0);
+ TCGv_i64 tcg_zero = tcg_constant_i64(0);
int mem_index = get_mem_index(s);
int i, n = (1 + is_pair) << LOG2_TAG_GRANULE;
@@ -4062,7 +4060,6 @@ static void disas_ldst_tag(DisasContext *s, uint32_t insn)
tcg_gen_addi_i64(clean_addr, clean_addr, 8);
tcg_gen_qemu_st_i64(tcg_zero, clean_addr, mem_index, MO_UQ);
}
- tcg_temp_free_i64(tcg_zero);
}
if (index != 0) {
--
2.34.1
- [PATCH 08/47] target/arm: Use tcg_constant in gen_compare_and_swap_pair, (continued)
- [PATCH 08/47] target/arm: Use tcg_constant in gen_compare_and_swap_pair, Richard Henderson, 2022/04/26
- [PATCH 13/47] target/arm: Use tcg_constant in shift_reg_imm, Richard Henderson, 2022/04/26
- [PATCH 12/47] target/arm: Use tcg_constant in disas_movw_imm, Richard Henderson, 2022/04/26
- [PATCH 37/47] target/arm: Use tcg_constant in SINCDEC, INCDEC, Richard Henderson, 2022/04/26
- [PATCH 15/47] target/arm: Use tcg_constant in handle_{rev16,crc32}, Richard Henderson, 2022/04/26
- [PATCH 10/47] target/arm: Use tcg_constant in disas_ldst_*,
Richard Henderson <=
- [PATCH 20/47] target/arm: Use tcg_constant in 2misc expanders, Richard Henderson, 2022/04/26
- [PATCH 21/47] target/arm: Use tcg_constant in balance of translate-a64.c, Richard Henderson, 2022/04/26
- [PATCH 16/47] target/arm: Use tcg_constant in disas_data_proc_2src, Richard Henderson, 2022/04/26
- [PATCH 28/47] target/arm: Use tcg_constant for op_s_{rri,rxi}_rot, Richard Henderson, 2022/04/26
- [PATCH 26/47] target/arm: Use tcg_constant for do_coproc_insn, Richard Henderson, 2022/04/26