1 
2         #include <unordered_map>
3         #include <unordered_set>
4         #include <map>
5         #include <string_view>
6 
7         #include "event_type.h"
8 
9         namespace simpleperf {
10 
11         // A constexpr-constructible version of EventType for the built-in table.
12         struct BuiltinEventType {
13           std::string_view name;
14           uint32_t type;
15           uint64_t config;
16           std::string_view description;
17           std::string_view limited_arch;
18 
operator EventTypesimpleperf::BuiltinEventType19           explicit operator EventType() const {
20             return {std::string(name), type, config, std::string(description), std::string(limited_arch)};
21           }
22         };
23 
24         static constexpr BuiltinEventType kBuiltinEventTypes[] = {
25     {"cpu-cycles", PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES, "", ""},
26 {"instructions", PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS, "", ""},
27 {"cache-references", PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_REFERENCES, "", ""},
28 {"cache-misses", PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_MISSES, "", ""},
29 {"branch-instructions", PERF_TYPE_HARDWARE, PERF_COUNT_HW_BRANCH_INSTRUCTIONS, "", ""},
30 {"branch-misses", PERF_TYPE_HARDWARE, PERF_COUNT_HW_BRANCH_MISSES, "", ""},
31 {"bus-cycles", PERF_TYPE_HARDWARE, PERF_COUNT_HW_BUS_CYCLES, "", ""},
32 {"stalled-cycles-frontend", PERF_TYPE_HARDWARE, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND, "", ""},
33 {"stalled-cycles-backend", PERF_TYPE_HARDWARE, PERF_COUNT_HW_STALLED_CYCLES_BACKEND, "", ""},
34 
35 {"cpu-clock", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CPU_CLOCK, "", ""},
36 {"task-clock", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_TASK_CLOCK, "", ""},
37 {"page-faults", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS, "", ""},
38 {"context-switches", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CONTEXT_SWITCHES, "", ""},
39 {"cpu-migrations", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CPU_MIGRATIONS, "", ""},
40 {"minor-faults", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS_MIN, "", ""},
41 {"major-faults", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS_MAJ, "", ""},
42 {"alignment-faults", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_ALIGNMENT_FAULTS, "", ""},
43 {"emulation-faults", PERF_TYPE_SOFTWARE, PERF_COUNT_SW_EMULATION_FAULTS, "", ""},
44 
45 {"L1-dcache-loads", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1D) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
46 {"L1-dcache-load-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1D) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
47 {"L1-dcache-stores", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1D) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
48 {"L1-dcache-store-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1D) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
49 {"L1-dcache-prefetches", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1D) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
50 {"L1-dcache-prefetch-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1D) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
51 {"L1-icache-loads", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1I) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
52 {"L1-icache-load-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1I) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
53 {"L1-icache-stores", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1I) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
54 {"L1-icache-store-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1I) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
55 {"L1-icache-prefetches", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1I) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
56 {"L1-icache-prefetch-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_L1I) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
57 {"LLC-loads", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_LL) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
58 {"LLC-load-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_LL) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
59 {"LLC-stores", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_LL) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
60 {"LLC-store-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_LL) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
61 {"LLC-prefetches", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_LL) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
62 {"LLC-prefetch-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_LL) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
63 {"dTLB-loads", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_DTLB) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
64 {"dTLB-load-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_DTLB) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
65 {"dTLB-stores", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_DTLB) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
66 {"dTLB-store-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_DTLB) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
67 {"dTLB-prefetches", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_DTLB) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
68 {"dTLB-prefetch-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_DTLB) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
69 {"iTLB-loads", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_ITLB) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
70 {"iTLB-load-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_ITLB) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
71 {"iTLB-stores", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_ITLB) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
72 {"iTLB-store-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_ITLB) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
73 {"iTLB-prefetches", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_ITLB) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
74 {"iTLB-prefetch-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_ITLB) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
75 {"branch-loads", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_BPU) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
76 {"branch-load-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_BPU) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
77 {"branch-stores", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_BPU) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
78 {"branch-store-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_BPU) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
79 {"branch-prefetches", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_BPU) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
80 {"branch-prefetch-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_BPU) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
81 {"node-loads", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_NODE) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
82 {"node-load-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_NODE) | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
83 {"node-stores", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_NODE) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
84 {"node-store-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_NODE) | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
85 {"node-prefetches", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_NODE) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)), "", ""},
86 {"node-prefetch-misses", PERF_TYPE_HW_CACHE, ((PERF_COUNT_HW_CACHE_NODE) | (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)), "", ""},
87 
88 #if defined(__aarch64__) || defined(__arm__)
89 {"raw-sw-incr", PERF_TYPE_RAW, 0x0, "Instruction architecturally executed, Condition code check pass, software increment", "arm64"},
90 {"raw-l1i-cache-refill", PERF_TYPE_RAW, 0x1, "Level 1 instruction cache refill", "arm64"},
91 {"raw-l1i-tlb-refill", PERF_TYPE_RAW, 0x2, "Level 1 instruction TLB refill", "arm64"},
92 {"raw-l1d-cache-refill", PERF_TYPE_RAW, 0x3, "Level 1 data cache refill", "arm64"},
93 {"raw-l1d-cache", PERF_TYPE_RAW, 0x4, "Level 1 data cache access", "arm64"},
94 {"raw-l1d-tlb-refill", PERF_TYPE_RAW, 0x5, "Level 1 data TLB refill", "arm64"},
95 {"raw-ld-retired", PERF_TYPE_RAW, 0x6, "Instruction architecturally executed, Condition code check pass, load", "arm64"},
96 {"raw-st-retired", PERF_TYPE_RAW, 0x7, "Instruction architecturally executed, Condition code check pass, store", "arm64"},
97 {"raw-inst-retired", PERF_TYPE_RAW, 0x8, "Instruction architecturally executed", "arm64"},
98 {"raw-exc-taken", PERF_TYPE_RAW, 0x9, "Exception taken", "arm64"},
99 {"raw-exc-return", PERF_TYPE_RAW, 0xa, " Instruction architecturally executed, Condition code check pass, exception return", "arm64"},
100 {"raw-cid-write-retired", PERF_TYPE_RAW, 0xb, "Instruction architecturally executed, Condition code check pass, write to CONTEXTIDR", "arm64"},
101 {"raw-pc-write-retired", PERF_TYPE_RAW, 0xc, "D, Instruction architecturally executed, Condition code check pass, Software change of the PC", "arm64"},
102 {"raw-br-immed-retired", PERF_TYPE_RAW, 0xd, "Branch Instruction architecturally executed, immediate", "arm64"},
103 {"raw-br-return-retired", PERF_TYPE_RAW, 0xe, "Branch Instruction architecturally executed, procedure return, taken", "arm64"},
104 {"raw-unaligned-ldst-retired", PERF_TYPE_RAW, 0xf, "Instruction architecturally executed, Condition code check pass, unaligned load or store", "arm64"},
105 {"raw-br-mis-pred", PERF_TYPE_RAW, 0x10, "Branch instruction Speculatively executed, mispredicted or not predicted ", "arm64"},
106 {"raw-cpu-cycles", PERF_TYPE_RAW, 0x11, "Cycle", "arm64"},
107 {"raw-br-pred", PERF_TYPE_RAW, 0x12, "Predictable branch instruction Speculatively executed", "arm64"},
108 {"raw-mem-access", PERF_TYPE_RAW, 0x13, " Data memory access", "arm64"},
109 {"raw-l1i-cache", PERF_TYPE_RAW, 0x14, " Level 1 instruction cache access ", "arm64"},
110 {"raw-l1d-cache-wb", PERF_TYPE_RAW, 0x15, " Level 1 data cache write-back", "arm64"},
111 {"raw-l2d-cache", PERF_TYPE_RAW, 0x16, " Level 2 data cache access", "arm64"},
112 {"raw-l2d-cache-refill", PERF_TYPE_RAW, 0x17, "Level 2 data cache refill", "arm64"},
113 {"raw-l2d-cache-wb", PERF_TYPE_RAW, 0x18, "Level 2 data cache write-back", "arm64"},
114 {"raw-bus-access", PERF_TYPE_RAW, 0x19, "Bus access", "arm64"},
115 {"raw-memory-error", PERF_TYPE_RAW, 0x1a, "Local memory error", "arm64"},
116 {"raw-inst-spec", PERF_TYPE_RAW, 0x1b, "Operation speculatively executed", "arm64"},
117 {"raw-ttbr-write-retired", PERF_TYPE_RAW, 0x1c, "Instruction architecturally executed, Condition code check pass, write to TTBR", "arm64"},
118 {"raw-bus-cycles", PERF_TYPE_RAW, 0x1d, "Bus cycle ", "arm64"},
119 {"raw-l1d-cache-allocate", PERF_TYPE_RAW, 0x1f, " Level 1 data cache allocation without refill", "arm64"},
120 {"raw-l2d-cache-allocate", PERF_TYPE_RAW, 0x20, "Level 2 data cache allocation without refill", "arm64"},
121 {"raw-br-retired", PERF_TYPE_RAW, 0x21, "Instruction architecturally executed, branch", "arm64"},
122 {"raw-br-mis-pred-retired", PERF_TYPE_RAW, 0x22, "Branch Instruction architecturally executed, mispredicted ", "arm64"},
123 {"raw-stall-frontend", PERF_TYPE_RAW, 0x23, "No operation sent for execution due to the frontend", "arm64"},
124 {"raw-stall-backend", PERF_TYPE_RAW, 0x24, "No operation sent for execution due to the backend ", "arm64"},
125 {"raw-l1d-tlb", PERF_TYPE_RAW, 0x25, "Level 1 data TLB access", "arm64"},
126 {"raw-l1i-tlb", PERF_TYPE_RAW, 0x26, "Level 1 instruction TLB access", "arm64"},
127 {"raw-l2i-cache", PERF_TYPE_RAW, 0x27, "Level 2 instruction cache access ", "arm64"},
128 {"raw-l2i-cache-refill", PERF_TYPE_RAW, 0x28, "Level 2 instruction cache refill", "arm64"},
129 {"raw-l3d-cache-allocate", PERF_TYPE_RAW, 0x29, "Level 3 data cache allocation without refill", "arm64"},
130 {"raw-l3d-cache-refill", PERF_TYPE_RAW, 0x2a, "Level 3 data cache refill", "arm64"},
131 {"raw-l3d-cache", PERF_TYPE_RAW, 0x2b, "Level 3 data cache access ", "arm64"},
132 {"raw-l3d-cache-wb", PERF_TYPE_RAW, 0x2c, "Level 3 data cache write-back", "arm64"},
133 {"raw-l2d-tlb-refill", PERF_TYPE_RAW, 0x2d, "Level 2 data TLB refill ", "arm64"},
134 {"raw-l2i-tlb-refill", PERF_TYPE_RAW, 0x2e, "Level 2 instruction TLB refill ", "arm64"},
135 {"raw-l2d-tlb", PERF_TYPE_RAW, 0x2f, "Level 2 data TLB access ", "arm64"},
136 {"raw-l2i-tlb", PERF_TYPE_RAW, 0x30, "Level 2 instruction TLB access ", "arm64"},
137 {"raw-remote-access", PERF_TYPE_RAW, 0x31, "Access to another socket in a multi-socket system ", "arm64"},
138 {"raw-ll-cache", PERF_TYPE_RAW, 0x32, "Last level cache access", "arm64"},
139 {"raw-ll-cache-miss", PERF_TYPE_RAW, 0x33, "Last level cache miss", "arm64"},
140 {"raw-dtlb-walk", PERF_TYPE_RAW, 0x34, "Data TLB access with at least one translation table walk", "arm64"},
141 {"raw-itlb-walk", PERF_TYPE_RAW, 0x35, "Instruction TLB access with at least one translation table walk", "arm64"},
142 {"raw-ll-cache-rd", PERF_TYPE_RAW, 0x36, "Last level cache access, read", "arm64"},
143 {"raw-ll-cache-miss-rd", PERF_TYPE_RAW, 0x37, "Last level cache miss, read ", "arm64"},
144 {"raw-remote-access-rd", PERF_TYPE_RAW, 0x38, "Access to another socket in a multi-socket system, read", "arm64"},
145 {"raw-l1d-cache-lmiss-rd", PERF_TYPE_RAW, 0x39, "Level 1 data cache long-latency read miss", "arm64"},
146 {"raw-op-retired", PERF_TYPE_RAW, 0x3a, "Micro-operation architecturally executed", "arm64"},
147 {"raw-op-spec", PERF_TYPE_RAW, 0x3b, "Micro-operation Speculatively executed", "arm64"},
148 {"raw-stall", PERF_TYPE_RAW, 0x3c, "No operation sent for execution", "arm64"},
149 {"raw-stall-slot-backend", PERF_TYPE_RAW, 0x3d, "No operation sent for execution on a Slot due to the backend", "arm64"},
150 {"raw-stall-slot-frontend", PERF_TYPE_RAW, 0x3e, "No operation sent for execution on a Slot due to the frontend ", "arm64"},
151 {"raw-stall-slot", PERF_TYPE_RAW, 0x3f, "No operation sent for execution on a Slot ", "arm64"},
152 {"raw-l1d-cache-rd", PERF_TYPE_RAW, 0x40, "Level 1 data cache access, read", "arm64"},
153 {"raw-l1d-cache-wr", PERF_TYPE_RAW, 0x41, "Level 1 data cache access, write", "arm64"},
154 {"raw-l1d-cache-refill-rd", PERF_TYPE_RAW, 0x42, "Level 1 data cache refill, read", "arm64"},
155 {"raw-l1d-cache-refill-wr", PERF_TYPE_RAW, 0x43, "Level 1 data cache refill, write", "arm64"},
156 {"raw-l1d-cache-refill-inner", PERF_TYPE_RAW, 0x44, "Level 1 data cache refill, inner", "arm64"},
157 {"raw-l1d-cache-refill-outer", PERF_TYPE_RAW, 0x45, "Level 1 data cache refill, outer", "arm64"},
158 {"raw-l1d-cache-wb-victim", PERF_TYPE_RAW, 0x46, "Level 1 data cache write-back, victim", "arm64"},
159 {"raw-l1d-cache-wb-clean", PERF_TYPE_RAW, 0x47, "Level 1 data cache write-back, cleaning and coherency", "arm64"},
160 {"raw-l1d-cache-inval", PERF_TYPE_RAW, 0x48, "Level 1 data cache invalidate", "arm64"},
161 {"raw-l1d-tlb-refill-rd", PERF_TYPE_RAW, 0x4c, "Level 1 data TLB refill, read", "arm64"},
162 {"raw-l1d-tlb-refill-wr", PERF_TYPE_RAW, 0x4d, "Level 1 data TLB refill, write", "arm64"},
163 {"raw-l1d-tlb-rd", PERF_TYPE_RAW, 0x4e, "Level 1 data TLB access, read", "arm64"},
164 {"raw-l1d-tlb-wr", PERF_TYPE_RAW, 0x4f, "Level 1 data TLB access, write", "arm64"},
165 {"raw-l2d-cache-rd", PERF_TYPE_RAW, 0x50, "Level 2 data cache access, read", "arm64"},
166 {"raw-l2d-cache-wr", PERF_TYPE_RAW, 0x51, "Level 2 data cache access, write", "arm64"},
167 {"raw-l2d-cache-refill-rd", PERF_TYPE_RAW, 0x52, "Level 2 data cache refill, read", "arm64"},
168 {"raw-l2d-cache-refill-wr", PERF_TYPE_RAW, 0x53, "Level 2 data cache refill, write", "arm64"},
169 {"raw-l2d-cache-wb-victim", PERF_TYPE_RAW, 0x56, "Level 2 data cache write-back, victim", "arm64"},
170 {"raw-l2d-cache-wb-clean", PERF_TYPE_RAW, 0x57, "Level 2 data cache write-back, cleaning and coherency", "arm64"},
171 {"raw-l2d-cache-inval", PERF_TYPE_RAW, 0x58, "Level 2 data cache invalidate", "arm64"},
172 {"raw-l2d-tlb-refill-rd", PERF_TYPE_RAW, 0x5c, "Level 2 data TLB refill, read", "arm64"},
173 {"raw-l2d-tlb-refill-wr", PERF_TYPE_RAW, 0x5d, "Level 2 data TLB refill, write", "arm64"},
174 {"raw-l2d-tlb-rd", PERF_TYPE_RAW, 0x5e, "Level 2 data TLB access, read", "arm64"},
175 {"raw-l2d-tlb-wr", PERF_TYPE_RAW, 0x5f, "Level 2 data TLB access, write", "arm64"},
176 {"raw-bus-access-rd", PERF_TYPE_RAW, 0x60, "Bus access, read", "arm64"},
177 {"raw-bus-access-wr", PERF_TYPE_RAW, 0x61, "Bus access, write", "arm64"},
178 {"raw-bus-access-shared", PERF_TYPE_RAW, 0x62, "Bus access, Normal, Cacheable, Shareable", "arm64"},
179 {"raw-bus-access-not-shared", PERF_TYPE_RAW, 0x63, "Bus access, not Normal, Cacheable, Shareable", "arm64"},
180 {"raw-bus-access-normal", PERF_TYPE_RAW, 0x64, "Bus access, normal", "arm64"},
181 {"raw-bus-access-periph", PERF_TYPE_RAW, 0x65, "Bus access, peripheral", "arm64"},
182 {"raw-mem-access-rd", PERF_TYPE_RAW, 0x66, "Data memory access, read", "arm64"},
183 {"raw-mem-access-wr", PERF_TYPE_RAW, 0x67, "Data memory access, write", "arm64"},
184 {"raw-unaligned-ld-spec", PERF_TYPE_RAW, 0x68, "Unaligned access, read", "arm64"},
185 {"raw-unaligned-st-spec", PERF_TYPE_RAW, 0x69, "Unaligned access, write", "arm64"},
186 {"raw-unaligned-ldst-spec", PERF_TYPE_RAW, 0x6a, "Unaligned access", "arm64"},
187 {"raw-ldrex-spec", PERF_TYPE_RAW, 0x6c, "Exclusive operation Speculatively executed, Load-Exclusive", "arm64"},
188 {"raw-strex-pass-spec", PERF_TYPE_RAW, 0x6d, "Exclusive operation Speculatively executed, Store-Exclusive pass", "arm64"},
189 {"raw-strex-fail-spec", PERF_TYPE_RAW, 0x6e, "Exclusive operation Speculatively executed, Store-Exclusive fail", "arm64"},
190 {"raw-strex-spec", PERF_TYPE_RAW, 0x6f, "Exclusive operation Speculatively executed, Store-Exclusive", "arm64"},
191 {"raw-ld-spec", PERF_TYPE_RAW, 0x70, "Operation speculatively executed, load", "arm64"},
192 {"raw-st-spec", PERF_TYPE_RAW, 0x71, "Operation speculatively executed, store", "arm64"},
193 {"raw-ldst-spec", PERF_TYPE_RAW, 0x72, "Operation speculatively executed, load or store", "arm64"},
194 {"raw-dp-spec", PERF_TYPE_RAW, 0x73, "Operation speculatively executed, integer data processing", "arm64"},
195 {"raw-ase-spec", PERF_TYPE_RAW, 0x74, "Operation speculatively executed, Advanced SIMD", "arm64"},
196 {"raw-vfp-spec", PERF_TYPE_RAW, 0x75, "Operation speculatively executed, scalar floating-point", "arm64"},
197 {"raw-pc-write-spec", PERF_TYPE_RAW, 0x76, "Operation speculatively executed, Software change of the PC", "arm64"},
198 {"raw-crypto-spec", PERF_TYPE_RAW, 0x77, "Operation speculatively executed, Cryptographic instruction", "arm64"},
199 {"raw-br-immed-spec", PERF_TYPE_RAW, 0x78, "Branch Speculatively executed, immediate branch", "arm64"},
200 {"raw-br-return-spec", PERF_TYPE_RAW, 0x79, "Branch Speculatively executed, procedure return", "arm64"},
201 {"raw-br-indirect-spec", PERF_TYPE_RAW, 0x7a, "Branch Speculatively executed, indirect branch", "arm64"},
202 {"raw-isb-spec", PERF_TYPE_RAW, 0x7c, "Barrier Speculatively executed, ISB", "arm64"},
203 {"raw-dsb-spec", PERF_TYPE_RAW, 0x7d, "Barrier Speculatively executed, DSB", "arm64"},
204 {"raw-dmb-spec", PERF_TYPE_RAW, 0x7e, "Barrier Speculatively executed, DMB", "arm64"},
205 {"raw-csdb-spec", PERF_TYPE_RAW, 0x7f, "Barrier Speculatively executed, CSDB", "arm64"},
206 {"raw-exc-undef", PERF_TYPE_RAW, 0x81, "Exception taken, other synchronous", "arm64"},
207 {"raw-exc-svc", PERF_TYPE_RAW, 0x82, "Exception taken, Supervisor Call", "arm64"},
208 {"raw-exc-pabort", PERF_TYPE_RAW, 0x83, "Exception taken, Instruction Abort", "arm64"},
209 {"raw-exc-dabort", PERF_TYPE_RAW, 0x84, "Exception taken, Data Abort or SError", "arm64"},
210 {"raw-exc-irq", PERF_TYPE_RAW, 0x86, "Exception taken, IRQ", "arm64"},
211 {"raw-exc-fiq", PERF_TYPE_RAW, 0x87, "Exception taken, FIQ", "arm64"},
212 {"raw-exc-smc", PERF_TYPE_RAW, 0x88, "Exception taken, Secure Monitor Call", "arm64"},
213 {"raw-exc-hvc", PERF_TYPE_RAW, 0x8a, "Exception taken, Hypervisor Call", "arm64"},
214 {"raw-exc-trap-pabort", PERF_TYPE_RAW, 0x8b, "Exception taken, Instruction Abort not Taken locally", "arm64"},
215 {"raw-exc-trap-dabort", PERF_TYPE_RAW, 0x8c, "Exception taken, Data Abort or SError not Taken locally", "arm64"},
216 {"raw-exc-trap-other", PERF_TYPE_RAW, 0x8d, "Exception taken, other traps not Taken locally", "arm64"},
217 {"raw-exc-trap-irq", PERF_TYPE_RAW, 0x8e, "Exception taken, IRQ not Taken locally", "arm64"},
218 {"raw-exc-trap-fiq", PERF_TYPE_RAW, 0x8f, "Exception taken, FIQ not Taken locally", "arm64"},
219 {"raw-rc-ld-spec", PERF_TYPE_RAW, 0x90, "Release consistency operation Speculatively executed, Load-Acquire", "arm64"},
220 {"raw-rc-st-spec", PERF_TYPE_RAW, 0x91, "Release consistency operation Speculatively executed, Store-Release", "arm64"},
221 {"raw-l3d-cache-rd", PERF_TYPE_RAW, 0xa0, "Level 3 data cache access, read", "arm64"},
222 {"raw-l3d-cache-wr", PERF_TYPE_RAW, 0xa1, "Level 3 data cache access, write", "arm64"},
223 {"raw-l3d-cache-refill-rd", PERF_TYPE_RAW, 0xa2, "Level 3 data cache refill, read", "arm64"},
224 {"raw-l3d-cache-refill-wr", PERF_TYPE_RAW, 0xa3, "Level 3 data cache refill, write", "arm64"},
225 {"raw-l3d-cache-wb-victim", PERF_TYPE_RAW, 0xa6, "Level 3 data cache write-back, victim", "arm64"},
226 {"raw-l3d-cache-wb-clean", PERF_TYPE_RAW, 0xa7, "Level 3 data cache write-back, cleaning and coherency", "arm64"},
227 {"raw-l3d-cache-inval", PERF_TYPE_RAW, 0xa8, "Level 3 data cache invalidate", "arm64"},
228 {"raw-sample-pop", PERF_TYPE_RAW, 0x4000, "Statistical Profiling sample population", "arm64"},
229 {"raw-sample-feed", PERF_TYPE_RAW, 0x4001, "Statistical Profiling sample taken", "arm64"},
230 {"raw-sample-filtrate", PERF_TYPE_RAW, 0x4002, "Statistical Profiling sample taken and not removed by filtering", "arm64"},
231 {"raw-sample-collision", PERF_TYPE_RAW, 0x4003, "Statistical Profiling sample collided with previous sample", "arm64"},
232 {"raw-cnt-cycles", PERF_TYPE_RAW, 0x4004, "Constant frequency cycles", "arm64"},
233 {"raw-stall-backend-mem", PERF_TYPE_RAW, 0x4005, "Memory stall cycles", "arm64"},
234 {"raw-l1i-cache-lmiss", PERF_TYPE_RAW, 0x4006, "Level 1 instruction cache long-latency miss", "arm64"},
235 {"raw-l2d-cache-lmiss-rd", PERF_TYPE_RAW, 0x4009, "Level 2 data cache long-latency read miss", "arm64"},
236 {"raw-l2i-cache-lmiss", PERF_TYPE_RAW, 0x400a, "Level 2 instruction cache long-latency miss", "arm64"},
237 {"raw-l3d-cache-lmiss-rd", PERF_TYPE_RAW, 0x400b, "Level 3 data cache long-latency read miss", "arm64"},
238 {"raw-trb-wrap", PERF_TYPE_RAW, 0x400c, "Trace buffer current write pointer wrapped", "arm64"},
239 {"raw-trb-trig", PERF_TYPE_RAW, 0x400e, "Trace buffer Trigger Event ", "arm64"},
240 {"raw-trcextout0", PERF_TYPE_RAW, 0x4010, "Trace unit external output 0", "arm64"},
241 {"raw-trcextout1", PERF_TYPE_RAW, 0x4011, "Trace unit external output 1", "arm64"},
242 {"raw-trcextout2", PERF_TYPE_RAW, 0x4012, "Trace unit external output 2", "arm64"},
243 {"raw-trcextout3", PERF_TYPE_RAW, 0x4013, "Trace unit external output 3 ", "arm64"},
244 {"raw-cti-trigout4", PERF_TYPE_RAW, 0x4018, "Cross-trigger Interface output trigger 4", "arm64"},
245 {"raw-cti-trigout5", PERF_TYPE_RAW, 0x4019, "Cross-trigger Interface output trigger 5", "arm64"},
246 {"raw-cti-trigout6", PERF_TYPE_RAW, 0x401a, "Cross-trigger Interface output trigger 6", "arm64"},
247 {"raw-cti-trigout7", PERF_TYPE_RAW, 0x401b, "Cross-trigger Interface output trigger 7", "arm64"},
248 {"raw-ldst-align-lat", PERF_TYPE_RAW, 0x4020, "Access with additional latency from alignment", "arm64"},
249 {"raw-ld-align-lat", PERF_TYPE_RAW, 0x4021, "Load with additional latency from alignment", "arm64"},
250 {"raw-st-align-lat", PERF_TYPE_RAW, 0x4022, "Store with additional latency from alignment", "arm64"},
251 {"raw-mem-access-checked", PERF_TYPE_RAW, 0x4024, "Checked data memory access", "arm64"},
252 {"raw-mem-access-rd-checked", PERF_TYPE_RAW, 0x4025, "Checked data memory access, read", "arm64"},
253 {"raw-mem-access-wr-checked", PERF_TYPE_RAW, 0x4026, "Checked data memory access, write ", "arm64"},
254 {"raw-simd-inst-retired", PERF_TYPE_RAW, 0x8000, "Instruction architecturally executed, SIMD", "arm64"},
255 {"raw-ase-inst-retired", PERF_TYPE_RAW, 0x8001, "Instruction architecturally executed, Advanced SIMD", "arm64"},
256 {"raw-sve-inst-retired", PERF_TYPE_RAW, 0x8002, "Instruction architecturally executed, SVE", "arm64"},
257 {"raw-ase-sve-inst-retired", PERF_TYPE_RAW, 0x8003, "Instruction architecturally executed, Advanced SIMD or SVE", "arm64"},
258 {"raw-simd-inst-spec", PERF_TYPE_RAW, 0x8004, "Operation speculatively executed, SIMD", "arm64"},
259 {"raw-ase-inst-spec", PERF_TYPE_RAW, 0x8005, "Operation speculatively executed, Advanced SIMD", "arm64"},
260 {"raw-sve-inst-spec", PERF_TYPE_RAW, 0x8006, "Operation speculatively executed, SVE, including load and store", "arm64"},
261 {"raw-ase-sve-inst-spec", PERF_TYPE_RAW, 0x8007, "Operation speculatively executed, Advanced SIMD or SVE", "arm64"},
262 {"raw-uop-spec", PERF_TYPE_RAW, 0x8008, "Microarchitectural operation speculatively executed", "arm64"},
263 {"raw-ase-uop-spec", PERF_TYPE_RAW, 0x8009, "Microarchitectural operation speculatively executed, Advanced SIMD", "arm64"},
264 {"raw-sve-uop-spec", PERF_TYPE_RAW, 0x800a, "Microarchitectural operation speculatively executed, SVE", "arm64"},
265 {"raw-ase-sve-uop-spec", PERF_TYPE_RAW, 0x800b, "Microarchitectural operation speculatively executed, Advanced SIMD or SVE", "arm64"},
266 {"raw-simd-uop-spec", PERF_TYPE_RAW, 0x800c, "Microarchitectural operation speculatively executed, SIMD", "arm64"},
267 {"raw-sve-math-spec", PERF_TYPE_RAW, 0x800e, "Operation speculatively executed, SVE math accelerator", "arm64"},
268 {"raw-fp-spec", PERF_TYPE_RAW, 0x8010, "Floating-point operation speculatively executed, including SIMD", "arm64"},
269 {"raw-ase-fp-spec", PERF_TYPE_RAW, 0x8011, "Floating-point operation speculatively executed, Advanced SIMD", "arm64"},
270 {"raw-sve-fp-spec", PERF_TYPE_RAW, 0x8012, "Floating-point operation speculatively executed, SVE", "arm64"},
271 {"raw-ase-sve-fp-spec", PERF_TYPE_RAW, 0x8013, "Floating-point operation speculatively executed, Advanced SIMD or SVE", "arm64"},
272 {"raw-fp-hp-spec", PERF_TYPE_RAW, 0x8014, "Floating-point operation speculatively executed, half precision", "arm64"},
273 {"raw-ase-fp-hp-spec", PERF_TYPE_RAW, 0x8015, "Floating-point operation speculatively executed, Advanced SIMD half precision", "arm64"},
274 {"raw-sve-fp-hp-spec", PERF_TYPE_RAW, 0x8016, "Floating-point operation speculatively executed, SVE half precision", "arm64"},
275 {"raw-ase-sve-fp-hp-spec", PERF_TYPE_RAW, 0x8017, "Floating-point operation speculatively executed, Advanced SIMD or SVE half precision", "arm64"},
276 {"raw-fp-sp-spec", PERF_TYPE_RAW, 0x8018, "Floating-point operation speculatively executed, single precision", "arm64"},
277 {"raw-ase-fp-sp-spec", PERF_TYPE_RAW, 0x8019, "Floating-point operation speculatively executed, Advanced SIMD single precision", "arm64"},
278 {"raw-sve-fp-sp-spec", PERF_TYPE_RAW, 0x801a, "Floating-point operation speculatively executed, SVE single precision", "arm64"},
279 {"raw-ase-sve-fp-sp-spec", PERF_TYPE_RAW, 0x801b, "Floating-point operation speculatively executed, Advanced SIMD or SVE single precision", "arm64"},
280 {"raw-fp-dp-spec", PERF_TYPE_RAW, 0x801c, "Floating-point operation speculatively executed, double precision", "arm64"},
281 {"raw-ase-fp-dp-spec", PERF_TYPE_RAW, 0x801d, "Floating-point operation speculatively executed, Advanced SIMD double precision", "arm64"},
282 {"raw-sve-fp-dp-spec", PERF_TYPE_RAW, 0x801e, "Floating-point operation speculatively executed, SVE double precision", "arm64"},
283 {"raw-ase-sve-fp-dp-spec", PERF_TYPE_RAW, 0x801f, "Floating-point operation speculatively executed, Advanced SIMD or SVE double precision", "arm64"},
284 {"raw-fp-div-spec", PERF_TYPE_RAW, 0x8020, "Floating-point operation speculatively executed, divide", "arm64"},
285 {"raw-ase-fp-div-spec", PERF_TYPE_RAW, 0x8021, "Floating-point operation speculatively executed, Advanced SIMD divide", "arm64"},
286 {"raw-sve-fp-div-spec", PERF_TYPE_RAW, 0x8022, "Floating-point operation speculatively executed, SVE divide", "arm64"},
287 {"raw-ase-sve-fp-div-spec", PERF_TYPE_RAW, 0x8023, "Floating-point operation speculatively executed, Advanced SIMD or SVE divide", "arm64"},
288 {"raw-fp-sqrt-spec", PERF_TYPE_RAW, 0x8024, "Floating-point operation speculatively executed, square root", "arm64"},
289 {"raw-ase-fp-sqrt-spec", PERF_TYPE_RAW, 0x8025, "Floating-point operation speculatively executed, Advanced SIMD square root", "arm64"},
290 {"raw-sve-fp-sqrt-spec", PERF_TYPE_RAW, 0x8026, "Floating-point operation speculatively executed, SVE square root", "arm64"},
291 {"raw-ase-sve-fp-sqrt-spec", PERF_TYPE_RAW, 0x8027, "Floating-point operation speculatively executed, Advanced SIMD or SVE square-root", "arm64"},
292 {"raw-fp-fma-spec", PERF_TYPE_RAW, 0x8028, "Floating-point operation speculatively executed, FMA", "arm64"},
293 {"raw-ase-fp-fma-spec", PERF_TYPE_RAW, 0x8029, "Floating-point operation speculatively executed, Advanced SIMD FMA", "arm64"},
294 {"raw-sve-fp-fma-spec", PERF_TYPE_RAW, 0x802a, "Floating-point operation speculatively executed, SVE FMA", "arm64"},
295 {"raw-ase-sve-fp-fma-spec", PERF_TYPE_RAW, 0x802b, "Floating-point operation speculatively executed, Advanced SIMD or SVE FMA", "arm64"},
296 {"raw-fp-mul-spec", PERF_TYPE_RAW, 0x802c, "Floating-point operation speculatively executed, multiply", "arm64"},
297 {"raw-ase-fp-mul-spec", PERF_TYPE_RAW, 0x802d, "Floating-point operation speculatively executed, Advanced SIMD multiply", "arm64"},
298 {"raw-sve-fp-mul-spec", PERF_TYPE_RAW, 0x802e, "Floating-point operation speculatively executed, SVE multiply", "arm64"},
299 {"raw-ase-sve-fp-mul-spec", PERF_TYPE_RAW, 0x802f, "Floating-point operation speculatively executed, Advanced SIMD or SVE multiply", "arm64"},
300 {"raw-fp-addsub-spec", PERF_TYPE_RAW, 0x8030, "Floating-point operation speculatively executed, add or subtract", "arm64"},
301 {"raw-ase-fp-addsub-spec", PERF_TYPE_RAW, 0x8031, "Floating-point operation speculatively executed, Advanced SIMD add or subtract", "arm64"},
302 {"raw-sve-fp-addsub-spec", PERF_TYPE_RAW, 0x8032, "Floating-point operation speculatively executed, SVE add or subtract", "arm64"},
303 {"raw-ase-sve-fp-addsub-spec", PERF_TYPE_RAW, 0x8033, "Floating-point operation speculatively executed, Advanced SIMD or SVE add or subtract", "arm64"},
304 {"raw-fp-recpe-spec", PERF_TYPE_RAW, 0x8034, "Floating-point operation speculatively executed, reciprocal estimate", "arm64"},
305 {"raw-ase-fp-recpe-spec", PERF_TYPE_RAW, 0x8035, "Floating-point operation speculatively executed, Advanced SIMD reciprocal estimate", "arm64"},
306 {"raw-sve-fp-recpe-spec", PERF_TYPE_RAW, 0x8036, "Floating-point operation speculatively executed, SVE reciprocal estimate", "arm64"},
307 {"raw-ase-sve-fp-recpe-spec", PERF_TYPE_RAW, 0x8037, "Floating-point operation speculatively executed, Advanced SIMD or SVE reciprocal estimate", "arm64"},
308 {"raw-fp-cvt-spec", PERF_TYPE_RAW, 0x8038, "Floating-point operation speculatively executed, convert", "arm64"},
309 {"raw-ase-fp-cvt-spec", PERF_TYPE_RAW, 0x8039, "Floating-point operation speculatively executed, Advanced SIMD convert", "arm64"},
310 {"raw-sve-fp-cvt-spec", PERF_TYPE_RAW, 0x803a, "Floating-point operation speculatively executed, SVE convert", "arm64"},
311 {"raw-ase-sve-fp-cvt-spec", PERF_TYPE_RAW, 0x803b, "Floating-point operation speculatively executed, Advanced SIMD or SVE convert", "arm64"},
312 {"raw-sve-fp-areduce-spec", PERF_TYPE_RAW, 0x803c, "Floating-point operation speculatively executed, SVE accumulating reduction", "arm64"},
313 {"raw-ase-fp-preduce-spec", PERF_TYPE_RAW, 0x803d, "Floating-point operation speculatively executed, Advanced SIMD pairwise add step", "arm64"},
314 {"raw-sve-fp-vreduce-spec", PERF_TYPE_RAW, 0x803e, "Floating-point operation speculatively executed, SVE vector reduction", "arm64"},
315 {"raw-ase-sve-fp-vreduce-spec", PERF_TYPE_RAW, 0x803f, "Floating-point operation speculatively executed, Advanced SIMD or SVE vector reduction", "arm64"},
316 {"raw-int-spec", PERF_TYPE_RAW, 0x8040, "Integer operation speculatively executed", "arm64"},
317 {"raw-ase-int-spec", PERF_TYPE_RAW, 0x8041, "Integer operation speculatively executed, Advanced SIMD", "arm64"},
318 {"raw-sve-int-spec", PERF_TYPE_RAW, 0x8042, "Integer operation speculatively executed, SVE", "arm64"},
319 {"raw-ase-sve-int-spec", PERF_TYPE_RAW, 0x8043, "Integer operation speculatively executed, Advanced SIMD or SVE", "arm64"},
320 {"raw-int-div-spec", PERF_TYPE_RAW, 0x8044, "Integer operation speculatively executed, divide", "arm64"},
321 {"raw-int-div64-spec", PERF_TYPE_RAW, 0x8045, "Integer operation speculatively executed, 64-bit divide", "arm64"},
322 {"raw-sve-int-div-spec", PERF_TYPE_RAW, 0x8046, "Integer operation speculatively executed, SVE divide", "arm64"},
323 {"raw-sve-int-div64-spec", PERF_TYPE_RAW, 0x8047, "Integer operation speculatively executed, SVE 64-bit divide", "arm64"},
324 {"raw-int-mul-spec", PERF_TYPE_RAW, 0x8048, "Integer operation speculatively executed, multiply", "arm64"},
325 {"raw-ase-int-mul-spec", PERF_TYPE_RAW, 0x8049, "Integer operation speculatively executed, Advanced SIMD multiply", "arm64"},
326 {"raw-sve-int-mul-spec", PERF_TYPE_RAW, 0x804a, "Integer operation speculatively executed, SVE multiply", "arm64"},
327 {"raw-ase-sve-int-mul-spec", PERF_TYPE_RAW, 0x804b, "Integer operation speculatively executed, Advanced SIMD or SVE multiply", "arm64"},
328 {"raw-int-mul64-spec", PERF_TYPE_RAW, 0x804c, "Integer operation speculatively executed, 64x64 multiply", "arm64"},
329 {"raw-sve-int-mul64-spec", PERF_TYPE_RAW, 0x804d, "Integer operation speculatively executed, SVE 64x64 multiply", "arm64"},
330 {"raw-int-mulh64-spec", PERF_TYPE_RAW, 0x804e, "Integer operation speculatively executed, 64x64 multiply returning high part", "arm64"},
331 {"raw-sve-int-mulh64-spec", PERF_TYPE_RAW, 0x804f, "Integer operation speculatively executed, SVE 64x64 multiply high part", "arm64"},
332 {"raw-nonfp-spec", PERF_TYPE_RAW, 0x8058, "Non-floating-point operation speculatively executed", "arm64"},
333 {"raw-ase-nonfp-spec", PERF_TYPE_RAW, 0x8059, "Non-floating-point operation speculatively executed, Advanced SIMD", "arm64"},
334 {"raw-sve-nonfp-spec", PERF_TYPE_RAW, 0x805a, "Non-floating-point operation speculatively executed, SVE", "arm64"},
335 {"raw-ase-sve-nonfp-spec", PERF_TYPE_RAW, 0x805b, "Non-floating-point operation speculatively executed, Advanced SIMD or SVE", "arm64"},
336 {"raw-ase-int-vreduce-spec", PERF_TYPE_RAW, 0x805d, "Integer operation speculatively executed, Advanced SIMD reduction", "arm64"},
337 {"raw-sve-int-vreduce-spec", PERF_TYPE_RAW, 0x805e, "Integer operation speculatively executed, SVE reduction", "arm64"},
338 {"raw-ase-sve-int-vreduce-spec", PERF_TYPE_RAW, 0x805f, "Integer operation speculatively executed, Advanced SIMD or SVE reduction", "arm64"},
339 {"raw-sve-perm-spec", PERF_TYPE_RAW, 0x8060, "Operation speculatively executed, SVE permute", "arm64"},
340 {"raw-sve-perm-igranule-spec", PERF_TYPE_RAW, 0x8061, "Operation speculatively executed, SVE intra-granule permute", "arm64"},
341 {"raw-sve-perm-xgranule-spec", PERF_TYPE_RAW, 0x8062, "Operation speculatively executed, SVE cross-granule permute", "arm64"},
342 {"raw-sve-perm-variable-spec", PERF_TYPE_RAW, 0x8063, "Operation speculatively executed, SVE programmable permute", "arm64"},
343 {"raw-sve-xpipe-spec", PERF_TYPE_RAW, 0x8064, "Operation speculatively executed, SVE cross-pipe", "arm64"},
344 {"raw-sve-xpipe-z2r-spec", PERF_TYPE_RAW, 0x8065, "Operation speculatively executed, SVE vector to scalar cross-pipe", "arm64"},
345 {"raw-sve-xpipe-r2z-spec", PERF_TYPE_RAW, 0x8066, "Operation speculatively executed, SVE scalar to vector cross-pipe", "arm64"},
346 {"raw-sve-pgen-nvec-spec", PERF_TYPE_RAW, 0x8067, "Operation speculatively executed, SVE predicate-only", "arm64"},
347 {"raw-sve-pgen-spec", PERF_TYPE_RAW, 0x8068, "Operation speculatively executed, SVE predicate generating", "arm64"},
348 {"raw-sve-pgen-flg-spec", PERF_TYPE_RAW, 0x8069, "Operation speculatively executed, SVE predicate flag setting", "arm64"},
349 {"raw-sve-pgen-cmp-spec", PERF_TYPE_RAW, 0x806a, "Operation speculatively executed, SVE vector compare", "arm64"},
350 {"raw-sve-pgen-fcm-spec", PERF_TYPE_RAW, 0x806b, "Floating-point operation speculatively executed, SVE vector compare", "arm64"},
351 {"raw-sve-pgen-logic-spec", PERF_TYPE_RAW, 0x806c, "Operation speculatively executed, SVE predicate logical", "arm64"},
352 {"raw-sve-pperm-spec", PERF_TYPE_RAW, 0x806d, "Operation speculatively executed, SVE predicate permute", "arm64"},
353 {"raw-sve-pscan-spec", PERF_TYPE_RAW, 0x806e, "Operation speculatively executed, SVE predicate scan", "arm64"},
354 {"raw-sve-pcnt-spec", PERF_TYPE_RAW, 0x806f, "Operation speculatively executed, SVE predicate count", "arm64"},
355 {"raw-sve-ploop-while-spec", PERF_TYPE_RAW, 0x8070, "Operation speculatively executed, SVE predicate loop while", "arm64"},
356 {"raw-sve-ploop-test-spec", PERF_TYPE_RAW, 0x8071, "Operation speculatively executed, SVE predicate loop test", "arm64"},
357 {"raw-sve-ploop-elts-spec", PERF_TYPE_RAW, 0x8072, "Operation speculatively executed, SVE predicate loop elements", "arm64"},
358 {"raw-sve-ploop-term-spec", PERF_TYPE_RAW, 0x8073, "Operation speculatively executed, SVE predicate loop termination", "arm64"},
359 {"raw-sve-pred-spec", PERF_TYPE_RAW, 0x8074, "Operation speculatively executed, SVE predicated", "arm64"},
360 {"raw-sve-pred-empty-spec", PERF_TYPE_RAW, 0x8075, "Operation speculatively executed, SVE predicated with no active predicates", "arm64"},
361 {"raw-sve-pred-full-spec", PERF_TYPE_RAW, 0x8076, "Operation speculatively executed, SVE predicated with all active predicates", "arm64"},
362 {"raw-sve-pred-partial-spec", PERF_TYPE_RAW, 0x8077, "Operation speculatively executed, SVE predicated with partially active predicates", "arm64"},
363 {"raw-sve-unpred-spec", PERF_TYPE_RAW, 0x8078, "Operation speculatively executed, SVE unpredicated", "arm64"},
364 {"raw-sve-pred-not-full-spec", PERF_TYPE_RAW, 0x8079, "SVE predicated operations Speculatively executed with no active or partially active predicates", "arm64"},
365 {"raw-sve-movprfx-spec", PERF_TYPE_RAW, 0x807c, "Operation speculatively executed, SVE MOVPRFX", "arm64"},
366 {"raw-sve-movprfx-z-spec", PERF_TYPE_RAW, 0x807d, "Operation speculatively executed, SVE MOVPRFX zeroing predication", "arm64"},
367 {"raw-sve-movprfx-m-spec", PERF_TYPE_RAW, 0x807e, "Operation speculatively executed, SVE MOVPRFX merging predication", "arm64"},
368 {"raw-sve-movprfx-u-spec", PERF_TYPE_RAW, 0x807f, "Operation speculatively executed, SVE MOVPRFX unfused", "arm64"},
369 {"raw-sve-ldst-spec", PERF_TYPE_RAW, 0x8080, "Operation speculatively executed, SVE load, store, or prefetch", "arm64"},
370 {"raw-sve-ld-spec", PERF_TYPE_RAW, 0x8081, "Operation speculatively executed, SVE load", "arm64"},
371 {"raw-sve-st-spec", PERF_TYPE_RAW, 0x8082, "Operation speculatively executed, SVE store", "arm64"},
372 {"raw-sve-prf-spec", PERF_TYPE_RAW, 0x8083, "Operation speculatively executed, SVE prefetch", "arm64"},
373 {"raw-ase-sve-ldst-spec", PERF_TYPE_RAW, 0x8084, "Operation speculatively executed, Advanced SIMD or SVE load or store", "arm64"},
374 {"raw-ase-sve-ld-spec", PERF_TYPE_RAW, 0x8085, "Operation speculatively executed, Advanced SIMD or SVE load", "arm64"},
375 {"raw-ase-sve-st-spec", PERF_TYPE_RAW, 0x8086, "Operation speculatively executed, Advanced SIMD or SVE store", "arm64"},
376 {"raw-prf-spec", PERF_TYPE_RAW, 0x8087, "Operation speculatively executed, Prefetch", "arm64"},
377 {"raw-base-ldst-reg-spec", PERF_TYPE_RAW, 0x8088, "Operation speculatively executed, general-purpose register load, store, or prefetch", "arm64"},
378 {"raw-base-ld-reg-spec", PERF_TYPE_RAW, 0x8089, "Operation speculatively executed, general-purpose register load", "arm64"},
379 {"raw-base-st-reg-spec", PERF_TYPE_RAW, 0x808a, "Operation speculatively executed, general-purpose register store", "arm64"},
380 {"raw-base-prf-spec", PERF_TYPE_RAW, 0x808b, "Operation speculatively executed, general-purpose register prefetch", "arm64"},
381 {"raw-fpase-ldst-reg-spec", PERF_TYPE_RAW, 0x808c, "Operation speculatively executed, SIMD&FP register load or store", "arm64"},
382 {"raw-fpase-ld-reg-spec", PERF_TYPE_RAW, 0x808d, "Operation speculatively executed, SIMD&FP register load", "arm64"},
383 {"raw-fpase-st-reg-spec", PERF_TYPE_RAW, 0x808e, "Operation speculatively executed, SIMD&FP register store", "arm64"},
384 {"raw-sve-ldst-reg-spec", PERF_TYPE_RAW, 0x8090, "Operation speculatively executed, SVE unpredicated load or store register", "arm64"},
385 {"raw-sve-ldr-reg-spec", PERF_TYPE_RAW, 0x8091, "Operation speculatively executed, SVE unpredicated load register", "arm64"},
386 {"raw-sve-str-reg-spec", PERF_TYPE_RAW, 0x8092, "Operation speculatively executed, SVE unpredicated store register", "arm64"},
387 {"raw-sve-ldst-preg-spec", PERF_TYPE_RAW, 0x8094, "Operation speculatively executed, SVE load or store predicate register", "arm64"},
388 {"raw-sve-ldr-preg-spec", PERF_TYPE_RAW, 0x8095, "Operation speculatively executed, SVE load predicate register", "arm64"},
389 {"raw-sve-str-preg-spec", PERF_TYPE_RAW, 0x8096, "Operation speculatively executed, SVE store predicate register", "arm64"},
390 {"raw-sve-ldst-zreg-spec", PERF_TYPE_RAW, 0x8098, "Operation speculatively executed, SVE load or store vector register", "arm64"},
391 {"raw-sve-ldr-zreg-spec", PERF_TYPE_RAW, 0x8099, "Operation speculatively executed, SVE load vector register", "arm64"},
392 {"raw-sve-str-zreg-spec", PERF_TYPE_RAW, 0x809a, "Operation speculatively executed, SVE store vector register", "arm64"},
393 {"raw-sve-ldst-contig-spec", PERF_TYPE_RAW, 0x809c, "Operation speculatively executed, SVE contiguous load, store, or prefetch element", "arm64"},
394 {"raw-sve-ld-contig-spec", PERF_TYPE_RAW, 0x809d, "Operation speculatively executed, SVE contiguous load element", "arm64"},
395 {"raw-sve-st-contig-spec", PERF_TYPE_RAW, 0x809e, "Operation speculatively executed, SVE contiguous store element", "arm64"},
396 {"raw-sve-prf-contig-spec", PERF_TYPE_RAW, 0x809f, "Operation speculatively executed, SVE contiguous prefetch element", "arm64"},
397 {"raw-sve-ldstnt-contig-spec", PERF_TYPE_RAW, 0x80a0, "Operation speculatively executed, SVE non-temporal contiguous load or store element", "arm64"},
398 {"raw-sve-ldnt-contig-spec", PERF_TYPE_RAW, 0x80a1, "Operation speculatively executed, SVE non-temporal contiguous load element", "arm64"},
399 {"raw-sve-stnt-contig-spec", PERF_TYPE_RAW, 0x80a2, "Operation speculatively executed, SVE non-temporal contiguous store element", "arm64"},
400 {"raw-ase-sve-ldst-multi-spec", PERF_TYPE_RAW, 0x80a4, "Operation speculatively executed, Advanced SIMD or SVE contiguous load or store multiple vector", "arm64"},
401 {"raw-ase-sve-ld-multi-spec", PERF_TYPE_RAW, 0x80a5, "Operation speculatively executed, Advanced SIMD or SVE contiguous load multiple vector", "arm64"},
402 {"raw-ase-sve-st-multi-spec", PERF_TYPE_RAW, 0x80a6, "Operation speculatively executed, Advanced SIMD or SVE contiguous store multiple vector", "arm64"},
403 {"raw-sve-ldst-multi-spec", PERF_TYPE_RAW, 0x80a8, "Operation speculatively executed, SVE contiguous load or store multiple vector", "arm64"},
404 {"raw-sve-ld-multi-spec", PERF_TYPE_RAW, 0x80a9, "Operation speculatively executed, SVE contiguous load multiple vector", "arm64"},
405 {"raw-sve-st-multi-spec", PERF_TYPE_RAW, 0x80aa, "Operation speculatively executed, SVE contiguous store multiple vector", "arm64"},
406 {"raw-sve-ldst-noncontig-spec", PERF_TYPE_RAW, 0x80ac, "Operation speculatively executed, SVE non-contiguous load, store, or prefetch", "arm64"},
407 {"raw-sve-ld-gather-spec", PERF_TYPE_RAW, 0x80ad, "Operation speculatively executed, SVE gather-load", "arm64"},
408 {"raw-sve-st-scatter-spec", PERF_TYPE_RAW, 0x80ae, "Operation speculatively executed, SVE scatter-store", "arm64"},
409 {"raw-sve-prf-gather-spec", PERF_TYPE_RAW, 0x80af, "Operation speculatively executed, SVE gather-prefetch", "arm64"},
410 {"raw-sve-ldst64-noncontig-spec", PERF_TYPE_RAW, 0x80b0, "Operation speculatively executed, SVE 64-bit non-contiguous load, store, or prefetch", "arm64"},
411 {"raw-sve-ld64-gather-spec", PERF_TYPE_RAW, 0x80b1, "Operation speculatively executed, SVE 64-bit gather-load", "arm64"},
412 {"raw-sve-st64-scatter-spec", PERF_TYPE_RAW, 0x80b2, "Operation speculatively executed, SVE 64-bit scatter-store", "arm64"},
413 {"raw-sve-prf64-gather-spec", PERF_TYPE_RAW, 0x80b3, "Operation speculatively executed, SVE 64-bit gather-prefetch", "arm64"},
414 {"raw-ase-sve-unaligned-ldst-spec", PERF_TYPE_RAW, 0x80b4, "Advanced SIMD or SVE unaligned accesses", "arm64"},
415 {"raw-ase-sve-unaligned-ld-spec", PERF_TYPE_RAW, 0x80b5, "Advanced SIMD or SVE unaligned read accesses", "arm64"},
416 {"raw-ase-sve-unaligned-st-spec", PERF_TYPE_RAW, 0x80b6, "Advanced SIMD or SVE unaligned write accesses", "arm64"},
417 {"raw-ase-sve-unaligned-contig-ldst-spec", PERF_TYPE_RAW, 0x80b8, "Advanced SIMD or SVE unaligned contiguous accesses", "arm64"},
418 {"raw-ase-sve-unaligned-contig-ld-spec", PERF_TYPE_RAW, 0x80b9, "Advanced SIMD or SVE unaligned contiguous read accesses", "arm64"},
419 {"raw-ase-sve-unaligned-contig-st-spec", PERF_TYPE_RAW, 0x80ba, "Advanced SIMD or SVE unaligned contiguous write accesses", "arm64"},
420 {"raw-sve-ldff-spec", PERF_TYPE_RAW, 0x80bc, "Operation speculatively executed, SVE first-fault load", "arm64"},
421 {"raw-sve-ldff-fault-spec", PERF_TYPE_RAW, 0x80bd, "Operation speculatively executed, SVE first-fault load which set FFR bit to 0b0", "arm64"},
422 {"raw-fp-scale-ops-spec", PERF_TYPE_RAW, 0x80c0, "Scalable floating-point element ALU operations Speculatively executed", "arm64"},
423 {"raw-fp-fixed-ops-spec", PERF_TYPE_RAW, 0x80c1, "Non-scalable floating-point element ALU operations Speculatively executed", "arm64"},
424 {"raw-fp-hp-scale-ops-spec", PERF_TYPE_RAW, 0x80c2, "Scalable half-precision floating-point element ALU operations Speculatively executed", "arm64"},
425 {"raw-fp-hp-fixed-ops-spec", PERF_TYPE_RAW, 0x80c3, "Non-scalable half-precision floating-point element ALU operations Speculatively executed", "arm64"},
426 {"raw-fp-sp-scale-ops-spec", PERF_TYPE_RAW, 0x80c4, "Scalable single-precision floating-point element ALU operations Speculatively executed", "arm64"},
427 {"raw-fp-sp-fixed-ops-spec", PERF_TYPE_RAW, 0x80c5, "Non-scalable single-precision floating-point element ALU operations Speculatively executed", "arm64"},
428 {"raw-fp-dp-scale-ops-spec", PERF_TYPE_RAW, 0x80c6, "Scalable double-precision floating-point element ALU operations Speculatively executed", "arm64"},
429 {"raw-fp-dp-fixed-ops-spec", PERF_TYPE_RAW, 0x80c7, "Non-scalable double-precision floating-point element ALU operations Speculatively executed", "arm64"},
430 {"raw-int-scale-ops-spec", PERF_TYPE_RAW, 0x80c8, "Scalable integer element ALU operations Speculatively executed", "arm64"},
431 {"raw-int-fixed-ops-spec", PERF_TYPE_RAW, 0x80c9, "Non-scalable integer element ALU operations Speculatively executed", "arm64"},
432 {"raw-ldst-scale-ops-spec", PERF_TYPE_RAW, 0x80ca, "Scalable load or store element Operations speculatively executed", "arm64"},
433 {"raw-ldst-fixed-ops-spec", PERF_TYPE_RAW, 0x80cb, "Non-scalable load or store element Operations speculatively executed", "arm64"},
434 {"raw-ld-scale-ops-spec", PERF_TYPE_RAW, 0x80cc, "Scalable load element Operations speculatively executed", "arm64"},
435 {"raw-ld-fixed-ops-spec", PERF_TYPE_RAW, 0x80cd, "Non-scalable load element Operations speculatively executed", "arm64"},
436 {"raw-st-scale-ops-spec", PERF_TYPE_RAW, 0x80ce, "Scalable store element Operations speculatively executed", "arm64"},
437 {"raw-st-fixed-ops-spec", PERF_TYPE_RAW, 0x80cf, "Non-scalable store element Operations speculatively executed", "arm64"},
438 {"raw-ldst-scale-bytes-spec", PERF_TYPE_RAW, 0x80da, "Scalable load and store bytes Speculatively executed", "arm64"},
439 {"raw-ldst-fixed-bytes-spec", PERF_TYPE_RAW, 0x80db, "Non-scalable load and store bytes Speculatively executed", "arm64"},
440 {"raw-ld-scale-bytes-spec", PERF_TYPE_RAW, 0x80dc, "Scalable load bytes Speculatively executed", "arm64"},
441 {"raw-ld-fixed-bytes-spec", PERF_TYPE_RAW, 0x80dd, "Non-scalable load bytes Speculatively executed", "arm64"},
442 {"raw-st-scale-bytes-spec", PERF_TYPE_RAW, 0x80de, "Scalable store bytes Speculatively executed", "arm64"},
443 {"raw-st-fixed-bytes-spec", PERF_TYPE_RAW, 0x80df, "Non-scalable store bytes Speculatively executed", "arm64"},
444 {"raw-ase-int8-spec", PERF_TYPE_RAW, 0x80e1, "Integer operation speculatively executed, Advanced SIMD 8-bit", "arm64"},
445 {"raw-sve-int8-spec", PERF_TYPE_RAW, 0x80e2, "Integer operation speculatively executed, SVE 8-bit", "arm64"},
446 {"raw-ase-sve-int8-spec", PERF_TYPE_RAW, 0x80e3, "Integer operation speculatively executed, Advanced SIMD or SVE 8-bit", "arm64"},
447 {"raw-ase-int16-spec", PERF_TYPE_RAW, 0x80e5, "Integer operation speculatively executed, Advanced SIMD 16-bit", "arm64"},
448 {"raw-sve-int16-spec", PERF_TYPE_RAW, 0x80e6, "Integer operation speculatively executed, SVE 16-bit", "arm64"},
449 {"raw-ase-sve-int16-spec", PERF_TYPE_RAW, 0x80e7, "Integer operation speculatively executed, Advanced SIMD or SVE 16-bit", "arm64"},
450 {"raw-ase-int32-spec", PERF_TYPE_RAW, 0x80e9, "Integer operation speculatively executed, Advanced SIMD 32-bit", "arm64"},
451 {"raw-sve-int32-spec", PERF_TYPE_RAW, 0x80ea, "Integer operation speculatively executed, SVE 32-bit", "arm64"},
452 {"raw-ase-sve-int32-spec", PERF_TYPE_RAW, 0x80eb, "Integer operation speculatively executed, Advanced SIMD or SVE 32-bit", "arm64"},
453 {"raw-ase-int64-spec", PERF_TYPE_RAW, 0x80ed, "Integer operation speculatively executed, Advanced SIMD 64-bit", "arm64"},
454 {"raw-sve-int64-spec", PERF_TYPE_RAW, 0x80ee, "Integer operation speculatively executed, SVE 64-bit", "arm64"},
455 {"raw-ase-sve-int64-spec", PERF_TYPE_RAW, 0x80ef, "Integer operation speculatively executed, Advanced SIMD or SVE 64-bit", "arm64"},
456 {"raw-ase-fp-dot-spec", PERF_TYPE_RAW, 0x80f1, "Floating-point operation speculatively executed, Advanced SIMD dot-product", "arm64"},
457 {"raw-sve-fp-dot-spec", PERF_TYPE_RAW, 0x80f2, "Floating-point operation speculatively executed, SVE dot-product", "arm64"},
458 {"raw-ase-sve-fp-dot-spec", PERF_TYPE_RAW, 0x80f3, "Floating-point operation speculatively executed, Advanced SIMD or SVE dot-product", "arm64"},
459 {"raw-ase-fp-mmla-spec", PERF_TYPE_RAW, 0x80f5, "Floating-point operation speculatively executed, Advanced SIMD matrix multiply", "arm64"},
460 {"raw-sve-fp-mmla-spec", PERF_TYPE_RAW, 0x80f6, "Floating-point operation speculatively executed, SVE matrix multiply", "arm64"},
461 {"raw-ase-sve-fp-mmla-spec", PERF_TYPE_RAW, 0x80f7, "Floating-point operation speculatively executed, Advanced SIMD or SVE matrix multiply", "arm64"},
462 {"raw-ase-int-dot-spec", PERF_TYPE_RAW, 0x80f9, "Operation speculatively executed, Advanced SIMD integer dot-product", "arm64"},
463 {"raw-sve-int-dot-spec", PERF_TYPE_RAW, 0x80fa, "Integer operation speculatively executed, SVE dot-product", "arm64"},
464 {"raw-ase-sve-int-dot-spec", PERF_TYPE_RAW, 0x80fb, "Integer operation speculatively executed, Advanced SIMD or SVE dot-product", "arm64"},
465 {"raw-ase-int-mmla-spec", PERF_TYPE_RAW, 0x80fd, "Integer operation speculatively executed, Advanced SIMD matrix multiply", "arm64"},
466 {"raw-sve-int-mmla-spec", PERF_TYPE_RAW, 0x80fe, "Integer operation speculatively executed, SVE matrix multiply", "arm64"},
467 {"raw-ase-sve-int-mmla-spec", PERF_TYPE_RAW, 0x80ff, "Integer operation speculatively executed, Advanced SIMD or SVE matrix multiply", "arm64"},
468 {"raw-br-skip-retired", PERF_TYPE_RAW, 0x8107, "Branch Instruction architecturally executed, not taken", "arm64"},
469 {"raw-br-immed-taken-retired", PERF_TYPE_RAW, 0x8108, "Branch Instruction architecturally executed, immediate, taken", "arm64"},
470 {"raw-br-immed-skip-retired", PERF_TYPE_RAW, 0x8109, "Branch Instruction architecturally executed, immediate, not taken", "arm64"},
471 {"raw-br-ind-taken-retired", PERF_TYPE_RAW, 0x810a, "Branch Instruction architecturally executed, indirect, taken", "arm64"},
472 {"raw-br-ind-skip-retired", PERF_TYPE_RAW, 0x810b, "Branch Instruction architecturally executed, indirect, not taken", "arm64"},
473 {"raw-br-indnr-taken-retired", PERF_TYPE_RAW, 0x810c, "Branch Instruction architecturally executed, indirect excluding procedure return, taken", "arm64"},
474 {"raw-br-indnr-skip-retired", PERF_TYPE_RAW, 0x810d, "Branch Instruction architecturally executed, indirect excluding procedure return, not taken", "arm64"},
475 {"raw-br-return-any-retired", PERF_TYPE_RAW, 0x810e, "Branch Instruction architecturally executed, procedure return", "arm64"},
476 {"raw-br-return-skip-retired", PERF_TYPE_RAW, 0x810f, "Branch Instruction architecturally executed, procedure return, not taken", "arm64"},
477 {"raw-br-immed-pred-retired", PERF_TYPE_RAW, 0x8110, "Branch Instruction architecturally executed, predicted immediate", "arm64"},
478 {"raw-br-immed-mis-pred-retired", PERF_TYPE_RAW, 0x8111, "Branch Instruction architecturally executed, mispredicted immediate", "arm64"},
479 {"raw-br-ind-pred-retired", PERF_TYPE_RAW, 0x8112, "Branch Instruction architecturally executed, predicted indirect", "arm64"},
480 {"raw-br-ind-mis-pred-retired", PERF_TYPE_RAW, 0x8113, "Branch Instruction architecturally executed, mispredicted indirect", "arm64"},
481 {"raw-br-return-pred-retired", PERF_TYPE_RAW, 0x8114, "Branch Instruction architecturally executed, predicted procedure return", "arm64"},
482 {"raw-br-return-mis-pred-retired", PERF_TYPE_RAW, 0x8115, "Branch Instruction architecturally executed, mispredicted procedure return", "arm64"},
483 {"raw-br-indnr-pred-retired", PERF_TYPE_RAW, 0x8116, "Branch Instruction architecturally executed, predicted indirect excluding procedure return", "arm64"},
484 {"raw-br-indnr-mis-pred-retired", PERF_TYPE_RAW, 0x8117, "Branch Instruction architecturally executed, mispredicted indirect excluding procedure return", "arm64"},
485 {"raw-br-taken-pred-retired", PERF_TYPE_RAW, 0x8118, "Branch Instruction architecturally executed, predicted branch, taken", "arm64"},
486 {"raw-br-taken-mis-pred-retired", PERF_TYPE_RAW, 0x8119, "Branch Instruction architecturally executed, mispredicted branch, taken", "arm64"},
487 {"raw-br-skip-pred-retired", PERF_TYPE_RAW, 0x811a, "Branch Instruction architecturally executed, predicted branch, not taken", "arm64"},
488 {"raw-br-skip-mis-pred-retired", PERF_TYPE_RAW, 0x811b, "Branch Instruction architecturally executed, mispredicted branch, not taken", "arm64"},
489 {"raw-br-pred-retired", PERF_TYPE_RAW, 0x811c, "Branch Instruction architecturally executed, predicted branch", "arm64"},
490 {"raw-br-ind-retired", PERF_TYPE_RAW, 0x811d, "Instruction architecturally executed, indirect branch", "arm64"},
491 {"raw-br-indnr-retired", PERF_TYPE_RAW, 0x811e, "Branch Instruction architecturally executed, indirect excluding procedure return", "arm64"},
492 {"raw-brb-filtrate", PERF_TYPE_RAW, 0x811f, "Branch Record captured", "arm64"},
493 {"raw-inst-fetch-percyc", PERF_TYPE_RAW, 0x8120, "Event in progress, INST_FETCH", "arm64"},
494 {"raw-mem-access-rd-percyc", PERF_TYPE_RAW, 0x8121, "Event in progress, MEM_ACCESS_RD", "arm64"},
495 {"raw-inst-fetch", PERF_TYPE_RAW, 0x8124, "Instruction memory access", "arm64"},
496 {"raw-bus-req-rd-percyc", PERF_TYPE_RAW, 0x8125, "Bus read transactions in progress", "arm64"},
497 {"raw-bus-req-wr-percyc", PERF_TYPE_RAW, 0x8126, "Bus write transactions in progress", "arm64"},
498 {"raw-dtlb-walk-percyc", PERF_TYPE_RAW, 0x8128, "Event in progress, DTLB_WALK", "arm64"},
499 {"raw-itlb-walk-percyc", PERF_TYPE_RAW, 0x8129, "Event in progress, ITLB_WALK", "arm64"},
500 {"raw-sample-feed-br", PERF_TYPE_RAW, 0x812a, "Statistical Profiling sample taken, branch", "arm64"},
501 {"raw-sample-feed-ld", PERF_TYPE_RAW, 0x812b, "Statistical Profiling sample taken, load", "arm64"},
502 {"raw-sample-feed-st", PERF_TYPE_RAW, 0x812c, "Statistical Profiling sample taken, store", "arm64"},
503 {"raw-sample-feed-op", PERF_TYPE_RAW, 0x812d, "Statistical Profiling sample taken, matching operation type", "arm64"},
504 {"raw-sample-feed-event", PERF_TYPE_RAW, 0x812e, "Statistical Profiling sample taken, matching events", "arm64"},
505 {"raw-sample-feed-lat", PERF_TYPE_RAW, 0x812f, "Statistical Profiling sample taken, exceeding minimum latency", "arm64"},
506 {"raw-l1d-tlb-rw", PERF_TYPE_RAW, 0x8130, "Level 1 data TLB demand access", "arm64"},
507 {"raw-l1i-tlb-rd", PERF_TYPE_RAW, 0x8131, "Level 1 instruction TLB demand access", "arm64"},
508 {"raw-l1d-tlb-prfm", PERF_TYPE_RAW, 0x8132, "Level 1 data TLB software preload", "arm64"},
509 {"raw-l1i-tlb-prfm", PERF_TYPE_RAW, 0x8133, "Level 1 instruction TLB software preload", "arm64"},
510 {"raw-dtlb-hwupd", PERF_TYPE_RAW, 0x8134, "Data TLB hardware update of translation table", "arm64"},
511 {"raw-itlb-hwupd", PERF_TYPE_RAW, 0x8135, "Instruction TLB hardware update of translation table", "arm64"},
512 {"raw-dtlb-step", PERF_TYPE_RAW, 0x8136, "Data TLB translation table walk, step", "arm64"},
513 {"raw-itlb-step", PERF_TYPE_RAW, 0x8137, "Instruction TLB translation table walk, step", "arm64"},
514 {"raw-dtlb-walk-large", PERF_TYPE_RAW, 0x8138, "Data TLB large page translation table walk", "arm64"},
515 {"raw-itlb-walk-large", PERF_TYPE_RAW, 0x8139, "Instruction TLB large page translation table walk", "arm64"},
516 {"raw-dtlb-walk-small", PERF_TYPE_RAW, 0x813a, "Data TLB small page translation table walk", "arm64"},
517 {"raw-itlb-walk-small", PERF_TYPE_RAW, 0x813b, "Instruction TLB small page translation table walk", "arm64"},
518 {"raw-dtlb-walk-rw", PERF_TYPE_RAW, 0x813c, "Data TLB demand access with at least one translation table walk", "arm64"},
519 {"raw-itlb-walk-rd", PERF_TYPE_RAW, 0x813d, "Instruction TLB demand access with at least one translation table walk", "arm64"},
520 {"raw-dtlb-walk-prfm", PERF_TYPE_RAW, 0x813e, "Data TLB software preload access with at least one translation table walk", "arm64"},
521 {"raw-itlb-walk-prfm", PERF_TYPE_RAW, 0x813f, "Instruction TLB software preload access with at least one translation table walk", "arm64"},
522 {"raw-l1d-cache-rw", PERF_TYPE_RAW, 0x8140, "Level 1 data cache demand access", "arm64"},
523 {"raw-l1i-cache-rd", PERF_TYPE_RAW, 0x8141, "Level 1 instruction cache demand fetch", "arm64"},
524 {"raw-l1d-cache-prfm", PERF_TYPE_RAW, 0x8142, "Level 1 data cache software preload", "arm64"},
525 {"raw-l1i-cache-prfm", PERF_TYPE_RAW, 0x8143, "Level 1 instruction cache software preload", "arm64"},
526 {"raw-l1d-cache-miss", PERF_TYPE_RAW, 0x8144, "Level 1 data cache demand access miss", "arm64"},
527 {"raw-l1i-cache-hwprf", PERF_TYPE_RAW, 0x8145, "Level 1 instruction cache hardware prefetch", "arm64"},
528 {"raw-l1d-cache-refill-prfm", PERF_TYPE_RAW, 0x8146, "Level 1 data cache refill, software preload", "arm64"},
529 {"raw-l1i-cache-refill-prfm", PERF_TYPE_RAW, 0x8147, "Level 1 instruction cache refill, software preload", "arm64"},
530 {"raw-l2d-cache-rw", PERF_TYPE_RAW, 0x8148, "Level 2 data cache demand access", "arm64"},
531 {"raw-l2i-cache-rd", PERF_TYPE_RAW, 0x8149, "Level 2 instruction cache demand fetch", "arm64"},
532 {"raw-l2d-cache-prfm", PERF_TYPE_RAW, 0x814a, "Level 2 data cache software preload", "arm64"},
533 {"raw-l2i-cache-prfm", PERF_TYPE_RAW, 0x814b, "Level 2 instruction cache software preload", "arm64"},
534 {"raw-l2d-cache-miss", PERF_TYPE_RAW, 0x814c, "Level 2 data cache demand access miss", "arm64"},
535 {"raw-l2i-cache-hwprf", PERF_TYPE_RAW, 0x814d, "Level 2 instruction cache hardware prefetch", "arm64"},
536 {"raw-l2d-cache-refill-prfm", PERF_TYPE_RAW, 0x814e, "Level 2 data cache refill, software preload", "arm64"},
537 {"raw-l2i-cache-refill-prfm", PERF_TYPE_RAW, 0x814f, "Level 2 instruction cache refill, software preload", "arm64"},
538 {"raw-l3d-cache-rw", PERF_TYPE_RAW, 0x8150, "Level 3 data cache demand access", "arm64"},
539 {"raw-l3d-cache-prfm", PERF_TYPE_RAW, 0x8151, "Level 3 data cache software preload", "arm64"},
540 {"raw-l3d-cache-miss", PERF_TYPE_RAW, 0x8152, "Level 3 data cache demand access miss", "arm64"},
541 {"raw-l3d-cache-refill-prfm", PERF_TYPE_RAW, 0x8153, "Level 3 data cache refill, software preload", "arm64"},
542 {"raw-l1d-cache-hwprf", PERF_TYPE_RAW, 0x8154, "Level 1 data cache hardware prefetch", "arm64"},
543 {"raw-l2d-cache-hwprf", PERF_TYPE_RAW, 0x8155, "Level 2 data cache hardware prefetch", "arm64"},
544 {"raw-l3d-cache-hwprf", PERF_TYPE_RAW, 0x8156, "Level 3 data cache hardware prefetch", "arm64"},
545 {"raw-ll-cache-hwprf", PERF_TYPE_RAW, 0x8157, "Last level cache hardware prefetch", "arm64"},
546 {"raw-stall-frontend-membound", PERF_TYPE_RAW, 0x8158, "Frontend stall cycles, memory bound", "arm64"},
547 {"raw-stall-frontend-l1i", PERF_TYPE_RAW, 0x8159, "Frontend stall cycles, level 1 instruction cache", "arm64"},
548 {"raw-stall-frontend-l2i", PERF_TYPE_RAW, 0x815a, "Frontend stall cycles, level 2 instruction cache", "arm64"},
549 {"raw-stall-frontend-mem", PERF_TYPE_RAW, 0x815b, "Frontend stall cycles, last level PE cache or memory", "arm64"},
550 {"raw-stall-frontend-tlb", PERF_TYPE_RAW, 0x815c, "Frontend stall cycles, TLB", "arm64"},
551 {"raw-stall-frontend-cpubound", PERF_TYPE_RAW, 0x8160, "Frontend stall cycles, processor bound", "arm64"},
552 {"raw-stall-frontend-flow", PERF_TYPE_RAW, 0x8161, "Frontend stall cycles, flow control", "arm64"},
553 {"raw-stall-frontend-flush", PERF_TYPE_RAW, 0x8162, "Frontend stall cycles, flush recovery", "arm64"},
554 {"raw-stall-frontend-rename", PERF_TYPE_RAW, 0x8163, "Frontend stall cycles, rename full", "arm64"},
555 {"raw-stall-backend-membound", PERF_TYPE_RAW, 0x8164, "Backend stall cycles, memory bound", "arm64"},
556 {"raw-stall-backend-l1d", PERF_TYPE_RAW, 0x8165, "Backend stall cycles, level 1 data cache", "arm64"},
557 {"raw-stall-backend-l2d", PERF_TYPE_RAW, 0x8166, "Backend stall cycles, level 2 data cache", "arm64"},
558 {"raw-stall-backend-tlb", PERF_TYPE_RAW, 0x8167, "Backend stall cycles, TLB", "arm64"},
559 {"raw-stall-backend-st", PERF_TYPE_RAW, 0x8168, "Backend stall cycles, store", "arm64"},
560 {"raw-stall-backend-cpubound", PERF_TYPE_RAW, 0x816a, "Backend stall cycles, processor bound", "arm64"},
561 {"raw-stall-backend-busy", PERF_TYPE_RAW, 0x816b, "Backend stall cycles, backend busy", "arm64"},
562 {"raw-stall-backend-ilock", PERF_TYPE_RAW, 0x816c, "Backend stall cycles, input dependency", "arm64"},
563 {"raw-stall-backend-rename", PERF_TYPE_RAW, 0x816d, "Backend stall cycles, rename full", "arm64"},
564 {"raw-stall-backend-atomic", PERF_TYPE_RAW, 0x816e, "Backend stall cycles, atomic operation", "arm64"},
565 {"raw-stall-backend-memcpyset", PERF_TYPE_RAW, 0x816f, "Backend stall cycles, Memory Copy or Set operation", "arm64"},
566 {"raw-cas-near-fail", PERF_TYPE_RAW, 0x8170, "Atomic memory Operation speculatively executed, Compare and Swap fail", "arm64"},
567 {"raw-cas-near-pass", PERF_TYPE_RAW, 0x8171, "Atomic memory Operation speculatively executed, Compare and Swap pass", "arm64"},
568 {"raw-cas-near-spec", PERF_TYPE_RAW, 0x8172, "Atomic memory Operation speculatively executed, Compare and Swap near", "arm64"},
569 {"raw-cas-far-spec", PERF_TYPE_RAW, 0x8173, "Atomic memory Operation speculatively executed, Compare and Swap far", "arm64"},
570 {"raw-cas-spec", PERF_TYPE_RAW, 0x8174, "Atomic memory Operation speculatively executed, Compare and Swap", "arm64"},
571 {"raw-lse-ld-spec", PERF_TYPE_RAW, 0x8175, "Atomic memory Operation speculatively executed, load", "arm64"},
572 {"raw-lse-st-spec", PERF_TYPE_RAW, 0x8176, "Atomic memory Operation speculatively executed, store", "arm64"},
573 {"raw-lse-ldst-spec", PERF_TYPE_RAW, 0x8177, "Atomic memory Operation speculatively executed, load or store", "arm64"},
574 {"raw-remote-access-wr", PERF_TYPE_RAW, 0x8178, "Access to another socket in a multi-socket system, write", "arm64"},
575 {"raw-brnl-indnr-taken-retired", PERF_TYPE_RAW, 0x8179, "Branch Instruction architecturally executed, indirect branch without link excluding procedure return, taken", "arm64"},
576 {"raw-bl-taken-retired", PERF_TYPE_RAW, 0x817a, "Branch Instruction architecturally executed, branch with link, taken", "arm64"},
577 {"raw-brnl-taken-retired", PERF_TYPE_RAW, 0x817b, "Branch Instruction architecturally executed, branch without link, taken", "arm64"},
578 {"raw-bl-ind-taken-retired", PERF_TYPE_RAW, 0x817c, "Branch Instruction architecturally executed, indirect branch with link, taken", "arm64"},
579 {"raw-brnl-ind-taken-retired", PERF_TYPE_RAW, 0x817d, "Branch Instruction architecturally executed, indirect branch without link, taken", "arm64"},
580 {"raw-bl-immed-taken-retired", PERF_TYPE_RAW, 0x817e, "Branch Instruction architecturally executed, direct branch with link, taken", "arm64"},
581 {"raw-brnl-immed-taken-retired", PERF_TYPE_RAW, 0x817f, "Branch Instruction architecturally executed, direct branch without link, taken", "arm64"},
582 {"raw-br-uncond-retired", PERF_TYPE_RAW, 0x8180, "Branch Instruction architecturally executed, unconditional branch", "arm64"},
583 {"raw-br-cond-retired", PERF_TYPE_RAW, 0x8181, "Branch Instruction architecturally executed, conditional branch", "arm64"},
584 {"raw-br-cond-taken-retired", PERF_TYPE_RAW, 0x8182, "Branch Instruction architecturally executed, conditional branch, taken", "arm64"},
585 {"raw-br-hint-cond-retired", PERF_TYPE_RAW, 0x8183, "Branch Instruction architecturally executed, hinted conditional", "arm64"},
586 {"raw-br-hint-cond-pred-retired", PERF_TYPE_RAW, 0x8184, "Branch Instruction architecturally executed, predicted hinted conditional", "arm64"},
587 {"raw-br-hint-cond-mis-pred-retired", PERF_TYPE_RAW, 0x8185, "Branch Instruction architecturally executed, mispredicted hinted conditional", "arm64"},
588 {"raw-uop-retired", PERF_TYPE_RAW, 0x8186, "Micro-operation architecturally executed", "arm64"},
589 {"raw-dtlb-walk-block", PERF_TYPE_RAW, 0x8188, "Data TLB block translation table walk", "arm64"},
590 {"raw-itlb-walk-block", PERF_TYPE_RAW, 0x8189, "Instruction TLB block translation table walk", "arm64"},
591 {"raw-dtlb-walk-page", PERF_TYPE_RAW, 0x818a, "Data TLB page translation table walk", "arm64"},
592 {"raw-itlb-walk-page", PERF_TYPE_RAW, 0x818b, "Instruction TLB page translation table walk", "arm64"},
593 {"raw-bus-req-rd", PERF_TYPE_RAW, 0x818d, "Bus request, read", "arm64"},
594 {"raw-bus-req-wr", PERF_TYPE_RAW, 0x818e, "Bus request, write", "arm64"},
595 {"raw-bus-req", PERF_TYPE_RAW, 0x818f, "Bus request", "arm64"},
596 {"raw-isnp-hit-rd", PERF_TYPE_RAW, 0x8190, "Snoop hit, demand instruction fetch", "arm64"},
597 {"raw-isnp-hit-near-rd", PERF_TYPE_RAW, 0x8191, "Snoop hit in near cache, demand instruction fetch", "arm64"},
598 {"raw-isnp-hit-far-rd", PERF_TYPE_RAW, 0x8192, "Snoop hit in far cache, demand instruction fetch", "arm64"},
599 {"raw-isnp-hit-remote-rd", PERF_TYPE_RAW, 0x8193, "Snoop hit in remote cache, demand instruction fetch", "arm64"},
600 {"raw-dsnp-hit-rd", PERF_TYPE_RAW, 0x8194, "Snoop hit, demand data read", "arm64"},
601 {"raw-dsnp-hit-near-rd", PERF_TYPE_RAW, 0x8195, "Snoop hit in near cache, demand data read", "arm64"},
602 {"raw-dsnp-hit-far-rd", PERF_TYPE_RAW, 0x8196, "Snoop hit in far cache, demand data read", "arm64"},
603 {"raw-dsnp-hit-remote-rd", PERF_TYPE_RAW, 0x8197, "Snoop hit in remote cache, demand data read", "arm64"},
604 {"raw-dsnp-hit-wr", PERF_TYPE_RAW, 0x8198, "Snoop hit, demand data write", "arm64"},
605 {"raw-dsnp-hit-near-wr", PERF_TYPE_RAW, 0x8199, "Snoop hit in near cache, demand data write", "arm64"},
606 {"raw-dsnp-hit-far-wr", PERF_TYPE_RAW, 0x819a, "Snoop hit in far cache, demand data write", "arm64"},
607 {"raw-dsnp-hit-remote-wr", PERF_TYPE_RAW, 0x819b, "Snoop hit in remote cache, demand data write", "arm64"},
608 {"raw-dsnp-hit-rw", PERF_TYPE_RAW, 0x819c, "Snoop hit, demand data access", "arm64"},
609 {"raw-dsnp-hit-near-rw", PERF_TYPE_RAW, 0x819d, "Snoop hit in near cache, demand data access", "arm64"},
610 {"raw-dsnp-hit-far-rw", PERF_TYPE_RAW, 0x819e, "Snoop hit in far cache, demand data access", "arm64"},
611 {"raw-dsnp-hit-remote-rw", PERF_TYPE_RAW, 0x819f, "Snoop hit in remote cache, demand data access", "arm64"},
612 {"raw-dsnp-hit-prfm", PERF_TYPE_RAW, 0x81a0, "Snoop hit, software data preload", "arm64"},
613 {"raw-dsnp-hit-near-prfm", PERF_TYPE_RAW, 0x81a1, "Snoop hit in near cache, software data preload", "arm64"},
614 {"raw-dsnp-hit-far-prfm", PERF_TYPE_RAW, 0x81a2, "Snoop hit in far cache, software data preload", "arm64"},
615 {"raw-dsnp-hit-remote-prfm", PERF_TYPE_RAW, 0x81a3, "Snoop hit in remote cache, software data preload", "arm64"},
616 {"raw-dsnp-hit-hwprf", PERF_TYPE_RAW, 0x81a4, "Snoop hit, hardware data prefetch", "arm64"},
617 {"raw-dsnp-hit-near-hwprf", PERF_TYPE_RAW, 0x81a5, "Snoop hit in near cache, hardware data prefetch", "arm64"},
618 {"raw-dsnp-hit-far-hwprf", PERF_TYPE_RAW, 0x81a6, "Snoop hit in far cache, hardware data prefetch", "arm64"},
619 {"raw-dsnp-hit-remote-hwprf", PERF_TYPE_RAW, 0x81a7, "Snoop hit in remote cache, hardware data prefetch", "arm64"},
620 {"raw-isnp-hit-prfm", PERF_TYPE_RAW, 0x81a8, "Snoop hit, software instruction preload", "arm64"},
621 {"raw-isnp-hit-near-prfm", PERF_TYPE_RAW, 0x81a9, "Snoop hit in near cache, software instruction preload", "arm64"},
622 {"raw-isnp-hit-far-prfm", PERF_TYPE_RAW, 0x81aa, "Snoop hit in far cache, software instruction preload", "arm64"},
623 {"raw-isnp-hit-remote-prfm", PERF_TYPE_RAW, 0x81ab, "Snoop hit in remote cache, software instruction preload", "arm64"},
624 {"raw-isnp-hit-hwprf", PERF_TYPE_RAW, 0x81ac, "Snoop hit, hardware instruction prefetch", "arm64"},
625 {"raw-isnp-hit-near-hwprf", PERF_TYPE_RAW, 0x81ad, "Snoop hit in near cache, hardware instruction prefetch", "arm64"},
626 {"raw-isnp-hit-far-hwprf", PERF_TYPE_RAW, 0x81ae, "Snoop hit in far cache, hardware instruction prefetch", "arm64"},
627 {"raw-isnp-hit-remote-hwprf", PERF_TYPE_RAW, 0x81af, "Snoop hit in remote cache, hardware instruction prefetch", "arm64"},
628 {"raw-isnp-hit", PERF_TYPE_RAW, 0x81b0, "Snoop hit, instruction", "arm64"},
629 {"raw-isnp-hit-near", PERF_TYPE_RAW, 0x81b1, "Snoop hit in near cache, instruction", "arm64"},
630 {"raw-isnp-hit-far", PERF_TYPE_RAW, 0x81b2, "Snoop hit in far cache, instruction", "arm64"},
631 {"raw-isnp-hit-remote", PERF_TYPE_RAW, 0x81b3, "Snoop hit in remote cache, instruction", "arm64"},
632 {"raw-dsnp-hit", PERF_TYPE_RAW, 0x81b4, "Snoop hit, data", "arm64"},
633 {"raw-dsnp-hit-near", PERF_TYPE_RAW, 0x81b5, "Snoop hit in near cache, data", "arm64"},
634 {"raw-dsnp-hit-far", PERF_TYPE_RAW, 0x81b6, "Snoop hit in far cache, data", "arm64"},
635 {"raw-dsnp-hit-remote", PERF_TYPE_RAW, 0x81b7, "Snoop hit in remote cache, data", "arm64"},
636 {"raw-l1i-cache-refill-hwprf", PERF_TYPE_RAW, 0x81b8, "Level 1 instruction cache refill, hardware prefetch", "arm64"},
637 {"raw-l2i-cache-refill-hwprf", PERF_TYPE_RAW, 0x81b9, "Level 2 instruction cache refill, hardware prefetch", "arm64"},
638 {"raw-l1d-cache-refill-hwprf", PERF_TYPE_RAW, 0x81bc, "Level 1 data cache refill, hardware prefetch", "arm64"},
639 {"raw-l2d-cache-refill-hwprf", PERF_TYPE_RAW, 0x81bd, "Level 2 data cache refill, hardware prefetch", "arm64"},
640 {"raw-l3d-cache-refill-hwprf", PERF_TYPE_RAW, 0x81be, "Level 3 data cache refill, hardware prefetch", "arm64"},
641 {"raw-ll-cache-refill-hwprf", PERF_TYPE_RAW, 0x81bf, "Last level cache refill, hardware prefetch", "arm64"},
642 {"raw-l1i-cache-hit-rd", PERF_TYPE_RAW, 0x81c0, "Level 1 instruction cache demand fetch hit", "arm64"},
643 {"raw-l2i-cache-hit-rd", PERF_TYPE_RAW, 0x81c1, "Level 2 instruction cache demand fetch hit", "arm64"},
644 {"raw-l1d-cache-hit-rd", PERF_TYPE_RAW, 0x81c4, "Level 1 data cache demand hit, read", "arm64"},
645 {"raw-l2d-cache-hit-rd", PERF_TYPE_RAW, 0x81c5, "Level 2 data cache demand hit, read", "arm64"},
646 {"raw-l3d-cache-hit-rd", PERF_TYPE_RAW, 0x81c6, "Level 3 data cache demand hit, read", "arm64"},
647 {"raw-ll-cache-hit-rd", PERF_TYPE_RAW, 0x81c7, "Last level cache demand hit, read", "arm64"},
648 {"raw-l1d-cache-hit-wr", PERF_TYPE_RAW, 0x81c8, "Level 1 data cache demand access hit, write", "arm64"},
649 {"raw-l2d-cache-hit-wr", PERF_TYPE_RAW, 0x81c9, "Level 2 data cache demand access hit, write", "arm64"},
650 {"raw-l3d-cache-hit-wr", PERF_TYPE_RAW, 0x81ca, "Level 3 data cache demand access hit, write", "arm64"},
651 {"raw-ll-cache-hit-wr", PERF_TYPE_RAW, 0x81cb, "Last level cache demand access hit, write", "arm64"},
652 {"raw-l1d-cache-hit-rw", PERF_TYPE_RAW, 0x81cc, "Level 1 data cache demand access hit", "arm64"},
653 {"raw-l2d-cache-hit-rw", PERF_TYPE_RAW, 0x81cd, "Level 2 data cache demand access hit", "arm64"},
654 {"raw-l3d-cache-hit-rw", PERF_TYPE_RAW, 0x81ce, "Level 3 data cache demand access hit", "arm64"},
655 {"raw-ll-cache-hit-rw", PERF_TYPE_RAW, 0x81cf, "Last level cache demand access hit", "arm64"},
656 {"raw-l1i-cache-hit-rd-fprfm", PERF_TYPE_RAW, 0x81d0, "Level 1 instruction cache demand fetch first hit, fetched by software preload", "arm64"},
657 {"raw-l2i-cache-hit-rd-fprfm", PERF_TYPE_RAW, 0x81d1, "Level 2 instruction cache demand fetch first hit, fetched by software preload", "arm64"},
658 {"raw-l1d-cache-hit-rd-fprfm", PERF_TYPE_RAW, 0x81d4, "Level 1 data cache demand first hit, read, fetched by software preload", "arm64"},
659 {"raw-l2d-cache-hit-rd-fprfm", PERF_TYPE_RAW, 0x81d5, "Level 2 data cache demand first hit, read, fetched by software preload", "arm64"},
660 {"raw-l3d-cache-hit-rd-fprfm", PERF_TYPE_RAW, 0x81d6, "Level 3 data cache demand first hit, read, fetched by software preload", "arm64"},
661 {"raw-ll-cache-hit-rd-fprfm", PERF_TYPE_RAW, 0x81d7, "Last level cache demand first hit, read, fetched by software preload", "arm64"},
662 {"raw-l1d-cache-hit-wr-fprfm", PERF_TYPE_RAW, 0x81d8, "Level 1 data cache demand access first hit, write, fetched by software preload", "arm64"},
663 {"raw-l2d-cache-hit-wr-fprfm", PERF_TYPE_RAW, 0x81d9, "Level 2 data cache demand access first hit, write, fetched by software preload", "arm64"},
664 {"raw-l3d-cache-hit-wr-fprfm", PERF_TYPE_RAW, 0x81da, "Level 3 data cache demand access first hit, write, fetched by software preload", "arm64"},
665 {"raw-ll-cache-hit-wr-fprfm", PERF_TYPE_RAW, 0x81db, "Last level cache demand access first hit, write, fetched by software preload", "arm64"},
666 {"raw-l1d-cache-hit-rw-fprfm", PERF_TYPE_RAW, 0x81dc, "Level 1 data cache demand access first hit, fetched by software preload", "arm64"},
667 {"raw-l2d-cache-hit-rw-fprfm", PERF_TYPE_RAW, 0x81dd, "Level 2 data cache demand access first hit, fetched by software preload", "arm64"},
668 {"raw-l3d-cache-hit-rw-fprfm", PERF_TYPE_RAW, 0x81de, "Level 3 data cache demand access first hit, fetched by software preload", "arm64"},
669 {"raw-ll-cache-hit-rw-fprfm", PERF_TYPE_RAW, 0x81df, "Last level cache demand access first hit, fetched by software preload", "arm64"},
670 {"raw-l1i-cache-hit-rd-fhwprf", PERF_TYPE_RAW, 0x81e0, "Level 1 instruction cache demand fetch first hit, fetched by hardware prefetcher", "arm64"},
671 {"raw-l2i-cache-hit-rd-fhwprf", PERF_TYPE_RAW, 0x81e1, "Level 2 instruction cache demand fetch first hit, fetched by hardware prefetcher", "arm64"},
672 {"raw-l1d-cache-hit-rd-fhwprf", PERF_TYPE_RAW, 0x81e4, "Level 1 data cache demand first hit, read, fetched by hardware prefetcher", "arm64"},
673 {"raw-l2d-cache-hit-rd-fhwprf", PERF_TYPE_RAW, 0x81e5, "Level 2 data cache demand first hit, read, fetched by hardware prefetcher", "arm64"},
674 {"raw-l3d-cache-hit-rd-fhwprf", PERF_TYPE_RAW, 0x81e6, "Level 3 data cache demand first hit, read, fetched by hardware prefetcher", "arm64"},
675 {"raw-ll-cache-hit-rd-fhwprf", PERF_TYPE_RAW, 0x81e7, "Last level cache demand first hit, read, fetched by hardware prefetcher", "arm64"},
676 {"raw-l1d-cache-hit-wr-fhwprf", PERF_TYPE_RAW, 0x81e8, "Level 1 data cache demand access first hit, write, fetched by hardware prefetcher", "arm64"},
677 {"raw-l2d-cache-hit-wr-fhwprf", PERF_TYPE_RAW, 0x81e9, "Level 2 data cache demand access first hit, write, fetched by hardware prefetcher", "arm64"},
678 {"raw-l3d-cache-hit-wr-fhwprf", PERF_TYPE_RAW, 0x81ea, "Level 3 data cache demand access first hit, write, fetched by hardware prefetcher", "arm64"},
679 {"raw-ll-cache-hit-wr-fhwprf", PERF_TYPE_RAW, 0x81eb, "Last level cache demand access first hit, write, fetched by hardware prefetcher", "arm64"},
680 {"raw-l1d-cache-hit-rw-fhwprf", PERF_TYPE_RAW, 0x81ec, "Level 1 data cache demand access first hit, fetched by hardware prefetcher", "arm64"},
681 {"raw-l2d-cache-hit-rw-fhwprf", PERF_TYPE_RAW, 0x81ed, "Level 2 data cache demand access first hit, fetched by hardware prefetcher", "arm64"},
682 {"raw-l3d-cache-hit-rw-fhwprf", PERF_TYPE_RAW, 0x81ee, "Level 3 data cache demand access first hit, fetched by hardware prefetcher", "arm64"},
683 {"raw-ll-cache-hit-rw-fhwprf", PERF_TYPE_RAW, 0x81ef, "Last level cache demand access first hit, fetched by hardware prefetcher", "arm64"},
684 {"raw-l1i-cache-hit-rd-fprf", PERF_TYPE_RAW, 0x81f0, "Level 1 instruction cache demand fetch first hit, fetched by preload or prefetch", "arm64"},
685 {"raw-l2i-cache-hit-rd-fprf", PERF_TYPE_RAW, 0x81f1, "Level 2 instruction cache demand fetch first hit, fetched by preload or prefetch", "arm64"},
686 {"raw-l1d-cache-hit-rd-fprf", PERF_TYPE_RAW, 0x81f4, "Level 1 data cache demand first hit, read, fetched by preload or prefetch", "arm64"},
687 {"raw-l2d-cache-hit-rd-fprf", PERF_TYPE_RAW, 0x81f5, "Level 2 data cache demand first hit, read, fetched by preload or prefetch", "arm64"},
688 {"raw-l3d-cache-hit-rd-fprf", PERF_TYPE_RAW, 0x81f6, "Level 3 data cache demand first hit, read, fetched by preload or prefetch", "arm64"},
689 {"raw-ll-cache-hit-rd-fprf", PERF_TYPE_RAW, 0x81f7, "Last level cache demand first hit, read, fetched by preload or prefetch", "arm64"},
690 {"raw-l1d-cache-hit-wr-fprf", PERF_TYPE_RAW, 0x81f8, "Level 1 data cache demand access first hit, write, fetched by preload or prefetch", "arm64"},
691 {"raw-l2d-cache-hit-wr-fprf", PERF_TYPE_RAW, 0x81f9, "Level 2 data cache demand access first hit, write, fetched by preload or prefetch", "arm64"},
692 {"raw-l3d-cache-hit-wr-fprf", PERF_TYPE_RAW, 0x81fa, "Level 3 data cache demand access first hit, write, fetched by preload or prefetch", "arm64"},
693 {"raw-ll-cache-hit-wr-fprf", PERF_TYPE_RAW, 0x81fb, "Last level cache demand access first hit, write, fetched by preload or prefetch", "arm64"},
694 {"raw-l1d-cache-hit-rw-fprf", PERF_TYPE_RAW, 0x81fc, "Level 1 data cache demand access first hit, fetched by preload or prefetch", "arm64"},
695 {"raw-l2d-cache-hit-rw-fprf", PERF_TYPE_RAW, 0x81fd, "Level 2 data cache demand access first hit, fetched by preload or prefetch", "arm64"},
696 {"raw-l3d-cache-hit-rw-fprf", PERF_TYPE_RAW, 0x81fe, "Level 3 data cache demand access first hit, fetched by preload or prefetch", "arm64"},
697 {"raw-ll-cache-hit-rw-fprf", PERF_TYPE_RAW, 0x81ff, "Last level cache demand access first hit, fetched by preload or prefetch", "arm64"},
698 {"raw-l1i-cache-hit", PERF_TYPE_RAW, 0x8200, "Level 1 instruction cache hit", "arm64"},
699 {"raw-l2i-cache-hit", PERF_TYPE_RAW, 0x8201, "Level 2 instruction cache hit", "arm64"},
700 {"raw-l1d-cache-hit", PERF_TYPE_RAW, 0x8204, "Level 1 data cache hit", "arm64"},
701 {"raw-l2d-cache-hit", PERF_TYPE_RAW, 0x8205, "Level 2 data cache hit", "arm64"},
702 {"raw-l3d-cache-hit", PERF_TYPE_RAW, 0x8206, "Level 3 data cache hit", "arm64"},
703 {"raw-ll-cache-hit", PERF_TYPE_RAW, 0x8207, "Last level cache hit", "arm64"},
704 {"raw-l1i-cache-hit-prfm", PERF_TYPE_RAW, 0x8208, "Level 1 instruction cache software preload hit", "arm64"},
705 {"raw-l2i-cache-hit-prfm", PERF_TYPE_RAW, 0x8209, "Level 2 instruction cache software preload hit", "arm64"},
706 {"raw-l1d-cache-hit-prfm", PERF_TYPE_RAW, 0x820c, "Level 1 data cache software preload hit", "arm64"},
707 {"raw-l2d-cache-hit-prfm", PERF_TYPE_RAW, 0x820d, "Level 2 data cache software preload hit", "arm64"},
708 {"raw-l3d-cache-hit-prfm", PERF_TYPE_RAW, 0x820e, "Level 3 data cache software preload hit", "arm64"},
709 {"raw-ll-cache-hit-prfm", PERF_TYPE_RAW, 0x820f, "Last level cache software preload hit", "arm64"},
710 {"raw-l1d-cache-hitm-rd", PERF_TYPE_RAW, 0x8214, "Level 1 data cache demand hit modified, read", "arm64"},
711 {"raw-l2d-cache-hitm-rd", PERF_TYPE_RAW, 0x8215, "Level 2 data cache demand hit modified, read", "arm64"},
712 {"raw-l3d-cache-hitm-rd", PERF_TYPE_RAW, 0x8216, "Level 3 data cache demand hit modified, read", "arm64"},
713 {"raw-ll-cache-hitm-rd", PERF_TYPE_RAW, 0x8217, "Last level cache demand hit modified, read", "arm64"},
714 {"raw-l1d-cache-hitm-wr", PERF_TYPE_RAW, 0x8218, "Level 1 data cache demand access hit modified, write", "arm64"},
715 {"raw-l2d-cache-hitm-wr", PERF_TYPE_RAW, 0x8219, "Level 2 data cache demand access hit modified, write", "arm64"},
716 {"raw-l3d-cache-hitm-wr", PERF_TYPE_RAW, 0x821a, "Level 3 data cache demand access hit modified, write", "arm64"},
717 {"raw-ll-cache-hitm-wr", PERF_TYPE_RAW, 0x821b, "Last level cache demand access hit modified, write", "arm64"},
718 {"raw-l1d-cache-hitm-rw", PERF_TYPE_RAW, 0x821c, "Level 1 data cache demand access hit modified", "arm64"},
719 {"raw-l2d-cache-hitm-rw", PERF_TYPE_RAW, 0x821d, "Level 2 data cache demand access hit modified", "arm64"},
720 {"raw-l3d-cache-hitm-rw", PERF_TYPE_RAW, 0x821e, "Level 3 data cache demand access hit modified", "arm64"},
721 {"raw-ll-cache-hitm-rw", PERF_TYPE_RAW, 0x821f, "Last level cache demand access hit modified", "arm64"},
722 {"raw-dsnp-hitm-rd", PERF_TYPE_RAW, 0x8224, "Snoop hit, demand data read, modified", "arm64"},
723 {"raw-dsnp-hitm-near-rd", PERF_TYPE_RAW, 0x8225, "Snoop hit in near cache, demand data read, modified", "arm64"},
724 {"raw-dsnp-hitm-far-rd", PERF_TYPE_RAW, 0x8226, "Snoop hit in far cache, demand data read, modified", "arm64"},
725 {"raw-dsnp-hitm-remote-rd", PERF_TYPE_RAW, 0x8227, "Snoop hit in remote cache, demand data read, modified", "arm64"},
726 {"raw-dsnp-hitm-wr", PERF_TYPE_RAW, 0x8228, "Snoop hit, demand data write, modified", "arm64"},
727 {"raw-dsnp-hitm-near-wr", PERF_TYPE_RAW, 0x8229, "Snoop hit in near cache, demand data write, modified", "arm64"},
728 {"raw-dsnp-hitm-far-wr", PERF_TYPE_RAW, 0x822a, "Snoop hit in far cache, demand data write, modified", "arm64"},
729 {"raw-dsnp-hitm-remote-wr", PERF_TYPE_RAW, 0x822b, "Snoop hit in remote cache, demand data write, modified", "arm64"},
730 {"raw-dsnp-hitm-rw", PERF_TYPE_RAW, 0x822c, "Snoop hit, demand data access, modified", "arm64"},
731 {"raw-dsnp-hitm-near-rw", PERF_TYPE_RAW, 0x822d, "Snoop hit in near cache, demand data access, modified", "arm64"},
732 {"raw-dsnp-hitm-far-rw", PERF_TYPE_RAW, 0x822e, "Snoop hit in far cache, demand data access, modified", "arm64"},
733 {"raw-dsnp-hitm-remote-rw", PERF_TYPE_RAW, 0x822f, "Snoop hit in remote cache, demand data access, modified", "arm64"},
734 {"raw-local-mem", PERF_TYPE_RAW, 0x8230, "Access to memory attached to this device", "arm64"},
735 {"raw-local-mem-rd", PERF_TYPE_RAW, 0x8231, "Access to memory attached to this device, read", "arm64"},
736 {"raw-local-mem-wr", PERF_TYPE_RAW, 0x8232, "Access to memory attached to this device, write", "arm64"},
737 {"raw-local-mem-rw", PERF_TYPE_RAW, 0x8233, "Access to memory attached to this device, demand read or write", "arm64"},
738 {"raw-local-mem-prfm", PERF_TYPE_RAW, 0x8234, "Access to memory attached to this device, preload or prefetch", "arm64"},
739 {"raw-remote-mem", PERF_TYPE_RAW, 0x8238, "Access to memory attached to another socket in a multi-socket system", "arm64"},
740 {"raw-remote-mem-rd", PERF_TYPE_RAW, 0x8239, "Access to memory attached to another socket in a multi-socket system, read", "arm64"},
741 {"raw-remote-mem-wr", PERF_TYPE_RAW, 0x823a, "Access to memory attached to another socket in a multi-socket system, write", "arm64"},
742 {"raw-remote-mem-rw", PERF_TYPE_RAW, 0x823b, "Access to memory attached to another socket in a multi-socket system, demand read or write", "arm64"},
743 {"raw-remote-mem-prfm", PERF_TYPE_RAW, 0x823c, "Access to memory attached to another socket in a multi-socket system, preload or prefetch", "arm64"},
744 {"raw-l1i-lfb-hit-rd", PERF_TYPE_RAW, 0x8240, "Level 1 instruction cache demand fetch line-fill buffer hit", "arm64"},
745 {"raw-l2i-lfb-hit-rd", PERF_TYPE_RAW, 0x8241, "Level 2 instruction cache demand fetch line-fill buffer hit", "arm64"},
746 {"raw-l1d-lfb-hit-rd", PERF_TYPE_RAW, 0x8244, "Level 1 data cache demand line-fill buffer hit, read", "arm64"},
747 {"raw-l2d-lfb-hit-rd", PERF_TYPE_RAW, 0x8245, "Level 2 data cache demand line-fill buffer hit, read", "arm64"},
748 {"raw-l3d-lfb-hit-rd", PERF_TYPE_RAW, 0x8246, "Level 3 data cache demand line-fill buffer hit, read", "arm64"},
749 {"raw-ll-lfb-hit-rd", PERF_TYPE_RAW, 0x8247, "Last level cache demand line-fill buffer hit, read", "arm64"},
750 {"raw-l1d-lfb-hit-wr", PERF_TYPE_RAW, 0x8248, "Level 1 data cache demand access line-fill buffer hit, write", "arm64"},
751 {"raw-l2d-lfb-hit-wr", PERF_TYPE_RAW, 0x8249, "Level 2 data cache demand access line-fill buffer hit, write", "arm64"},
752 {"raw-l3d-lfb-hit-wr", PERF_TYPE_RAW, 0x824a, "Level 3 data cache demand access line-fill buffer hit, write", "arm64"},
753 {"raw-ll-lfb-hit-wr", PERF_TYPE_RAW, 0x824b, "Last level cache demand access line-fill buffer hit, write", "arm64"},
754 {"raw-l1d-lfb-hit-rw", PERF_TYPE_RAW, 0x824c, "Level 1 data cache demand access line-fill buffer hit", "arm64"},
755 {"raw-l2d-lfb-hit-rw", PERF_TYPE_RAW, 0x824d, "Level 2 data cache demand access line-fill buffer hit", "arm64"},
756 {"raw-l3d-lfb-hit-rw", PERF_TYPE_RAW, 0x824e, "Level 3 data cache demand access line-fill buffer hit", "arm64"},
757 {"raw-ll-lfb-hit-rw", PERF_TYPE_RAW, 0x824f, "Last level cache demand access line-fill buffer hit", "arm64"},
758 {"raw-l1i-lfb-hit-rd-fprfm", PERF_TYPE_RAW, 0x8250, "Level 1 instruction cache demand fetch line-fill buffer first hit, recently fetched by software preload", "arm64"},
759 {"raw-l2i-lfb-hit-rd-fprfm", PERF_TYPE_RAW, 0x8251, "Level 2 instruction cache demand fetch line-fill buffer first hit, recently fetched by software preload", "arm64"},
760 {"raw-l1d-lfb-hit-rd-fprfm", PERF_TYPE_RAW, 0x8254, "Level 1 data cache demand line-fill buffer first hit, read, recently fetched by software preload", "arm64"},
761 {"raw-l2d-lfb-hit-rd-fprfm", PERF_TYPE_RAW, 0x8255, "Level 2 data cache demand line-fill buffer first hit, read, recently fetched by software preload", "arm64"},
762 {"raw-l3d-lfb-hit-rd-fprfm", PERF_TYPE_RAW, 0x8256, "Level 3 data cache demand line-fill buffer first hit, read, recently fetched by software preload", "arm64"},
763 {"raw-ll-lfb-hit-rd-fprfm", PERF_TYPE_RAW, 0x8257, "Last level cache demand line-fill buffer first hit, read, recently fetched by software preload", "arm64"},
764 {"raw-l1d-lfb-hit-wr-fprfm", PERF_TYPE_RAW, 0x8258, "Level 1 data cache demand access line-fill buffer first hit, write, recently fetched by software preload", "arm64"},
765 {"raw-l2d-lfb-hit-wr-fprfm", PERF_TYPE_RAW, 0x8259, "Level 2 data cache demand access line-fill buffer first hit, write, recently fetched by software preload", "arm64"},
766 {"raw-l3d-lfb-hit-wr-fprfm", PERF_TYPE_RAW, 0x825a, "Level 3 data cache demand access line-fill buffer first hit, write, recently fetched by software preload", "arm64"},
767 {"raw-ll-lfb-hit-wr-fprfm", PERF_TYPE_RAW, 0x825b, "Last level cache demand access line-fill buffer first hit, write, recently fetched by software preload", "arm64"},
768 {"raw-l1d-lfb-hit-rw-fprfm", PERF_TYPE_RAW, 0x825c, "Level 1 data cache demand access line-fill buffer first hit, recently fetched by software preload", "arm64"},
769 {"raw-l2d-lfb-hit-rw-fprfm", PERF_TYPE_RAW, 0x825d, "Level 2 data cache demand access line-fill buffer first hit, recently fetched by software preload", "arm64"},
770 {"raw-l3d-lfb-hit-rw-fprfm", PERF_TYPE_RAW, 0x825e, "Level 3 data cache demand access line-fill buffer first hit, recently fetched by software preload", "arm64"},
771 {"raw-ll-lfb-hit-rw-fprfm", PERF_TYPE_RAW, 0x825f, "Last level cache demand access line-fill buffer first hit, recently fetched by software preload", "arm64"},
772 {"raw-l1i-lfb-hit-rd-fhwprf", PERF_TYPE_RAW, 0x8260, "Level 1 instruction cache demand fetch line-fill buffer first hit, recently fetched by hardware prefetcher", "arm64"},
773 {"raw-l2i-lfb-hit-rd-fhwprf", PERF_TYPE_RAW, 0x8261, "Level 2 instruction cache demand fetch line-fill buffer first hit, recently fetched by hardware prefetcher", "arm64"},
774 {"raw-l1d-lfb-hit-rd-fhwprf", PERF_TYPE_RAW, 0x8264, "Level 1 data cache demand line-fill buffer first hit, read, recently fetched by hardware prefetcher", "arm64"},
775 {"raw-l2d-lfb-hit-rd-fhwprf", PERF_TYPE_RAW, 0x8265, "Level 2 data cache demand line-fill buffer first hit, read, recently fetched by hardware prefetcher", "arm64"},
776 {"raw-l3d-lfb-hit-rd-fhwprf", PERF_TYPE_RAW, 0x8266, "Level 3 data cache demand line-fill buffer first hit, read, recently fetched by hardware prefetcher", "arm64"},
777 {"raw-ll-lfb-hit-rd-fhwprf", PERF_TYPE_RAW, 0x8267, "Last level cache demand line-fill buffer first hit, read, recently fetched by hardware prefetcher", "arm64"},
778 {"raw-l1d-lfb-hit-wr-fhwprf", PERF_TYPE_RAW, 0x8268, "Level 1 data cache demand access line-fill buffer first hit, write, recently fetched by hardware prefetcher", "arm64"},
779 {"raw-l2d-lfb-hit-wr-fhwprf", PERF_TYPE_RAW, 0x8269, "Level 2 data cache demand access line-fill buffer first hit, write, recently fetched by hardware prefetcher", "arm64"},
780 {"raw-l3d-lfb-hit-wr-fhwprf", PERF_TYPE_RAW, 0x826a, "Level 3 data cache demand access line-fill buffer first hit, write, recently fetched by hardware prefetcher", "arm64"},
781 {"raw-ll-lfb-hit-wr-fhwprf", PERF_TYPE_RAW, 0x826b, "Last level cache demand access line-fill buffer first hit, write, recently fetched by hardware prefetcher", "arm64"},
782 {"raw-l1d-lfb-hit-rw-fhwprf", PERF_TYPE_RAW, 0x826c, "Level 1 data cache demand access line-fill buffer first hit, recently fetched by hardware prefetcher", "arm64"},
783 {"raw-l2d-lfb-hit-rw-fhwprf", PERF_TYPE_RAW, 0x826d, "Level 2 data cache demand access line-fill buffer first hit, recently fetched by hardware prefetcher", "arm64"},
784 {"raw-l3d-lfb-hit-rw-fhwprf", PERF_TYPE_RAW, 0x826e, "Level 3 data cache demand access line-fill buffer first hit, recently fetched by hardware prefetcher", "arm64"},
785 {"raw-ll-lfb-hit-rw-fhwprf", PERF_TYPE_RAW, 0x826f, "Last level cache demand access line-fill buffer first hit, recently fetched by hardware prefetcher", "arm64"},
786 {"raw-l1i-lfb-hit-rd-fprf", PERF_TYPE_RAW, 0x8270, "Level 1 instruction cache demand fetch line-fill buffer first hit, recently fetched by preload or prefetch", "arm64"},
787 {"raw-l2i-lfb-hit-rd-fprf", PERF_TYPE_RAW, 0x8271, "Level 2 instruction cache demand fetch line-fill buffer first hit, recently fetched by preload or prefetch", "arm64"},
788 {"raw-l1d-lfb-hit-rd-fprf", PERF_TYPE_RAW, 0x8274, "Level 1 data cache demand line-fill buffer first hit, read, recently fetched by preload or prefetch", "arm64"},
789 {"raw-l2d-lfb-hit-rd-fprf", PERF_TYPE_RAW, 0x8275, "Level 2 data cache demand line-fill buffer first hit, read, recently fetched by preload or prefetch", "arm64"},
790 {"raw-l3d-lfb-hit-rd-fprf", PERF_TYPE_RAW, 0x8276, "Level 3 data cache demand line-fill buffer first hit, read, recently fetched by preload or prefetch", "arm64"},
791 {"raw-ll-lfb-hit-rd-fprf", PERF_TYPE_RAW, 0x8277, "Last level cache demand line-fill buffer first hit, read, recently fetched by preload or prefetch", "arm64"},
792 {"raw-l1d-lfb-hit-wr-fprf", PERF_TYPE_RAW, 0x8278, "Level 1 data cache demand access line-fill buffer first hit, write, recently fetched by preload or prefetch", "arm64"},
793 {"raw-l2d-lfb-hit-wr-fprf", PERF_TYPE_RAW, 0x8279, "Level 2 data cache demand access line-fill buffer first hit, write, recently fetched by preload or prefetch", "arm64"},
794 {"raw-l3d-lfb-hit-wr-fprf", PERF_TYPE_RAW, 0x827a, "Level 3 data cache demand access line-fill buffer first hit, write, recently fetched by preload or prefetch", "arm64"},
795 {"raw-ll-lfb-hit-wr-fprf", PERF_TYPE_RAW, 0x827b, "Last level cache demand access line-fill buffer first hit, write, recently fetched by preload or prefetch", "arm64"},
796 {"raw-l1d-lfb-hit-rw-fprf", PERF_TYPE_RAW, 0x827c, "Level 1 data cache demand access line-fill buffer first hit, recently fetched by preload or prefetch", "arm64"},
797 {"raw-l2d-lfb-hit-rw-fprf", PERF_TYPE_RAW, 0x827d, "Level 2 data cache demand access line-fill buffer first hit, recently fetched by preload or prefetch", "arm64"},
798 {"raw-l3d-lfb-hit-rw-fprf", PERF_TYPE_RAW, 0x827e, "Level 3 data cache demand access line-fill buffer first hit, recently fetched by preload or prefetch", "arm64"},
799 {"raw-ll-lfb-hit-rw-fprf", PERF_TYPE_RAW, 0x827f, "Last level cache demand access line-fill buffer first hit, recently fetched by preload or prefetch", "arm64"},
800 {"raw-l1i-cache-prf", PERF_TYPE_RAW, 0x8280, "Level 1 instruction cache, preload or prefetch hit", "arm64"},
801 {"raw-l2i-cache-prf", PERF_TYPE_RAW, 0x8281, "Level 2 instruction cache, preload or prefetch hit", "arm64"},
802 {"raw-l1d-cache-prf", PERF_TYPE_RAW, 0x8284, "Level 1 data cache, preload or prefetch hit", "arm64"},
803 {"raw-l2d-cache-prf", PERF_TYPE_RAW, 0x8285, "Level 2 data cache, preload or prefetch hit", "arm64"},
804 {"raw-l3d-cache-prf", PERF_TYPE_RAW, 0x8286, "Level 3 data cache, preload or prefetch hit", "arm64"},
805 {"raw-ll-cache-prf", PERF_TYPE_RAW, 0x8287, "Last level cache, preload or prefetch hit", "arm64"},
806 {"raw-l1i-cache-refill-prf", PERF_TYPE_RAW, 0x8288, "Level 1 instruction cache refill, preload or prefetch hit", "arm64"},
807 {"raw-l2i-cache-refill-prf", PERF_TYPE_RAW, 0x8289, "Level 2 instruction cache refill, preload or prefetch hit", "arm64"},
808 {"raw-l1d-cache-refill-prf", PERF_TYPE_RAW, 0x828c, "Level 1 data cache refill, preload or prefetch hit", "arm64"},
809 {"raw-l2d-cache-refill-prf", PERF_TYPE_RAW, 0x828d, "Level 2 data cache refill, preload or prefetch hit", "arm64"},
810 {"raw-l3d-cache-refill-prf", PERF_TYPE_RAW, 0x828e, "Level 3 data cache refill, preload or prefetch hit", "arm64"},
811 {"raw-ll-cache-refill-prf", PERF_TYPE_RAW, 0x828f, "Last level cache refill, preload or prefetch hit", "arm64"},
812 {"raw-isnp-hit-prf", PERF_TYPE_RAW, 0x8290, "Snoop hit, any instruction prefetch", "arm64"},
813 {"raw-isnp-hit-near-prf", PERF_TYPE_RAW, 0x8291, "Snoop hit in near cache, instruction preload or prefetch", "arm64"},
814 {"raw-isnp-hit-far-prf", PERF_TYPE_RAW, 0x8292, "Snoop hit in far cache, instruction preload or prefetch", "arm64"},
815 {"raw-isnp-hit-remote-prf", PERF_TYPE_RAW, 0x8293, "Snoop hit in remote cache, instruction preload or prefetch", "arm64"},
816 {"raw-dsnp-hit-prf", PERF_TYPE_RAW, 0x8294, "Snoop hit, any data prefetch", "arm64"},
817 {"raw-dsnp-hit-near-prf", PERF_TYPE_RAW, 0x8295, "Snoop hit in near cache, data preload or prefetch", "arm64"},
818 {"raw-dsnp-hit-far-prf", PERF_TYPE_RAW, 0x8296, "Snoop hit in far cache, data preload or prefetch", "arm64"},
819 {"raw-dsnp-hit-remote-prf", PERF_TYPE_RAW, 0x8297, "Snoop hit in remote cache, data preload or prefetch", "arm64"},
820 {"raw-ll-cache-rw", PERF_TYPE_RAW, 0x8298, "Last level cache demand access", "arm64"},
821 {"raw-ll-cache-prfm", PERF_TYPE_RAW, 0x8299, "Last level cache software preload", "arm64"},
822 {"raw-ll-cache-refill", PERF_TYPE_RAW, 0x829a, "Last level cache refill", "arm64"},
823 {"raw-ll-cache-refill-prfm", PERF_TYPE_RAW, 0x829b, "Last level cache refill, software preload", "arm64"},
824 {"raw-ll-cache-wb", PERF_TYPE_RAW, 0x829c, "Last level cache write-back", "arm64"},
825 {"raw-ll-cache-wr", PERF_TYPE_RAW, 0x829d, "Last level cache access, write", "arm64"},
826 {"raw-ll-cache-refill-wr", PERF_TYPE_RAW, 0x829f, "Last level cache refill, write", "arm64"},
827 {"raw-mem-access-rw", PERF_TYPE_RAW, 0x82a0, "Data memory access, demand access", "arm64"},
828 {"raw-inst-fetch-rd", PERF_TYPE_RAW, 0x82a1, "Instruction memory access, demand fetch", "arm64"},
829 {"raw-mem-access-prfm", PERF_TYPE_RAW, 0x82a2, "Data memory access, preload", "arm64"},
830 {"raw-inst-fetch-prfm", PERF_TYPE_RAW, 0x82a3, "Instruction memory access, preload", "arm64"},
831 {"raw-cortex-a55-l3d-cache-refill-prefetch", PERF_TYPE_RAW, 0xc0, "Level 3 cache refill due to prefetch", "arm64:Cortex-A55"},
832 {"raw-cortex-a55-l2d-cache-refill-prefetch", PERF_TYPE_RAW, 0xc1, "Level 2 cache refill due to prefetch", "arm64:Cortex-A55"},
833 {"raw-cortex-a55-l1d-cache-refill-prefetch", PERF_TYPE_RAW, 0xc2, "Level 1 data cache refill due to prefetch", "arm64:Cortex-A55"},
834 {"raw-cortex-a55-l2d-ws-mode", PERF_TYPE_RAW, 0xc3, "Level 2 cache write streaming mode", "arm64:Cortex-A55"},
835 {"raw-cortex-a55-l1d-ws-mode-entry", PERF_TYPE_RAW, 0xc4, "Level 1 data cache entering write streaming mode", "arm64:Cortex-A55"},
836 {"raw-cortex-a55-l1d-ws-mode", PERF_TYPE_RAW, 0xc5, "Level 1 data cache write streaming mode", "arm64:Cortex-A55"},
837 {"raw-cortex-a55-predecode-error", PERF_TYPE_RAW, 0xc6, "Predecode error", "arm64:Cortex-A55"},
838 {"raw-cortex-a55-l3d-ws-mode", PERF_TYPE_RAW, 0xc7, "Level 3 cache write streaming mode", "arm64:Cortex-A55"},
839 {"raw-cortex-a55-br-cond-pred", PERF_TYPE_RAW, 0xc9, "Predicted conditional branch executed", "arm64:Cortex-A55"},
840 {"raw-cortex-a55-br-indirect-mis-pred", PERF_TYPE_RAW, 0xca, "Indirect branch mis-predicted", "arm64:Cortex-A55"},
841 {"raw-cortex-a55-br-indirect-addr-mis-pred", PERF_TYPE_RAW, 0xcb, "Indirect branch mis-predicted due to address mis-compare", "arm64:Cortex-A55"},
842 {"raw-cortex-a55-br-cond-mis-pred", PERF_TYPE_RAW, 0xcc, "Conditional branch mis-predicted", "arm64:Cortex-A55"},
843 {"raw-cortex-a55-br-indirect-addr-pred", PERF_TYPE_RAW, 0xcd, "Indirect branch with predicted address executed", "arm64:Cortex-A55"},
844 {"raw-cortex-a55-br-return-addr-pred", PERF_TYPE_RAW, 0xce, "Procedure return with predicted address executed", "arm64:Cortex-A55"},
845 {"raw-cortex-a55-br-return-addr-mis-pred", PERF_TYPE_RAW, 0xcf, "Procedure return mis-predicted due to address mis-compare", "arm64:Cortex-A55"},
846 {"raw-cortex-a55-l2d-llwalk-tlb", PERF_TYPE_RAW, 0xd0, "Level 2 TLB last-level walk cache access", "arm64:Cortex-A55"},
847 {"raw-cortex-a55-l2d-llwalk-tlb-refill", PERF_TYPE_RAW, 0xd1, "Level 2 TLB last-level walk cache refill", "arm64:Cortex-A55"},
848 {"raw-cortex-a55-l2d-l2walk-tlb", PERF_TYPE_RAW, 0xd2, "Level 2 TLB level-2 walk cache access", "arm64:Cortex-A55"},
849 {"raw-cortex-a55-l2d-l2walk-tlb-refill", PERF_TYPE_RAW, 0xd3, "Level 2 TLB level-2 walk cache refill", "arm64:Cortex-A55"},
850 {"raw-cortex-a55-l2d-s2-tlb", PERF_TYPE_RAW, 0xd4, "Level 2 TLB IPA cache access", "arm64:Cortex-A55"},
851 {"raw-cortex-a55-l2d-s2-tlb-refill", PERF_TYPE_RAW, 0xd5, "Level 2 TLB IPA cache refill", "arm64:Cortex-A55"},
852 {"raw-cortex-a55-l2d-cache-stash-dropped", PERF_TYPE_RAW, 0xd6, "Level 2 cache stash dropped", "arm64:Cortex-A55"},
853 {"raw-cortex-a55-stall-frontend-cache", PERF_TYPE_RAW, 0xe1, "No operation issued due to the frontend, cache miss", "arm64:Cortex-A55"},
854 {"raw-cortex-a55-stall-frontend-tlb", PERF_TYPE_RAW, 0xe2, "No operation issued due to the frontend, TLB miss", "arm64:Cortex-A55"},
855 {"raw-cortex-a55-stall-frontend-pderr", PERF_TYPE_RAW, 0xe3, "No operation issued due to the frontend, pre-decode error", "arm64:Cortex-A55"},
856 {"raw-cortex-a55-stall-backend-ilock", PERF_TYPE_RAW, 0xe4, "No operation issued due to the backend interlock", "arm64:Cortex-A55"},
857 {"raw-cortex-a55-stall-backend-ilock-agu", PERF_TYPE_RAW, 0xe5, "No operation issued due to the backend, interlock, AGU", "arm64:Cortex-A55"},
858 {"raw-cortex-a55-stall-backend-ilock-fpu", PERF_TYPE_RAW, 0xe6, "No operation issued due to the backend, interlock, FPU", "arm64:Cortex-A55"},
859 {"raw-cortex-a55-stall-backend-ld", PERF_TYPE_RAW, 0xe7, "No operation issued due to the backend, load", "arm64:Cortex-A55"},
860 {"raw-cortex-a55-stall-backend-st", PERF_TYPE_RAW, 0xe8, "No operation issued due to the backend, store", "arm64:Cortex-A55"},
861 {"raw-cortex-a55-stall-backend-ld-cache", PERF_TYPE_RAW, 0xe9, "No operation issued due to the backend, load, cache miss", "arm64:Cortex-A55"},
862 {"raw-cortex-a55-stall-backend-ld-tlb", PERF_TYPE_RAW, 0xea, "No operation issued due to the backend, load, TLB miss", "arm64:Cortex-A55"},
863 {"raw-cortex-a55-stall-backend-st-stb", PERF_TYPE_RAW, 0xeb, "No operation issued due to the backend, store, STB full", "arm64:Cortex-A55"},
864 {"raw-cortex-a55-stall-backend-st-tlb", PERF_TYPE_RAW, 0xec, "No operation issued due to the backend, store, TLB miss", "arm64:Cortex-A55"},
865 {"raw-cortex-a510-l2d-cache-refill-prefetch", PERF_TYPE_RAW, 0xc1, "L2 cache refill due to prefetch", "arm64:Cortex-A510"},
866 {"raw-cortex-a510-l1d-cache-refill-prefetch", PERF_TYPE_RAW, 0xc2, "L1 data cache refill due to prefetch", "arm64:Cortex-A510"},
867 {"raw-cortex-a510-l2d-ws-mode", PERF_TYPE_RAW, 0xc3, "L2 cache write streaming mode", "arm64:Cortex-A510"},
868 {"raw-cortex-a510-l1d-ws-mode-entry", PERF_TYPE_RAW, 0xc4, "L1 data cache entering write streaming mode", "arm64:Cortex-A510"},
869 {"raw-cortex-a510-l1d-ws-mode", PERF_TYPE_RAW, 0xc5, "L1 data cache write streaming mode", "arm64:Cortex-A510"},
870 {"raw-cortex-a510-l3d-ws-mode", PERF_TYPE_RAW, 0xc7, "L3 cache write streaming mode", "arm64:Cortex-A510"},
871 {"raw-cortex-a510-ll-ws-mode", PERF_TYPE_RAW, 0xc8, "Last level cache write streaming mode", "arm64:Cortex-A510"},
872 {"raw-cortex-a510-br-cond-pred", PERF_TYPE_RAW, 0xc9, "Predicted conditional branch executed", "arm64:Cortex-A510"},
873 {"raw-cortex-a510-br-indirect-mis-pred", PERF_TYPE_RAW, 0xca, "Indirect branch mispredicted", "arm64:Cortex-A510"},
874 {"raw-cortex-a510-br-indirect-addr-mis-pred", PERF_TYPE_RAW, 0xcb, "Indirect branch mispredicted due to address miscompare", "arm64:Cortex-A510"},
875 {"raw-cortex-a510-br-cond-mis-pred", PERF_TYPE_RAW, 0xcc, "Conditional branch mispredicted", "arm64:Cortex-A510"},
876 {"raw-cortex-a510-br-indirect-addr-pred", PERF_TYPE_RAW, 0xcd, "Indirect branch with predicted address executed", "arm64:Cortex-A510"},
877 {"raw-cortex-a510-br-return-addr-pred", PERF_TYPE_RAW, 0xce, "Procedure return with predicted address executed", "arm64:Cortex-A510"},
878 {"raw-cortex-a510-br-return-addr-mis-pred", PERF_TYPE_RAW, 0xcf, "Procedure return mispredicted due to address miscompare", "arm64:Cortex-A510"},
879 {"raw-cortex-a510-l2d-walk-tlb", PERF_TYPE_RAW, 0xd0, "L2 TLB walk cache access", "arm64:Cortex-A510"},
880 {"raw-cortex-a510-l2d-walk-tlb-refill", PERF_TYPE_RAW, 0xd1, "L2 TLB walk cache refill", "arm64:Cortex-A510"},
881 {"raw-cortex-a510-l2d-s2-tlb", PERF_TYPE_RAW, 0xd4, "L2 TLB IPA cache access", "arm64:Cortex-A510"},
882 {"raw-cortex-a510-l2d-s2-tlb-refill", PERF_TYPE_RAW, 0xd5, "L2 TLB IPA cache refill", "arm64:Cortex-A510"},
883 {"raw-cortex-a510-l2d-cache-stash-dropped", PERF_TYPE_RAW, 0xd6, "L2 cache stash dropped", "arm64:Cortex-A510"},
884 {"raw-cortex-a510-stall-frontend-cache", PERF_TYPE_RAW, 0xe1, "No operation issued due to the frontend, cache miss", "arm64:Cortex-A510"},
885 {"raw-cortex-a510-stall-frontend-tlb", PERF_TYPE_RAW, 0xe2, "No operation issued due to the frontend, TLB miss", "arm64:Cortex-A510"},
886 {"raw-cortex-a510-stall-frontend-pderr", PERF_TYPE_RAW, 0xe3, "No operation issued due to the frontend, pre-decode error", "arm64:Cortex-A510"},
887 {"raw-cortex-a510-stall-backend-ilock", PERF_TYPE_RAW, 0xe4, "No operation issued due to the backend interlock", "arm64:Cortex-A510"},
888 {"raw-cortex-a510-stall-backend-ilock-addr", PERF_TYPE_RAW, 0xe5, "No operation issued due to the backend, address interlock", "arm64:Cortex-A510"},
889 {"raw-cortex-a510-stall-backend-ilock-vpu", PERF_TYPE_RAW, 0xe6, "No operation issued due to the backend, interlock, or the Vector Processing Unit (VPU)", "arm64:Cortex-A510"},
890 {"raw-cortex-a510-stall-backend-ld", PERF_TYPE_RAW, 0xe7, "No operation issued due to the backend, load", "arm64:Cortex-A510"},
891 {"raw-cortex-a510-stall-backend-st", PERF_TYPE_RAW, 0xe8, "No operation issued due to the backend, store", "arm64:Cortex-A510"},
892 {"raw-cortex-a510-stall-backend-ld-cache", PERF_TYPE_RAW, 0xe9, "No operation issued due to the backend, load, cache miss", "arm64:Cortex-A510"},
893 {"raw-cortex-a510-stall-backend-ld-tlb", PERF_TYPE_RAW, 0xea, "No operation issued due to the backend, load, TLB miss", "arm64:Cortex-A510"},
894 {"raw-cortex-a510-stall-backend-st-stb", PERF_TYPE_RAW, 0xeb, "No operation issued due to the backend, store, Store Buffer (STB) full", "arm64:Cortex-A510"},
895 {"raw-cortex-a510-stall-backend-st-tlb", PERF_TYPE_RAW, 0xec, "No operation issued due to the backend, store, TLB miss", "arm64:Cortex-A510"},
896 {"raw-cortex-a510-stall-backend-vpu-hazard", PERF_TYPE_RAW, 0xed, "No operation issued due to the backend, VPU hazard", "arm64:Cortex-A510"},
897 {"raw-cortex-a510-stall-slot-backend-ilock", PERF_TYPE_RAW, 0xee, "Issue slot not issued due to interlock", "arm64:Cortex-A510"},
898 {"raw-cortex-a520-l2d-ws-mode", PERF_TYPE_RAW, 0xc3, "L2 cache write streaming mode", "arm64:Cortex-A520"},
899 {"raw-cortex-a520-l1d-ws-mode-entry", PERF_TYPE_RAW, 0xc4, "L1 data cache entering write streaming mode", "arm64:Cortex-A520"},
900 {"raw-cortex-a520-l1d-ws-mode", PERF_TYPE_RAW, 0xc5, "L1 data cache write streaming mode", "arm64:Cortex-A520"},
901 {"raw-cortex-a520-l3d-ws-mode", PERF_TYPE_RAW, 0xc7, "L3 cache write streaming mode", "arm64:Cortex-A520"},
902 {"raw-cortex-a520-ll-ws-mode", PERF_TYPE_RAW, 0xc8, "Last level cache write streaming mode", "arm64:Cortex-A520"},
903 {"raw-cortex-a520-l2d-walk-tlb", PERF_TYPE_RAW, 0xd0, "L2 TLB walk cache access", "arm64:Cortex-A520"},
904 {"raw-cortex-a520-l2d-walk-tlb-refill", PERF_TYPE_RAW, 0xd1, "L2 TLB walk cache refill", "arm64:Cortex-A520"},
905 {"raw-cortex-a520-l2d-s2-tlb", PERF_TYPE_RAW, 0xd4, "L2 TLB IPA cache access", "arm64:Cortex-A520"},
906 {"raw-cortex-a520-l2d-s2-tlb-refill", PERF_TYPE_RAW, 0xd5, "L2 TLB IPA cache refill", "arm64:Cortex-A520"},
907 {"raw-cortex-a520-l2d-cache-stash-dropped", PERF_TYPE_RAW, 0xd6, "L2 cache stash dropped", "arm64:Cortex-A520"},
908 {"raw-cortex-a520-l1d-tlb-refill-ets", PERF_TYPE_RAW, 0xd7, "L1D TLB refill due to ETS replay", "arm64:Cortex-A520"},
909 {"raw-cortex-a520-l2d-cache-refill-hwprf-spatial", PERF_TYPE_RAW, 0xda, "L2 cache refill due to L2 spatial prefetcher", "arm64:Cortex-A520"},
910 {"raw-cortex-a520-l2d-cache-refill-hwprf-offset", PERF_TYPE_RAW, 0xdb, "L2 cache refill due to L2 offset prefetcher", "arm64:Cortex-A520"},
911 {"raw-cortex-a520-l2d-cache-refill-hwprf-pattern", PERF_TYPE_RAW, 0xdc, "L2 cache refill due to L2 pattern prefetcher", "arm64:Cortex-A520"},
912 {"raw-cortex-a520-l2d-cache-refill-hwprf-tlbd", PERF_TYPE_RAW, 0xdd, "L2 cache refill due to L2 TLB prefetcher", "arm64:Cortex-A520"},
913 {"raw-cortex-a520-l3d-cache-hwprf-stride", PERF_TYPE_RAW, 0xde, "L3 cache access due to L3 stride prefetcher", "arm64:Cortex-A520"},
914 {"raw-cortex-a520-l3d-cache-hwprf-offset", PERF_TYPE_RAW, 0xdf, "L3 cache access due to L3 offset prefetcher", "arm64:Cortex-A520"},
915 {"raw-cortex-a520-stall-backend-ilock-addr", PERF_TYPE_RAW, 0xe5, "No operation issued due to the backend, input dependency, address", "arm64:Cortex-A520"},
916 {"raw-cortex-a520-stall-backend-ilock-vpu", PERF_TYPE_RAW, 0xe6, "No operation issued due to the backend, input dependency, Vector Processing Unit", "arm64:Cortex-A520"},
917 {"raw-cortex-a520-stall-backend-busy-vpu-hazard", PERF_TYPE_RAW, 0xed, "No operation issued due to the backend, VPU hazard", "arm64:Cortex-A520"},
918 {"raw-cortex-a520-stall-slot-backend-ilock", PERF_TYPE_RAW, 0xee, "No operation sent for execution on a Slot due to the backend, input dependency", "arm64:Cortex-A520"},
919 {"raw-cortex-a520-inst-spec-ldst-nuke", PERF_TYPE_RAW, 0xf0, "Instruction re-executed, read-after-read hazard", "arm64:Cortex-A520"},
920 {"raw-cortex-a520-dtlb-walk-hwprf", PERF_TYPE_RAW, 0x82fa, "Data TLB access, hardware prefetcher", "arm64:Cortex-A520"},
921 
922 #endif
923 #if defined(__riscv)
924 
925 #endif
926 #if defined(__i386__) || defined(__x86_64__)
927 {"BR_INST_RETIRED.NEAR_TAKEN", PERF_TYPE_RAW, 0x20c4, "Taken branch instructions retired", "x86-intel"},
928 
929 #endif
930 #if defined(__i386__) || defined(__x86_64__)
931 {"ex_ret_brn_tkn", PERF_TYPE_RAW, 0xc4, "Retired taken branch instructions", "x86-amd"},
932 
933 #endif
934 
935 
936         };
937 
LoadBuiltinEventTypes(std::set<EventType> & set)938         void LoadBuiltinEventTypes(std::set<EventType>& set) {
939           for (const auto& event_type : kBuiltinEventTypes) {
940             set.insert(static_cast<EventType>(event_type));
941           }
942         }
943 
944 
945 
946         // Map from cpu model to raw events supported on that cpu.
947         std::unordered_map<std::string, std::unordered_set<int>> cpu_supported_raw_events = {
948         #if defined(__aarch64__) || defined(__arm__)
949 {"Cortex-A55", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x34, 0x35, 0x36, 0x37, 0x38, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x50, 0x51, 0x52, 0x53, 0x60, 0x61, 0x66, 0x67, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x86, 0x87, 0xa0, 0xa2, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec}},
950 {"Cortex-A76", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x66, 0x67, 0x68, 0x69, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0}},
951 {"Cortex-A78", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b}},
952 {"Cortex-A510", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x2b, 0x2d, 0x2f, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x50, 0x51, 0x52, 0x53, 0x60, 0x61, 0x66, 0x67, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x86, 0x87, 0xa0, 0xa2, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x400e, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8002, 0x8006, 0x8014, 0x8018, 0x801c, 0x80e3, 0x80e7, 0x80eb, 0x80ef, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd4, 0xd5, 0xd6, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee}},
953 {"Cortex-A520", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x2b, 0x2d, 0x2f, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x50, 0x51, 0x52, 0x53, 0x60, 0x61, 0x66, 0x67, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x86, 0x87, 0xa0, 0xa2, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x400e, 0x4010, 0x4011, 0x4012, 0x4013, 0x4018, 0x4019, 0x401a, 0x401b, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8002, 0x8006, 0x8014, 0x8018, 0x801c, 0x80e3, 0x80e7, 0x80eb, 0x80ef, 0x810c, 0x8110, 0x8111, 0x8114, 0x8115, 0x8116, 0x8117, 0x811c, 0x811d, 0x8120, 0x8121, 0x8124, 0x8125, 0x8128, 0x8129, 0x8134, 0x8135, 0x8136, 0x8137, 0x8138, 0x8139, 0x813a, 0x813b, 0x813c, 0x8154, 0x8155, 0x8156, 0x8158, 0x8159, 0x815b, 0x815c, 0x8160, 0x8161, 0x8162, 0x8164, 0x8165, 0x8167, 0x8168, 0x816b, 0x816c, 0x818d, 0x81bc, 0x81bd, 0xc3, 0xc4, 0xc5, 0xc7, 0xc8, 0xd0, 0xd1, 0xd4, 0xd5, 0xd6, 0xd7, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe5, 0xe6, 0xed, 0xee, 0xf0, 0x82fa}},
954 {"Cortex-A710", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x4010, 0x4011, 0x4012, 0x4013, 0x4018, 0x4019, 0x401a, 0x401b, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8005, 0x8006, 0x8014, 0x8018, 0x801c, 0x8074, 0x8075, 0x8076, 0x8077, 0x8079, 0x80bc, 0x80bd, 0x80c0, 0x80c1, 0x80e3, 0x80e7, 0x80eb, 0x80ef}},
955 {"Cortex-A715", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x44, 0x45, 0x48, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x60, 0x61, 0x66, 0x67, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4000, 0x4001, 0x4002, 0x4003, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x4010, 0x4011, 0x4012, 0x4013, 0x4018, 0x4019, 0x401a, 0x401b, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8005, 0x8006, 0x8014, 0x8018, 0x801c, 0x8074, 0x8075, 0x8076, 0x8077, 0x8079, 0x80bc, 0x80bd, 0x80c0, 0x80c1, 0x80e3, 0x80e7, 0x80eb, 0x80ef, 0x8108, 0x810c, 0x811d, 0x8128, 0x8129, 0x8136, 0x8137, 0x8162}},
956 {"Cortex-A720", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x44, 0x45, 0x48, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x60, 0x61, 0x66, 0x67, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4000, 0x4001, 0x4002, 0x4003, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x4010, 0x4011, 0x4012, 0x4013, 0x4018, 0x4019, 0x401a, 0x401b, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8005, 0x8006, 0x8014, 0x8018, 0x801c, 0x8074, 0x8075, 0x8076, 0x8077, 0x8079, 0x80bc, 0x80bd, 0x80c0, 0x80c1, 0x80e3, 0x80e7, 0x80eb, 0x80ef, 0x8108, 0x810c, 0x8110, 0x8111, 0x8112, 0x8113, 0x8114, 0x8115, 0x8116, 0x8117, 0x811c, 0x811d, 0x8120, 0x8121, 0x8124, 0x8128, 0x8129, 0x812a, 0x812b, 0x812c, 0x812d, 0x812e, 0x812f, 0x8134, 0x8135, 0x8136, 0x8137, 0x8138, 0x8139, 0x813a, 0x813b, 0x8140, 0x8148, 0x8158, 0x8159, 0x815b, 0x815c, 0x8160, 0x8162, 0x8164, 0x8165, 0x8167, 0x8168, 0x816a, 0x816b, 0x816d, 0x8171, 0x8172, 0x8173, 0x8284, 0x8285, 0x828c, 0x828d}},
957 {"Cortex-X1", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b}},
958 {"Cortex-X2", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x4010, 0x4011, 0x4012, 0x4013, 0x4018, 0x4019, 0x401a, 0x401b, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8005, 0x8006, 0x8014, 0x8018, 0x801c, 0x8074, 0x8075, 0x8076, 0x8077, 0x8079, 0x80bc, 0x80bd, 0x80c0, 0x80c1, 0x80e3, 0x80e7, 0x80eb, 0x80ef}},
959 {"Cortex-X3", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7c, 0x7d, 0x7e, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x4010, 0x4011, 0x4012, 0x4013, 0x4018, 0x4019, 0x401a, 0x401b, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8005, 0x8006, 0x8014, 0x8018, 0x801c, 0x8074, 0x8075, 0x8076, 0x8077, 0x8079, 0x80bc, 0x80bd, 0x80c0, 0x80c1, 0x80e3, 0x80e7, 0x80eb, 0x80ef}},
960 {"Cortex-X4", {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x29, 0x2a, 0x2b, 0x2d, 0x2f, 0x31, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x44, 0x45, 0x46, 0x47, 0x48, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x56, 0x57, 0x58, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7c, 0x7d, 0x7e, 0x7f, 0x81, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0xa0, 0x4000, 0x4001, 0x4002, 0x4003, 0x4004, 0x4005, 0x4006, 0x4009, 0x400b, 0x400c, 0x4010, 0x4011, 0x4012, 0x4013, 0x4018, 0x4019, 0x401a, 0x401b, 0x4020, 0x4021, 0x4022, 0x4024, 0x4025, 0x4026, 0x8004, 0x8005, 0x8006, 0x8014, 0x8018, 0x801c, 0x8040, 0x8074, 0x8075, 0x8076, 0x8077, 0x8079, 0x8087, 0x80bc, 0x80bd, 0x80c0, 0x80c1, 0x80e3, 0x80e7, 0x80eb, 0x80ef, 0x8108, 0x810c, 0x8110, 0x8111, 0x8112, 0x8113, 0x8114, 0x8115, 0x8116, 0x8117, 0x8118, 0x8119, 0x811a, 0x811b, 0x811c, 0x811d, 0x8120, 0x8121, 0x8124, 0x8128, 0x8129, 0x812a, 0x812b, 0x812c, 0x812d, 0x812e, 0x812f, 0x8130, 0x8131, 0x8132, 0x8133, 0x8134, 0x8135, 0x8136, 0x8137, 0x8138, 0x8139, 0x813a, 0x813b, 0x813c, 0x813d, 0x813e, 0x813f, 0x8140, 0x8141, 0x8142, 0x8143, 0x8144, 0x8145, 0x8146, 0x8147, 0x8148, 0x814a, 0x814c, 0x814e, 0x8150, 0x8151, 0x8152, 0x8153, 0x8154, 0x8155, 0x8156, 0x8158, 0x8159, 0x815b, 0x815c, 0x8160, 0x8161, 0x8162, 0x8164, 0x8165, 0x8167, 0x8168, 0x816a, 0x816b, 0x816d, 0x81c0, 0x81d0, 0x81e0, 0x8200, 0x8208, 0x8240, 0x8250, 0x8260}},
961 #endif
962 
963         #if defined(__riscv)
964 
965 #endif
966 
967         };
968 
969         #if defined(__aarch64__) || defined(__arm__)
970 std::unordered_map<uint64_t, std::string> cpuid_to_name = {
971 {0x4100000d05ull, "Cortex-A55"},
972 {0x4100000d0bull, "Cortex-A76"},
973 {0x4100000d41ull, "Cortex-A78"},
974 {0x4100000d46ull, "Cortex-A510"},
975 {0x4100000d80ull, "Cortex-A520"},
976 {0x4100000d47ull, "Cortex-A710"},
977 {0x4100000d4dull, "Cortex-A715"},
978 {0x4100000d81ull, "Cortex-A720"},
979 {0x4100000d44ull, "Cortex-X1"},
980 {0x4100000d48ull, "Cortex-X2"},
981 {0x4100000d4eull, "Cortex-X3"},
982 {0x4100000d82ull, "Cortex-X4"},
983 };
984 #endif
985 
986 #if defined(__riscv)
987 std::map<std::tuple<uint64_t, std::string, std::string>, std::string> cpuid_to_name = {
988 };
989 #endif
990 
991         }  // namespace simpleperf
992