OSDN Git Service

qmiga/qemu.git
2 years agotarget/arm: Use TRANS_FEAT for do_shll_tb
Richard Henderson [Fri, 27 May 2022 18:19:02 +0000 (11:19 -0700)]
target/arm: Use TRANS_FEAT for do_shll_tb

Rename from do_sve2_shll_tb and hoist the sve2
check into the TRANS_FEAT macro.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-110-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_narrow_extract
Richard Henderson [Fri, 27 May 2022 18:19:01 +0000 (11:19 -0700)]
target/arm: Use TRANS_FEAT for do_narrow_extract

Rename from do_sve2_narrow_extract and hoist the sve2
check into the TRANS_FEAT macro.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-109-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FCMLA_zzxz
Richard Henderson [Fri, 27 May 2022 18:19:00 +0000 (11:19 -0700)]
target/arm: Use TRANS_FEAT for FCMLA_zzxz

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-108-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Remove assert in trans_FCMLA_zzxz
Richard Henderson [Fri, 27 May 2022 18:18:59 +0000 (11:18 -0700)]
target/arm: Remove assert in trans_FCMLA_zzxz

Since 636ddeb15c0, we do not require rd == ra.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-107-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for DO_FPCMP
Richard Henderson [Fri, 27 May 2022 18:18:58 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for DO_FPCMP

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-106-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for DO_FP_IMM
Richard Henderson [Fri, 27 May 2022 18:18:57 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for DO_FP_IMM

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-105-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move null function and sve check into do_fp_imm
Richard Henderson [Fri, 27 May 2022 18:18:56 +0000 (11:18 -0700)]
target/arm: Move null function and sve check into do_fp_imm

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-104-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_fpst_zzzzp
Richard Henderson [Fri, 27 May 2022 18:18:55 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_fpst_zzzzp

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-103-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_fpst_zzzzp
Richard Henderson [Fri, 27 May 2022 18:18:54 +0000 (11:18 -0700)]
target/arm: Introduce gen_gvec_fpst_zzzzp

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-102-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FCADD
Richard Henderson [Fri, 27 May 2022 18:18:53 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for FCADD

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-101-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_fpst_arg_zpzz
Richard Henderson [Fri, 27 May 2022 18:18:52 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_fpst_arg_zpzz

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-100-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Rename do_zpzz_ptr to gen_gvec_fpst_arg_zpzz
Richard Henderson [Fri, 27 May 2022 18:18:51 +0000 (11:18 -0700)]
target/arm: Rename do_zpzz_ptr to gen_gvec_fpst_arg_zpzz

Rename the function to match other expansion functions and
move to be adjacent.  Split out gen_gvec_fpst_zzzp as a
helper while we're at it.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-99-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_ppz_fp
Richard Henderson [Fri, 27 May 2022 18:18:50 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_ppz_fp

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-98-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FLOGB
Richard Henderson [Fri, 27 May 2022 18:18:49 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for FLOGB

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-97-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_frint_mode
Richard Henderson [Fri, 27 May 2022 18:18:48 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_frint_mode

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-96-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move null function and sve check into do_frint_mode
Richard Henderson [Fri, 27 May 2022 18:18:47 +0000 (11:18 -0700)]
target/arm: Move null function and sve check into do_frint_mode

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-95-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Rename do_zpz_ptr to gen_gvec_ool_fpst_arg_zpz
Richard Henderson [Fri, 27 May 2022 18:18:46 +0000 (11:18 -0700)]
target/arm: Rename do_zpz_ptr to gen_gvec_ool_fpst_arg_zpz

Rename the function to match other expansion function and
move to be adjacent.  Split out gen_gvec_fpst_zzp as a
helper while we're at it.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-94-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Expand frint_fns for MO_8
Richard Henderson [Fri, 27 May 2022 18:18:45 +0000 (11:18 -0700)]
target/arm: Expand frint_fns for MO_8

Simplify indexing of this array.  This will allow folding
of the illegal esz == 0 into the normal fn == NULL check.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-93-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FRECPE, FRSQRTE
Richard Henderson [Fri, 27 May 2022 18:18:44 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for FRECPE, FRSQRTE

Rename do_zz_fp to gen_gvec_fpst_arg_zz, and move up.
Split out gen_gvec_fpst_zz as a helper while we're at it.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-92-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_reduce
Richard Henderson [Fri, 27 May 2022 18:18:43 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_reduce

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-91-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move null function and sve check into do_reduce
Richard Henderson [Fri, 27 May 2022 18:18:42 +0000 (11:18 -0700)]
target/arm: Move null function and sve check into do_reduce

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-90-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FTMAD
Richard Henderson [Fri, 27 May 2022 18:18:41 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for FTMAD

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-89-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FMUL_zzx
Richard Henderson [Fri, 27 May 2022 18:18:40 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for FMUL_zzx

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-88-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for DO_FP3
Richard Henderson [Fri, 27 May 2022 18:18:39 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for DO_FP3

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-87-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Rename do_zzz_fp to gen_gvec_ool_fpst_arg_zzz
Richard Henderson [Fri, 27 May 2022 18:18:38 +0000 (11:18 -0700)]
target/arm: Rename do_zzz_fp to gen_gvec_ool_fpst_arg_zzz

Rename the function to match gen_gvec_ool_arg_zzz,
and move to be adjacent.  Split out gen_gvec_fpst_zzz
as a helper while we're at it.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-86-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for BFMLA
Richard Henderson [Fri, 27 May 2022 18:18:37 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for BFMLA

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-85-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FMLA
Richard Henderson [Fri, 27 May 2022 18:18:36 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for FMLA

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-84-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for MOVPRFX
Richard Henderson [Fri, 27 May 2022 18:18:35 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for MOVPRFX

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-83-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for SEL_zpzz
Richard Henderson [Fri, 27 May 2022 18:18:34 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for SEL_zpzz

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-82-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Implement NOT (prediates) alias
Richard Henderson [Fri, 27 May 2022 18:18:33 +0000 (11:18 -0700)]
target/arm: Implement NOT (prediates) alias

This alias is defined on EOR (prediates).  While the
same operation could be performed with NAND or NOR,
only bother with the official alias.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-81-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move sve check into gen_gvec_fn_ppp
Richard Henderson [Fri, 27 May 2022 18:18:32 +0000 (11:18 -0700)]
target/arm: Move sve check into gen_gvec_fn_ppp

Combined with the check already present in gen_mov_p,
we can simplify some special cases in trans_AND_pppp
and trans_BIC_pppp.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-80-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for FMMLA
Richard Henderson [Fri, 27 May 2022 18:18:31 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for FMMLA

Being able to specify the feature predicate in TRANS_FEAT
makes it easier to split trans_FMMLA by element size,
which also happens to simplify the decode.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-79-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_{ptr,fpst}_zzzz
Richard Henderson [Fri, 27 May 2022 18:18:30 +0000 (11:18 -0700)]
target/arm: Introduce gen_gvec_{ptr,fpst}_zzzz

Use these for the several varieties of floating-point
multiply-add instructions.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-78-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_zzi_ool
Richard Henderson [Fri, 27 May 2022 18:18:29 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_zzi_ool

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-77-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_zzi_sat
Richard Henderson [Fri, 27 May 2022 18:18:28 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_zzi_sat

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-76-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for ADD_zzi
Richard Henderson [Fri, 27 May 2022 18:18:27 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for ADD_zzi

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-75-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Reject copy w/ shifted byte early
Richard Henderson [Fri, 27 May 2022 18:18:26 +0000 (11:18 -0700)]
target/arm: Reject copy w/ shifted byte early

Remove the unparsed extractions in trans_CPY_{m,z}_i which are intended
to reject an 8-bit shift of an 8-bit constant for 8-bit element.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-74-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Reject add/sub w/ shifted byte early
Richard Henderson [Fri, 27 May 2022 18:18:25 +0000 (11:18 -0700)]
target/arm: Reject add/sub w/ shifted byte early

Remove the unparsed extractions in trans_ADD_zzi, trans_SUBR_zzi,
and do_zzi_sat which are intended to reject an 8-bit shift of an
8-bit constant for 8-bit element.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-73-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Reject dup_i w/ shifted byte early
Richard Henderson [Fri, 27 May 2022 18:18:24 +0000 (11:18 -0700)]
target/arm: Reject dup_i w/ shifted byte early

Remove the unparsed extraction in trans_DUP_i,
which is intended to reject an 8-bit shift of
an 8-bit constant for 8-bit element.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-72-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for MUL_zzi
Richard Henderson [Fri, 27 May 2022 18:18:23 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for MUL_zzi

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-71-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_brk2, do_brk3
Richard Henderson [Fri, 27 May 2022 18:18:22 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_brk2, do_brk3

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-70-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_ppzi_flags
Richard Henderson [Fri, 27 May 2022 18:18:21 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_ppzi_flags

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-69-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_ppzz_flags
Richard Henderson [Fri, 27 May 2022 18:18:20 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_ppzz_flags

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-68-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_ppzz_flags
Richard Henderson [Fri, 27 May 2022 18:18:19 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_ppzz_flags

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-67-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for SPLICE
Richard Henderson [Fri, 27 May 2022 18:18:18 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for SPLICE

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-66-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_last_general
Richard Henderson [Fri, 27 May 2022 18:18:17 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_last_general

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-65-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_last_fp
Richard Henderson [Fri, 27 May 2022 18:18:16 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_last_fp

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-64-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_clast_general
Richard Henderson [Fri, 27 May 2022 18:18:15 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_clast_general

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-63-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_clast_fp
Richard Henderson [Fri, 27 May 2022 18:18:14 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_clast_fp

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-62-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_clast_vector
Richard Henderson [Fri, 27 May 2022 18:18:13 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_clast_vector

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-61-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_zip, do_zip_q
Richard Henderson [Fri, 27 May 2022 18:18:12 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_zip, do_zip_q

Convert SVE translation functions using do_zip*
to use TRANS_FEAT and gen_gvec_ool_arg_zzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-60-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use gen_gvec_ool_arg_zzz for do_zip, do_zip_q
Richard Henderson [Fri, 27 May 2022 18:18:11 +0000 (11:18 -0700)]
target/arm: Use gen_gvec_ool_arg_zzz for do_zip, do_zip_q

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-59-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move sve zip high_ofs into simd_data
Richard Henderson [Fri, 27 May 2022 18:18:10 +0000 (11:18 -0700)]
target/arm: Move sve zip high_ofs into simd_data

This is in line with how we treat uzp, and will
eliminate the special case code during translation.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-58-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_perm_pred2
Richard Henderson [Fri, 27 May 2022 18:18:09 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_perm_pred2

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-57-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_perm_pred3
Richard Henderson [Fri, 27 May 2022 18:18:08 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_perm_pred3

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-56-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_EXT
Richard Henderson [Fri, 27 May 2022 18:18:07 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_EXT

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-55-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_pfirst_pnext
Richard Henderson [Fri, 27 May 2022 18:18:06 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_pfirst_pnext

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-54-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for RDFFR, WRFFR
Richard Henderson [Fri, 27 May 2022 18:18:05 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for RDFFR, WRFFR

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-53-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_predset
Richard Henderson [Fri, 27 May 2022 18:18:04 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_predset

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-52-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_adr
Richard Henderson [Fri, 27 May 2022 18:18:03 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_adr

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-51-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_index
Richard Henderson [Fri, 27 May 2022 18:18:02 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_index

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-50-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move sve check into do_index
Richard Henderson [Fri, 27 May 2022 18:18:01 +0000 (11:18 -0700)]
target/arm: Move sve check into do_index

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-49-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_zpzzz_ool
Richard Henderson [Fri, 27 May 2022 18:18:00 +0000 (11:18 -0700)]
target/arm: Use TRANS_FEAT for do_zpzzz_ool

Remove the DO_ZPZZZ macro, as it had just the two uses.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-48-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_shift_zpzi
Richard Henderson [Fri, 27 May 2022 18:17:59 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_shift_zpzi

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-47-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce do_shift_zpzi
Richard Henderson [Fri, 27 May 2022 18:17:58 +0000 (11:17 -0700)]
target/arm: Introduce do_shift_zpzi

Share code between the various shifts using arg_rpri_esz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-46-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_shift_imm
Richard Henderson [Fri, 27 May 2022 18:17:57 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_shift_imm

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-45-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_vpz_ool
Richard Henderson [Fri, 27 May 2022 18:17:56 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_vpz_ool

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-44-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_fn2i
Richard Henderson [Fri, 27 May 2022 18:17:55 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_fn2i

Convert SVE translation functions using do_sve2_fn2i
to use TRANS_FEAT and gen_gvec_fn_arg_zzi.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-43-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_fn_arg_zzi
Richard Henderson [Fri, 27 May 2022 18:17:54 +0000 (11:17 -0700)]
target/arm: Introduce gen_gvec_fn_arg_zzi

We have two places that perform this particular operation.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-42-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Hoist sve access check through do_sel_z
Richard Henderson [Fri, 27 May 2022 18:17:53 +0000 (11:17 -0700)]
target/arm: Hoist sve access check through do_sel_z

The check is already done in gen_gvec_ool_zzzp,
which is called by do_sel_z; remove from callers.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-41-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_zz_dbm
Richard Henderson [Fri, 27 May 2022 18:17:52 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_zz_dbm

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-40-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_fn_zzi
Richard Henderson [Fri, 27 May 2022 18:17:51 +0000 (11:17 -0700)]
target/arm: Introduce gen_gvec_fn_zzi

We have two places that perform this particular operation.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-39-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_zzzz_fn
Richard Henderson [Fri, 27 May 2022 18:17:50 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_zzzz_fn

Convert SVE translation functions using do_sve2_zzzz_fn
to use TRANS_FEAT and gen_gvec_fn_arg_zzzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-38-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_fn_arg_zzzz
Richard Henderson [Fri, 27 May 2022 18:17:49 +0000 (11:17 -0700)]
target/arm: Introduce gen_gvec_fn_arg_zzzz

Merge gen_gvec_fn_zzzz with the sve access check and the
dereference of arg_rrrr_esz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-37-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for RAX1
Richard Henderson [Fri, 27 May 2022 18:17:48 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for RAX1

The decode for RAX1 sets esz to MO_8, because that's what
we use by default for "no esz present".  We changed that
to MO_64 during translation because it is more logical for
the operation.  However, the esz argument to gen_gvec_rax1
is unused and forces MO_64 within that function, so there
is no need to do it here as well.

Simplify to use gen_gvec_fn_arg_zzz and TRANS_FEAT.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-36-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_fn_zzz
Richard Henderson [Fri, 27 May 2022 18:17:47 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_fn_zzz

Convert SVE translation functions using do_sve2_fn_zzz
to use TRANS_FEAT and gen_gvec_fn_arg_zzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-35-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_fn_arg_zzz
Richard Henderson [Fri, 27 May 2022 18:17:46 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_fn_arg_zzz

Convert SVE translation functions directly using
gen_gvec_fn_arg_zzz to TRANS_FEAT.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-34-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: More use of gen_gvec_fn_arg_zzz
Richard Henderson [Fri, 27 May 2022 18:17:45 +0000 (11:17 -0700)]
target/arm: More use of gen_gvec_fn_arg_zzz

Two uses of gen_gvec_fn_zzz can pass on arg_rrr_esz instead.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-33-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Rename do_zzz_fn to gen_gvec_fn_arg_zzz
Richard Henderson [Fri, 27 May 2022 18:17:44 +0000 (11:17 -0700)]
target/arm: Rename do_zzz_fn to gen_gvec_fn_arg_zzz

Rename the function to match gen_gvec_fn_zzz,
and move to be adjacent.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-32-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move null function and sve check into gen_gvec_fn_zzz
Richard Henderson [Fri, 27 May 2022 18:17:43 +0000 (11:17 -0700)]
target/arm: Move null function and sve check into gen_gvec_fn_zzz

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-31-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Merge gen_gvec_fn_zz into do_mov_z
Richard Henderson [Fri, 27 May 2022 18:17:42 +0000 (11:17 -0700)]
target/arm: Merge gen_gvec_fn_zz into do_mov_z

There is only one caller for gen_gvec_fn_zz; inline it.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-30-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_zpzz_ool
Richard Henderson [Fri, 27 May 2022 18:17:41 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_zpzz_ool

Convert SVE translation functions using do_sve2_zpzz_ool
to use TRANS_FEAT and gen_gvec_ool_arg_zpzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-29-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzz
Richard Henderson [Fri, 27 May 2022 18:17:40 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzz

Convert SVE translation functions directly using
gen_gvec_ool_arg_zpzz to TRANS_FEAT.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-28-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_ool_arg_zpzz
Richard Henderson [Fri, 27 May 2022 18:17:39 +0000 (11:17 -0700)]
target/arm: Introduce gen_gvec_ool_arg_zpzz

Use gen_gvec_ool_arg_zpzz instead of gen_gvec_ool_zzzp
when the arguments come from arg_rprr_esz.
Replaces do_zpzz_ool.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-27-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move null function and sve check into gen_gvec_ool_zzzp
Richard Henderson [Fri, 27 May 2022 18:17:38 +0000 (11:17 -0700)]
target/arm: Move null function and sve check into gen_gvec_ool_zzzp

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-26-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzi
Richard Henderson [Fri, 27 May 2022 18:17:37 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzi

Convert some SVE translation functions using
gen_gvec_ool_arg_zpzi to TRANS_FEAT.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-25-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Rename do_zpzi_ool to gen_gvec_ool_arg_zpzi
Richard Henderson [Fri, 27 May 2022 18:17:36 +0000 (11:17 -0700)]
target/arm: Rename do_zpzi_ool to gen_gvec_ool_arg_zpzi

Rename the function to match gen_gvec_ool_arg_zpz,
and move to be adjacent.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-24-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_zpz_data
Richard Henderson [Fri, 27 May 2022 18:17:35 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_zpz_data

Convert SVE translation functions using do_sve2_zpz_data
to use TRANS_FEAT and gen_gvec_ool_arg_zpz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-23-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpz
Richard Henderson [Fri, 27 May 2022 18:17:34 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpz

Convert SVE translation functions directly using
gen_gvec_ool_arg_zpz to TRANS_FEAT.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-22-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_ool_arg_zpz
Richard Henderson [Fri, 27 May 2022 18:17:33 +0000 (11:17 -0700)]
target/arm: Introduce gen_gvec_ool_arg_zpz

Use gen_gvec_ool_arg_zpz instead of gen_gvec_ool_zzp
when the arguments come from arg_rpr_esz.
Replaces do_zpz_ool.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-21-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Move null function and sve check into gen_gvec_ool_zzp
Richard Henderson [Fri, 27 May 2022 18:17:32 +0000 (11:17 -0700)]
target/arm: Move null function and sve check into gen_gvec_ool_zzp

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-20-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for USDOT_zzzz
Richard Henderson [Fri, 27 May 2022 18:17:31 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for USDOT_zzzz

This is the last direct user of tcg_gen_gvec_4_ool.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-19-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_zzw_data
Richard Henderson [Fri, 27 May 2022 18:17:30 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_zzw_data

Convert SVE translation functions using do_sve2_zzw_data
to use TRANS_FEAT and gen_gvec_ool_arg_zzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-18-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_zzzz_data
Richard Henderson [Fri, 27 May 2022 18:17:29 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_zzzz_data

Convert SVE translation functions using do_sve2_zzzz_data
to use TRANS_FEAT and gen_gvec_ool_{zzzz,zzxz}.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-17-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_zzz_data
Richard Henderson [Fri, 27 May 2022 18:17:28 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_zzz_data

Convert SVE translation functions using do_sve2_zzz_data
to use TRANS_FEAT and gen_gvec_ool_zzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-16-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzxz
Richard Henderson [Fri, 27 May 2022 18:17:27 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzxz

Convert SVE translation functions directly using
gen_gvec_ool_arg_zzxz to TRANS_FEAT.  Also include
BFDOT_zzxz, which was using gen_gvec_ool_zzzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-15-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Rename do_zzxz_ool to gen_gvec_ool_arg_zzxz
Richard Henderson [Fri, 27 May 2022 18:17:26 +0000 (11:17 -0700)]
target/arm: Rename do_zzxz_ool to gen_gvec_ool_arg_zzxz

Rename the function to match gen_gvec_ool_arg_zzzz,
and move to be adjacent.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-14-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzzz
Richard Henderson [Fri, 27 May 2022 18:17:25 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzzz

Convert SVE translation functions directly using
gen_gvec_ool_arg_zzzz to TRANS_FEAT.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-13-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Use TRANS_FEAT for do_sve2_zzzz_ool
Richard Henderson [Fri, 27 May 2022 18:17:24 +0000 (11:17 -0700)]
target/arm: Use TRANS_FEAT for do_sve2_zzzz_ool

Convert SVE translation functions using do_sve2_zzzz_ool
to use TRANS_FEAT and gen_gvec_ool_arg_zzzz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-12-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 years agotarget/arm: Introduce gen_gvec_ool_arg_zzzz
Richard Henderson [Fri, 27 May 2022 18:17:23 +0000 (11:17 -0700)]
target/arm: Introduce gen_gvec_ool_arg_zzzz

Use gen_gvec_ool_arg_zzzz instead of gen_gvec_ool_zzzz
when the arguments come from arg_rrrr_esz.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-11-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>