Richard Henderson
c437c59ba1
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 >
2022-05-30 17:05:09 +01:00
Richard Henderson
fa4bd72cc1
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 >
2022-05-30 17:05:09 +01:00
Richard Henderson
2224d24d03
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 >
2022-05-30 17:05:09 +01:00
Richard Henderson
9c545be60d
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
ef75309be9
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
671bdb2e1f
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
897ebd7074
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
884c5a802e
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
75de9fd4d2
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
c673404a63
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
ac4fb247fb
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
db7fa5d821
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
a95b9618b0
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
c9e0bd5f96
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
09eb6d7025
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
1d0fce4bd0
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
bdb349f5dc
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 >
2022-05-30 17:05:08 +01:00
Richard Henderson
c799c115db
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
d95040e3df
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
ff50265856
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
b03a85010f
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
dcba3d6741
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
9aa60c83ea
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
6687d05dc3
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
dc67e645fb
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
5cccd1f182
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
73c558a85d
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
5e612f8073
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
9ac24f1f35
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
f2be26a5fe
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
ada378f042
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
68cc4ee3f9
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 >
2022-05-30 17:05:07 +01:00
Richard Henderson
15a314dad5
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
faf915e2a1
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
b773a5c808
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
189876af9c
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
2aa469ff5f
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
79828dcbf5
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
b262215bf3
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
f96aae7649
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
cd54bbe662
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
50f6db5f23
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
5f730621ea
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
5880bdc03e
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
8e7acb2443
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
312016c96a
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
2a753d1e1d
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 >
2022-05-30 17:05:06 +01:00
Richard Henderson
4df37e414d
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 >
2022-05-30 17:05:05 +01:00
Richard Henderson
afa2529c26
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 >
2022-05-30 17:05:05 +01:00
Richard Henderson
b2c0096119
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 >
2022-05-30 17:05:05 +01:00