mirror of https://github.com/xemu-project/xemu.git
target/arm: Use gvec for neon padd
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20240524232121.284515-33-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
a7e4eec6fb
commit
a11e54ed29
|
@ -354,8 +354,6 @@ DEF_HELPER_3(neon_qrshl_s64, i64, env, i64, i64)
|
|||
|
||||
DEF_HELPER_2(neon_add_u8, i32, i32, i32)
|
||||
DEF_HELPER_2(neon_add_u16, i32, i32, i32)
|
||||
DEF_HELPER_2(neon_padd_u8, i32, i32, i32)
|
||||
DEF_HELPER_2(neon_padd_u16, i32, i32, i32)
|
||||
DEF_HELPER_2(neon_sub_u8, i32, i32, i32)
|
||||
DEF_HELPER_2(neon_sub_u16, i32, i32, i32)
|
||||
DEF_HELPER_2(neon_mul_u8, i32, i32, i32)
|
||||
|
|
|
@ -745,11 +745,6 @@ uint32_t HELPER(neon_add_u16)(uint32_t a, uint32_t b)
|
|||
return (a + b) ^ mask;
|
||||
}
|
||||
|
||||
#define NEON_FN(dest, src1, src2) dest = src1 + src2
|
||||
NEON_POP(padd_u8, neon_u8, 4)
|
||||
NEON_POP(padd_u16, neon_u16, 2)
|
||||
#undef NEON_FN
|
||||
|
||||
#define NEON_FN(dest, src1, src2) dest = src1 - src2
|
||||
NEON_VOP(sub_u8, neon_u8, 4)
|
||||
NEON_VOP(sub_u16, neon_u16, 2)
|
||||
|
|
|
@ -830,6 +830,7 @@ DO_3SAME_NO_SZ_3(VABD_S, gen_gvec_sabd)
|
|||
DO_3SAME_NO_SZ_3(VABA_S, gen_gvec_saba)
|
||||
DO_3SAME_NO_SZ_3(VABD_U, gen_gvec_uabd)
|
||||
DO_3SAME_NO_SZ_3(VABA_U, gen_gvec_uaba)
|
||||
DO_3SAME_NO_SZ_3(VPADD, gen_gvec_addp)
|
||||
|
||||
#define DO_3SAME_CMP(INSN, COND) \
|
||||
static void gen_##INSN##_3s(unsigned vece, uint32_t rd_ofs, \
|
||||
|
@ -1070,13 +1071,11 @@ static bool do_3same_pair(DisasContext *s, arg_3same *a, NeonGenTwoOpFn *fn)
|
|||
#define gen_helper_neon_pmax_u32 tcg_gen_umax_i32
|
||||
#define gen_helper_neon_pmin_s32 tcg_gen_smin_i32
|
||||
#define gen_helper_neon_pmin_u32 tcg_gen_umin_i32
|
||||
#define gen_helper_neon_padd_u32 tcg_gen_add_i32
|
||||
|
||||
DO_3SAME_PAIR(VPMAX_S, pmax_s)
|
||||
DO_3SAME_PAIR(VPMIN_S, pmin_s)
|
||||
DO_3SAME_PAIR(VPMAX_U, pmax_u)
|
||||
DO_3SAME_PAIR(VPMIN_U, pmin_u)
|
||||
DO_3SAME_PAIR(VPADD, padd_u)
|
||||
|
||||
#define DO_3SAME_VQDMULH(INSN, FUNC) \
|
||||
WRAP_ENV_FN(gen_##INSN##_tramp16, gen_helper_neon_##FUNC##_s16); \
|
||||
|
|
Loading…
Reference in New Issue