[PATCH 22/25] perf sort: Support sort ASE and SME
James Clark
james.clark at linaro.org
Thu Oct 9 03:05:15 PDT 2025
On 29/09/2025 5:37 pm, Leo Yan wrote:
> Support sort Advance SIMD extension (ASE) and SME.
>
> Signed-off-by: Leo Yan <leo.yan at arm.com>
> ---
> tools/perf/util/sample.h | 9 ++++++---
> tools/perf/util/sort.c | 4 ++++
> 2 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/sample.h b/tools/perf/util/sample.h
> index fae834144ef42105d08a59704ee75cd4852bbc5a..405876885e1f273c039cb67187c6e5c39c91a612 100644
> --- a/tools/perf/util/sample.h
> +++ b/tools/perf/util/sample.h
> @@ -67,12 +67,15 @@ struct aux_sample {
> };
>
> struct simd_flags {
> - u8 arch:1, /* architecture (isa) */
> - pred:2; /* predication */
> + u8 arch: 3, /* architecture (isa) */
> + pred: 2, /* predication */
> + resv: 3; /* reserved */
> };
>
> /* simd architecture flags */
> -#define SIMD_OP_FLAGS_ARCH_SVE 0x01 /* ARM SVE */
> +#define SIMD_OP_FLAGS_ARCH_SVE 0x01 /* Arm SVE */
> +#define SIMD_OP_FLAGS_ARCH_SME 0x02 /* Arm SME */
> +#define SIMD_OP_FLAGS_ARCH_ASE 0x04 /* Arm Advanced SIMD */
Same comment as the UAPI change. These are exclusive so it can be an
enum rather than separate bits.
>
> /* simd predicate flags */
> #define SIMD_OP_FLAGS_PRED_PARTIAL 0x01 /* partial predicate */
> diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
> index f3a565b0e2307a8adf159725f803df5fef0dff83..c7596e9ca089c170988dbc43a00f6973039261cd 100644
> --- a/tools/perf/util/sort.c
> +++ b/tools/perf/util/sort.c
> @@ -195,6 +195,10 @@ static const char *hist_entry__get_simd_name(struct simd_flags *simd_flags)
>
> if (arch & SIMD_OP_FLAGS_ARCH_SVE)
> return "SVE";
> + if (arch & SIMD_OP_FLAGS_ARCH_SME)
> + return "SME";
> + if (arch & SIMD_OP_FLAGS_ARCH_ASE)
> + return "ASE";
> else
> return "n/a";
> }
>
More information about the linux-arm-kernel
mailing list