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 # RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-inconsistencies-output-file=- -analysis-clustering-epsilon=0.5 -analysis-inconsistency-epsilon=0.5 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-INCONSISTENCIES-ALL,CHECK-INCONSISTENCIES-STABLE %s
3 # RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-inconsistencies-output-file=- -analysis-clustering-epsilon=0.5 -analysis-inconsistency-epsilon=0.5 -analysis-display-unstable-clusters -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-INCONSISTENCIES-ALL,CHECK-INCONSISTENCIES-UNSTABLE %s
5 # We have two ADD32rr measurements, and two measurements for SQRTSSr.
6 # ADD32rr measurements are neighbours.
7 # But the measurements of SQRTSSr are not neighbours,
8 # so therefore that cluster is marked as unstable.
10 # By default, we do not show such unstable clusters.
11 # If told to show, we *only* show such unstable clusters.
13 # CHECK-CLUSTERS: {{^}}cluster_id,opcode_name,config,sched_class,latency{{$}}
14 # CHECK-CLUSTERS-NEXT: {{^}}0,
15 # CHECK-CLUSTERS-SAME: ,90.00{{$}}
16 # CHECK-CLUSTERS-NEXT: {{^}}0,
17 # CHECK-CLUSTERS-SAME: ,90.11{{$}}
18 # CHECK-CLUSTERS: {{^}}1,
19 # CHECK-CLUSTERS-SAME: ,90.11{{$}}
20 # CHECK-CLUSTERS-NEXT: {{^}}1,
21 # CHECK-CLUSTERS-SAME: ,100.00{{$}}
23 # CHECK-INCONSISTENCIES-STABLE: ADD32rr
24 # CHECK-INCONSISTENCIES-STABLE: ADD32rr
25 # CHECK-INCONSISTENCIES-STABLE-NOT: ADD32rr
26 # CHECK-INCONSISTENCIES-STABLE-NOT: SQRTSSr
28 # CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr
29 # CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr
30 # CHECK-INCONSISTENCIES-UNSTABLE-NOT: SQRTSSr
31 # CHECK-INCONSISTENCIES-UNSTABLE-NOT: ADD32rr
37 - 'ADD32rr EDX EDX EAX'
39 register_initial_values:
43 llvm_triple: x86_64-unknown-linux-gnu
44 num_repetitions: 10000
46 - { key: latency, value: 90.0000, per_snippet_value: 90.0000 }
48 info: Repeating a single implicitly serial instruction
49 assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C3
54 - 'ADD32rr EDX EDX EAX'
56 register_initial_values:
60 llvm_triple: x86_64-unknown-linux-gnu
61 num_repetitions: 10000
63 - { key: latency, value: 90.1100, per_snippet_value: 90.1100 }
65 info: Repeating a single implicitly serial instruction
66 assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C3
71 - 'SQRTSSr XMM11 XMM11'
73 register_initial_values:
76 llvm_triple: x86_64-unknown-linux-gnu
77 num_repetitions: 10000
79 - { key: latency, value: 90.1111, per_snippet_value: 90.1111 }
81 info: Repeating a single explicitly serial instruction
82 assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC3
88 - 'SQRTSSr XMM11 XMM11'
90 register_initial_values:
93 llvm_triple: x86_64-unknown-linux-gnu
94 num_repetitions: 10000
96 - { key: latency, value: 100, per_snippet_value: 100 }
98 info: Repeating a single explicitly serial instruction
99 assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC3