1# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-clusters-output-file=- -analysis-clustering-epsilon=10 -analysis-numpoints=1 | FileCheck -check-prefixes=CHECK-CLUSTERS-ALL,CHECK-CLUSTERS-DBSCAN %s
2# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-clusters-output-file=- -analysis-clustering-epsilon=10 -analysis-numpoints=1 -analysis-clustering=dbscan | FileCheck -check-prefixes=CHECK-CLUSTERS-ALL,CHECK-CLUSTERS-DBSCAN %s
3# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-clusters-output-file=- -analysis-clustering-epsilon=10 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-CLUSTERS-ALL,CHECK-CLUSTERS-NAIVE %s
4
5# Normally BSR32rr is in WriteBSR and BSF32rr is in WriteBSF sched classes.
6# Here we check that if we have dbscan-clustered these two measurements into the
7# same cluster, we don't split it per the sched classes into two.
8
9# CHECK-CLUSTERS-ALL: {{^}}cluster_id,opcode_name,config,sched_class,inverse_throughput{{$}}
10
11# CHECK-CLUSTERS-DBSCAN-NEXT: {{^}}0,
12# CHECK-CLUSTERS-DBSCAN-SAME: ,4.03{{$}}
13# CHECK-CLUSTERS-DBSCAN-NEXT: {{^}}0,
14# CHECK-CLUSTERS-DBSCAN-SAME: ,3.02{{$}}
15
16# CHECK-CLUSTERS-NAIVE-NEXT: {{^}}0,
17# CHECK-CLUSTERS-NAIVE-SAME: ,3.02{{$}}
18# CHECK-CLUSTERS-NAIVE: {{^}}1,
19# CHECK-CLUSTERS-NAIVE-SAME: ,4.03{{$}}
20
21---
22mode:            inverse_throughput
23key:
24  instructions:
25    - 'BSR32rr R11D EDI'
26  config:          ''
27  register_initial_values:
28    - 'EDI=0x0'
29cpu_name:        bdver2
30llvm_triple:     x86_64-unknown-linux-gnu
31num_repetitions: 1000000
32measurements:
33  - { key: inverse_throughput, value: 4.03048, per_snippet_value: 4.03048 }
34error:           ''
35info:            instruction has no tied variables picking Uses different from defs
36assembled_snippet: BF00000000440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDF440FBDDFC3
37...
38---
39mode:            inverse_throughput
40key:
41  instructions:
42    - 'BSF32rr EAX R14D'
43  config:          ''
44  register_initial_values:
45    - 'R14D=0x0'
46cpu_name:        bdver2
47llvm_triple:     x86_64-unknown-linux-gnu
48num_repetitions: 1000000
49measurements:
50  - { key: inverse_throughput, value: 3.02186, per_snippet_value: 3.02186 }
51error:           ''
52info:            instruction has no tied variables picking Uses different from defs
53assembled_snippet: 415641BE00000000410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6410FBCC6415EC3
54...
55