[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/26] target/arm: Make functions used by translate-neon global
From: |
Peter Maydell |
Subject: |
[PULL 15/26] target/arm: Make functions used by translate-neon global |
Date: |
Mon, 10 May 2021 13:25:37 +0100 |
Make the remaining functions needed by the translate-neon code
global.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210430132740.10391-13-peter.maydell@linaro.org
---
target/arm/translate-a32.h | 8 ++++++++
target/arm/translate.c | 10 ++--------
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h
index e767366f694..3ddb76b76b5 100644
--- a/target/arm/translate-a32.h
+++ b/target/arm/translate-a32.h
@@ -39,6 +39,8 @@ void gen_set_pc_im(DisasContext *s, target_ulong val);
void gen_lookup_tb(DisasContext *s);
long vfp_reg_offset(bool dp, unsigned reg);
long neon_full_reg_offset(unsigned reg);
+long neon_element_offset(int reg, int element, MemOp memop);
+void gen_rev16(TCGv_i32 dest, TCGv_i32 var);
static inline TCGv_i32 load_cpu_offset(int offset)
{
@@ -130,4 +132,10 @@ DO_GEN_ST(32, MO_UL)
/* Set NZCV flags from the high 4 bits of var. */
#define gen_set_nzcv(var) gen_set_cpsr(var, CPSR_NZCV)
+/* Swap low and high halfwords. */
+static inline void gen_swap_half(TCGv_i32 dest, TCGv_i32 var)
+{
+ tcg_gen_rotri_i32(dest, var, 16);
+}
+
#endif
diff --git a/target/arm/translate.c b/target/arm/translate.c
index 7ff0425c752..18de16ebd0a 100644
--- a/target/arm/translate.c
+++ b/target/arm/translate.c
@@ -325,7 +325,7 @@ static void gen_smul_dual(TCGv_i32 a, TCGv_i32 b)
}
/* Byteswap each halfword. */
-static void gen_rev16(TCGv_i32 dest, TCGv_i32 var)
+void gen_rev16(TCGv_i32 dest, TCGv_i32 var)
{
TCGv_i32 tmp = tcg_temp_new_i32();
TCGv_i32 mask = tcg_const_i32(0x00ff00ff);
@@ -346,12 +346,6 @@ static void gen_revsh(TCGv_i32 dest, TCGv_i32 var)
tcg_gen_ext16s_i32(dest, var);
}
-/* Swap low and high halfwords. */
-static void gen_swap_half(TCGv_i32 dest, TCGv_i32 var)
-{
- tcg_gen_rotri_i32(dest, var, 16);
-}
-
/* Dual 16-bit add. Result placed in t0 and t1 is marked as dead.
tmp = (t0 ^ t1) & 0x8000;
t0 &= ~0x8000;
@@ -1104,7 +1098,7 @@ long neon_full_reg_offset(unsigned reg)
* Return the offset of a 2**SIZE piece of a NEON register, at index ELE,
* where 0 is the least significant end of the register.
*/
-static long neon_element_offset(int reg, int element, MemOp memop)
+long neon_element_offset(int reg, int element, MemOp memop)
{
int element_size = 1 << (memop & MO_SIZE);
int ofs = element * element_size;
--
2.20.1
- [PULL 04/26] target/arm: Move constant expanders to translate.h, (continued)
- [PULL 04/26] target/arm: Move constant expanders to translate.h, Peter Maydell, 2021/05/10
- [PULL 06/26] target/arm: Make functions used by m-nocp global, Peter Maydell, 2021/05/10
- [PULL 05/26] target/arm: Share unallocated_encoding() and gen_exception_insn(), Peter Maydell, 2021/05/10
- [PULL 07/26] target/arm: Split m-nocp trans functions into their own file, Peter Maydell, 2021/05/10
- [PULL 08/26] target/arm: Move gen_aa32 functions to translate-a32.h, Peter Maydell, 2021/05/10
- [PULL 12/26] target/arm: Move vfp_reg_ptr() to translate-neon.c.inc, Peter Maydell, 2021/05/10
- [PULL 10/26] target/arm: Make functions used by translate-vfp global, Peter Maydell, 2021/05/10
- [PULL 09/26] target/arm: Move vfp_{load, store}_reg{32, 64} to translate-vfp.c.inc, Peter Maydell, 2021/05/10
- [PULL 11/26] target/arm: Make translate-vfp.c.inc its own compilation unit, Peter Maydell, 2021/05/10
- [PULL 14/26] target/arm: Move NeonGenThreeOpEnvFn typedef to translate.h, Peter Maydell, 2021/05/10
- [PULL 15/26] target/arm: Make functions used by translate-neon global,
Peter Maydell <=
- [PULL 13/26] target/arm: Delete unused typedef, Peter Maydell, 2021/05/10
- [PULL 16/26] target/arm: Make translate-neon.c.inc its own compilation unit, Peter Maydell, 2021/05/10
- [PULL 18/26] hw/sd/omap_mmc: Use device_cold_reset() instead of device_legacy_reset(), Peter Maydell, 2021/05/10
- [PULL 17/26] target/arm: Make WFI a NOP for userspace emulators, Peter Maydell, 2021/05/10
- [PULL 22/26] hw/arm/imx25_pdk: Fix error message for invalid RAM size, Peter Maydell, 2021/05/10
- [PULL 20/26] include/qemu/bswap.h: Handle being included outside extern "C" block, Peter Maydell, 2021/05/10
- [PULL 19/26] osdep: Make os-win32.h and os-posix.h handle 'extern "C"' themselves, Peter Maydell, 2021/05/10
- [PULL 21/26] include/disas/dis-asm.h: Handle being included outside 'extern "C"', Peter Maydell, 2021/05/10
- [PULL 23/26] hw/misc/mps2-scc: Add "QEMU interface" comment, Peter Maydell, 2021/05/10
- [PULL 25/26] hw/arm/mps2-tz: Implement AN524 memory remapping via machine property, Peter Maydell, 2021/05/10