The main goal of the patchset is to move the ARM_FEATURE_VFP test from outside of the disas_vfp_insn() to inside each of the trans_* functions, so that we get the proper ISA check for each case.
At the end of that, it is easy to eliminate all of the remaining tests vs ARM_FEATURE_VFP* in favor of the preferred ISAR tests. Finally, there are a couple of cleanups to vfp.decode to make things a bit more legible. r~ Richard Henderson (19): target/arm: Fix field extract from MVFR[0-2] target/arm: Rename isar_feature_aa32_simd_r32 target/arm: Use isar_feature_aa32_simd_r32 more places target/arm: Set MVFR0.FPSP for ARMv5 cpus target/arm: Add isar_feature_aa32_simd_r16 target/arm: Rename isar_feature_aa32_fpdp_v2 target/arm: Add isar_feature_aa32_{fpsp_v2,fpsp_v3,fpdp_v3} target/arm: Perform fpdp_v2 check first target/arm: Replace ARM_FEATURE_VFP3 checks with fp{sp,dp}_v3 target/arm: Add missing checks for fpsp_v2 target/arm: Replace ARM_FEATURE_VFP4 with isar_feature_aa32_simdfmac target/arm: Remove ARM_FEATURE_VFP check from disas_vfp_insn target/arm: Move VLLDM and VLSTM to vfp.decode target/arm: Move the vfp decodetree calls next to the base isa linux-user/arm: Replace ARM_FEATURE_VFP* tests for HWCAP target/arm: Remove ARM_FEATURE_VFP* target/arm: Add formats for some vfp 2 and 3-register insns target/arm: Split VFM decode target/arm: Split VMINMAXNM decode target/arm/cpu.h | 56 ++-- target/arm/vfp-uncond.decode | 12 +- target/arm/vfp.decode | 153 +++++------ hw/intc/armv7m_nvic.c | 20 +- linux-user/arm/signal.c | 4 +- linux-user/elfload.c | 24 +- target/arm/arch_dump.c | 11 +- target/arm/cpu.c | 50 +--- target/arm/cpu64.c | 3 - target/arm/helper.c | 17 +- target/arm/kvm32.c | 5 - target/arm/kvm64.c | 1 - target/arm/m_helper.c | 11 +- target/arm/machine.c | 3 +- target/arm/translate-vfp.inc.c | 467 ++++++++++++++++++++------------- target/arm/translate.c | 121 ++------- 16 files changed, 479 insertions(+), 479 deletions(-) -- 2.20.1