[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/10] target-arm: Remove gen_ld64() and gen_st64()
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 02/10] target-arm: Remove gen_ld64() and gen_st64() |
Date: |
Thu, 23 May 2013 12:59:56 +0100 |
gen_ld64() and gen_st64() are used only in one place, so just
expand them out.
Signed-off-by: Peter Maydell <address@hidden>
---
target-arm/translate.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 75972cf..8e46527 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -871,12 +871,6 @@ static inline TCGv_i32 gen_ld32(TCGv_i32 addr, int index)
tcg_gen_qemu_ld32u(tmp, addr, index);
return tmp;
}
-static inline TCGv_i64 gen_ld64(TCGv_i32 addr, int index)
-{
- TCGv_i64 tmp = tcg_temp_new_i64();
- tcg_gen_qemu_ld64(tmp, addr, index);
- return tmp;
-}
static inline void gen_st8(TCGv_i32 val, TCGv_i32 addr, int index)
{
tcg_gen_qemu_st8(val, addr, index);
@@ -892,11 +886,6 @@ static inline void gen_st32(TCGv_i32 val, TCGv_i32 addr,
int index)
tcg_gen_qemu_st32(val, addr, index);
tcg_temp_free_i32(val);
}
-static inline void gen_st64(TCGv_i64 val, TCGv_i32 addr, int index)
-{
- tcg_gen_qemu_st64(val, addr, index);
- tcg_temp_free_i64(val);
-}
static inline void gen_set_pc_im(uint32_t val)
{
@@ -3867,15 +3856,15 @@ static int disas_neon_ls_insn(CPUARMState * env,
DisasContext *s, uint32_t insn)
tcg_gen_addi_i32(addr, addr, 1 << size);
}
if (size == 3) {
+ tmp64 = tcg_temp_new_i64();
if (load) {
- tmp64 = gen_ld64(addr, IS_USER(s));
+ tcg_gen_qemu_ld64(tmp64, addr, IS_USER(s));
neon_store_reg64(tmp64, rd);
- tcg_temp_free_i64(tmp64);
} else {
- tmp64 = tcg_temp_new_i64();
neon_load_reg64(tmp64, rd);
- gen_st64(tmp64, addr, IS_USER(s));
+ tcg_gen_qemu_st64(tmp64, addr, IS_USER(s));
}
+ tcg_temp_free_i64(tmp64);
tcg_gen_addi_i32(addr, addr, stride);
} else {
for (pass = 0; pass < 2; pass++) {
--
1.7.9.5
- Re: [Qemu-devel] [PATCH 03/10] target-arm: Remove uses of gen_{ld, st}* from iWMMXt code, (continued)
- [Qemu-devel] [PATCH 06/10] target-arm: Remove gen_{ld, st}* from basic ARM insns, Peter Maydell, 2013/05/23
- [Qemu-devel] [PATCH 01/10] target-arm: Don't use TCGv when we mean TCGv_i32, Peter Maydell, 2013/05/23
- [Qemu-devel] [PATCH 04/10] target-arm: Remove uses of gen_{ld, st}* from Neon code, Peter Maydell, 2013/05/23
- [Qemu-devel] [PATCH 08/10] target-arm: Remove gen_{ld, st}* from thumb2 decoder, Peter Maydell, 2013/05/23
- [Qemu-devel] [PATCH 10/10] target-arm: Abstract out load/store from a vaddr in AArch32, Peter Maydell, 2013/05/23
- [Qemu-devel] [PATCH 05/10] target-arm: Remove use of gen_{ld, st}* from ldrex/strex, Peter Maydell, 2013/05/23
- [Qemu-devel] [PATCH 02/10] target-arm: Remove gen_ld64() and gen_st64(),
Peter Maydell <=
- Re: [Qemu-devel] [PATCH 00/10] target-arm: fix TCGv usage (AArch64 prep), Blue Swirl, 2013/05/26