On 2/11/20 9:37 AM, Peter Maydell wrote: > Our current usage of the isar_feature feature tests almost always > uses an _aa32_ test when the code path is known to be AArch32 > specific and an _aa64_ test when the code path is known to be > AArch64 specific. There is just one exception: in the vfp_set_fpscr > helper we check aa64_fp16 to determine whether the FZ16 bit in > the FP(S)CR exists, but this code is also used for AArch32. > There are other places in future where we're likely to want > a general "does this feature exist for either AArch32 or > AArch64" check (typically where architecturally the feature exists > for both CPU states if it exists at all, but the CPU might be > AArch32-only or AArch64-only, and so only have one set of ID > registers). > > Introduce a new category of isar_feature_* functions: > isar_feature_any_foo() should be tested when what we want to > know is "does this feature exist for either AArch32 or AArch64", > and always returns the logical OR of isar_feature_aa32_foo() > and isar_feature_aa64_foo(). > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > target/arm/cpu.h | 19 ++++++++++++++++++- > target/arm/vfp_helper.c | 2 +- > 2 files changed, 19 insertions(+), 2 deletions(-)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~