[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 42/47] target/arm: Use tcg_constant in LD1, ST1
From: |
Richard Henderson |
Subject: |
[PATCH 42/47] target/arm: Use tcg_constant in LD1, ST1 |
Date: |
Tue, 26 Apr 2022 09:30:38 -0700 |
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/translate-sve.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
index 727f5cca36..fcab15a6ec 100644
--- a/target/arm/translate-sve.c
+++ b/target/arm/translate-sve.c
@@ -6426,7 +6426,6 @@ static bool trans_LD1_zpiz(DisasContext *s, arg_LD1_zpiz
*a)
gen_helper_gvec_mem_scatter *fn = NULL;
bool be = s->be_data == MO_BE;
bool mte = s->mte_active[0];
- TCGv_i64 imm;
if (a->esz < a->msz || (a->esz == a->msz && !a->u)) {
return false;
@@ -6448,9 +6447,8 @@ static bool trans_LD1_zpiz(DisasContext *s, arg_LD1_zpiz
*a)
/* Treat LD1_zpiz (zn[x] + imm) the same way as LD1_zprz (rn + zm[x])
* by loading the immediate into the scalar parameter.
*/
- imm = tcg_const_i64(a->imm << a->msz);
- do_mem_zpz(s, a->rd, a->pg, a->rn, 0, imm, a->msz, false, fn);
- tcg_temp_free_i64(imm);
+ do_mem_zpz(s, a->rd, a->pg, a->rn, 0,
+ tcg_constant_i64(a->imm << a->msz), a->msz, false, fn);
return true;
}
@@ -6609,7 +6607,6 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1_zpiz
*a)
gen_helper_gvec_mem_scatter *fn = NULL;
bool be = s->be_data == MO_BE;
bool mte = s->mte_active[0];
- TCGv_i64 imm;
if (a->esz < a->msz) {
return false;
@@ -6631,9 +6628,8 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1_zpiz
*a)
/* Treat ST1_zpiz (zn[x] + imm) the same way as ST1_zprz (rn + zm[x])
* by loading the immediate into the scalar parameter.
*/
- imm = tcg_const_i64(a->imm << a->msz);
- do_mem_zpz(s, a->rd, a->pg, a->rn, 0, imm, a->msz, true, fn);
- tcg_temp_free_i64(imm);
+ do_mem_zpz(s, a->rd, a->pg, a->rn, 0,
+ tcg_constant_i64(a->imm << a->msz), a->msz, true, fn);
return true;
}
--
2.34.1
- [PATCH 39/47] target/arm: Use tcg_constant in {incr, wrap}_last_active, (continued)
- [PATCH 39/47] target/arm: Use tcg_constant in {incr, wrap}_last_active, Richard Henderson, 2022/04/26
- [PATCH 38/47] target/arm: Use tcg_constant in FCPY, CPY, Richard Henderson, 2022/04/26
- [PATCH 36/47] target/arm: Use tcg_constant for trans_INDEX_*, Richard Henderson, 2022/04/26
- [PATCH 40/47] target/arm: Use tcg_constant in do_clast_scalar, Richard Henderson, 2022/04/26
- [PATCH 41/47] target/arm: Use tcg_constant in WHILE, Richard Henderson, 2022/04/26
- [PATCH 42/47] target/arm: Use tcg_constant in LD1, ST1,
Richard Henderson <=
- [PATCH 43/47] target/arm: Use tcg_constant in SUBR, Richard Henderson, 2022/04/26
- [PATCH 45/47] target/arm: Use tcg_constant for predicate descriptors, Richard Henderson, 2022/04/26
- [PATCH 44/47] target/arm: Use tcg_constant in do_zzi_{sat, ool}, do_fp_imm, Richard Henderson, 2022/04/26
- [PATCH 46/47] target/arm: Use tcg_constant for do_brk{2,3}, Richard Henderson, 2022/04/26
- [PATCH 47/47] target/arm: Use tcg_constant for vector descriptor, Richard Henderson, 2022/04/26