Much of the existing usage of neon_reg_offset is broken for big-endian hosts, as it computes the offset of the first 32-bit unit, not the offset of the entire vector register.
Fix this by separating out the different usages. Make the whole thing look a bit more like the aarch64 code. r~ Richard Henderson (11): target/arm: Introduce neon_full_reg_offset target/arm: Move neon_element_offset to translate.c target/arm: Use neon_element_offset in neon_load/store_reg target/arm: Use neon_element_offset in vfp_reg_offset target/arm: Add read/write_neon_element32 target/arm: Expand read/write_neon_element32 to all MemOp target/arm: Rename neon_load_reg32 to vfp_load_reg32 target/arm: Add read/write_neon_element64 target/arm: Rename neon_load_reg64 to vfp_load_reg64 target/arm: Simplify do_long_3d and do_2scalar_long target/arm: Improve do_prewiden_3d target/arm/translate.c | 153 ++++++++--- target/arm/translate-neon.c.inc | 464 +++++++++++++++++--------------- target/arm/translate-vfp.c.inc | 341 ++++++++++------------- 3 files changed, 510 insertions(+), 448 deletions(-) -- 2.25.1