aboutsummaryrefslogtreecommitdiff
path: root/target-arm/translate.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2013-05-23 12:59:56 +0100
committerBlue Swirl <blauwirbel@gmail.com>2013-05-26 10:05:05 +0000
commit8ed1237d6401e0bd9461417b58b07e545bbc4b7e (patch)
treec00e1750e7791e1044d26f8e2b344998a9521bd5 /target-arm/translate.c
parent39d5492a186d156d4acc306ae258d7e04f8a6c29 (diff)
target-arm: Remove gen_ld64() and gen_st64()
gen_ld64() and gen_st64() are used only in one place, so just expand them out. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-arm/translate.c')
-rw-r--r--target-arm/translate.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 75972cfb24..8e4652736e 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++) {