mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 13:41:48 -04:00
perf sort: Support sort ASE and SME
Support sort Advance SIMD extension (ASE) and SME. Reviewed-by: James Clark <james.clark@linaro.org> Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Leo Yan <leo.yan@arm.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
@@ -71,12 +71,18 @@ struct aux_sample {
|
||||
};
|
||||
|
||||
struct simd_flags {
|
||||
u8 arch:1, /* architecture (isa) */
|
||||
pred:2; /* predication */
|
||||
u8 arch: 2, /* architecture (isa) */
|
||||
pred: 2, /* predication */
|
||||
resv: 4; /* reserved */
|
||||
};
|
||||
|
||||
/* simd architecture flags */
|
||||
#define SIMD_OP_FLAGS_ARCH_SVE 0x01 /* ARM SVE */
|
||||
enum simd_op_flags {
|
||||
SIMD_OP_FLAGS_ARCH_NONE = 0x0, /* No SIMD operation */
|
||||
SIMD_OP_FLAGS_ARCH_SVE, /* Arm SVE */
|
||||
SIMD_OP_FLAGS_ARCH_SME, /* Arm SME */
|
||||
SIMD_OP_FLAGS_ARCH_ASE, /* Arm Advanced SIMD */
|
||||
};
|
||||
|
||||
/* simd predicate flags */
|
||||
#define SIMD_OP_FLAGS_PRED_PARTIAL 0x01 /* partial predicate */
|
||||
|
||||
@@ -195,8 +195,12 @@ static const char *hist_entry__get_simd_name(struct simd_flags *simd_flags)
|
||||
{
|
||||
u64 arch = simd_flags->arch;
|
||||
|
||||
if (arch & SIMD_OP_FLAGS_ARCH_SVE)
|
||||
if (arch == SIMD_OP_FLAGS_ARCH_SVE)
|
||||
return "SVE";
|
||||
else if (arch == SIMD_OP_FLAGS_ARCH_SME)
|
||||
return "SME";
|
||||
else if (arch == SIMD_OP_FLAGS_ARCH_ASE)
|
||||
return "ASE";
|
||||
else
|
||||
return "n/a";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user