1# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-clusters-output-file=- -analysis-clustering-epsilon=0.1 -analysis-inconsistency-epsilon=0.1 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-CLUSTERS %s
2
3# Naive clusterization mainly groups by instruction opcode,
4# but it should also partition the benchmarks of the same opcode
5# by the sched class. For example, a regular `xor`, and same-operand `xor`
6# may have different characteristics, and it will be confusing/misleading
7# to group them.
8
9# CHECK-CLUSTERS: {{^}}cluster_id,opcode_name,config,sched_class,latency{{$}}
10# CHECK-CLUSTERS-NEXT: {{^}}0,
11# CHECK-CLUSTERS-SAME: ,1.00{{$}}
12# CHECK-CLUSTERS:      {{^}}1,
13# CHECK-CLUSTERS-SAME: ,0.20{{$}}
14
15---
16mode:            latency
17key:
18  instructions:
19    - 'XOR32rr ECX ECX EAX'
20  config:          ''
21  register_initial_values:
22    - 'ECX=0x0'
23    - 'EAX=0x0'
24cpu_name:        znver3
25llvm_triple:     x86_64-unknown-linux-gnu
26num_repetitions: 1000000
27measurements:
28  - { key: latency, value: 1.00017, per_snippet_value: 1.00017 }
29error:           ''
30info:            Repeating a single implicitly serial instruction
31assembled_snippet: B900000000B80000000031C131C131C131C1C3B900000000B80000000049B8020000000000000031C131C14983C0FF75F6C3
32...
33---
34mode:            latency
35key:
36  instructions:
37    - 'XOR32rr EDI EDI EDI'
38  config:          ''
39  register_initial_values:
40    - 'EDI=0x0'
41cpu_name:        znver3
42llvm_triple:     x86_64-unknown-linux-gnu
43num_repetitions: 1000000
44measurements:
45  - { key: latency, value: 0.198311, per_snippet_value: 0.198311 }
46error:           ''
47info:            Repeating a single implicitly serial instruction
48assembled_snippet: BF0000000031FF31FF31FF31FFC3BF0000000049B8020000000000000031FF31FF4983C0FF75F6C3
49...
50