This is not complete, but shows the direction I'd like to go. It may well help what Peter is doing with the neon decodetree conversion. It may be helpful to apply before the conversion in order to reduce the number of special cases. As may continuing with the cleanup; I'll probably work on that more next week.
r~ Richard Henderson (6): target/arm: Create gen_gvec_[us]sra target/arm: Create gen_gvec_{u,s}{rshr,rsra} target/arm: Create gen_gvec_{sri,sli} target/arm: Remove unnecessary range check for VSHL target/arm: Tidy handle_vec_simd_shri target/arm: Wrap vector compare zero GVecGen2 in GVecGen2Fn target/arm/helper.h | 40 ++ target/arm/translate.h | 39 +- target/arm/translate-a64.c | 102 +--- target/arm/translate.c | 1074 +++++++++++++++++++++++------------- target/arm/vec_helper.c | 113 ++++ 5 files changed, 903 insertions(+), 465 deletions(-) -- 2.20.1