| # 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 |
| # 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-STABLE %s |
| # 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-UNSTABLE %s |
| |
| # We have two ADD32rr measurements, and two measurements for SQRTSSr. |
| # ADD32rr measurements are neighbours. |
| # But the measurements of SQRTSSr are not neighbours, |
| # so therefore that cluster is marked as unstable. |
| |
| # By default, we do not show such unstable clusters. |
| # If told to show, we *only* show such unstable clusters. |
| |
| # CHECK-CLUSTERS: {{^}}cluster_id,opcode_name,config,sched_class,latency{{$}} |
| # CHECK-CLUSTERS-NEXT: {{^}}0, |
| # CHECK-CLUSTERS-SAME: ,90.00{{$}} |
| # CHECK-CLUSTERS-NEXT: {{^}}0, |
| # CHECK-CLUSTERS-SAME: ,90.11{{$}} |
| # CHECK-CLUSTERS: {{^}}1, |
| # CHECK-CLUSTERS-SAME: ,90.11{{$}} |
| # CHECK-CLUSTERS-NEXT: {{^}}1, |
| # CHECK-CLUSTERS-SAME: ,100.00{{$}} |
| |
| # CHECK-INCONSISTENCIES-STABLE: ADD32rr |
| # CHECK-INCONSISTENCIES-STABLE: ADD32rr |
| # CHECK-INCONSISTENCIES-STABLE-NOT: ADD32rr |
| # CHECK-INCONSISTENCIES-STABLE-NOT: SQRTSSr |
| |
| # CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr |
| # CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr |
| # CHECK-INCONSISTENCIES-UNSTABLE-NOT: SQRTSSr |
| # CHECK-INCONSISTENCIES-UNSTABLE-NOT: ADD32rr |
| |
| --- |
| mode: latency |
| key: |
| instructions: |
| - 'ADD32rr EDX EDX EAX' |
| config: '' |
| register_initial_values: |
| - 'EDX=0x0' |
| - 'EAX=0x0' |
| cpu_name: bdver2 |
| llvm_triple: x86_64-unknown-linux-gnu |
| num_repetitions: 10000 |
| measurements: |
| - { key: latency, value: 90.0000, per_snippet_value: 90.0000 } |
| error: '' |
| info: Repeating a single implicitly serial instruction |
| assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C3 |
| --- |
| mode: latency |
| key: |
| instructions: |
| - 'ADD32rr EDX EDX EAX' |
| config: '' |
| register_initial_values: |
| - 'EDX=0x0' |
| - 'EAX=0x0' |
| cpu_name: bdver2 |
| llvm_triple: x86_64-unknown-linux-gnu |
| num_repetitions: 10000 |
| measurements: |
| - { key: latency, value: 90.1100, per_snippet_value: 90.1100 } |
| error: '' |
| info: Repeating a single implicitly serial instruction |
| assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C3 |
| --- |
| mode: latency |
| key: |
| instructions: |
| - 'SQRTSSr XMM11 XMM11' |
| config: '' |
| register_initial_values: |
| - 'XMM11=0x0' |
| cpu_name: bdver2 |
| llvm_triple: x86_64-unknown-linux-gnu |
| num_repetitions: 10000 |
| measurements: |
| - { key: latency, value: 90.1111, per_snippet_value: 90.1111 } |
| error: '' |
| info: Repeating a single explicitly serial instruction |
| assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC3 |
| ... |
| --- |
| mode: latency |
| key: |
| instructions: |
| - 'SQRTSSr XMM11 XMM11' |
| config: '' |
| register_initial_values: |
| - 'XMM11=0x0' |
| cpu_name: bdver2 |
| llvm_triple: x86_64-unknown-linux-gnu |
| num_repetitions: 10000 |
| measurements: |
| - { key: latency, value: 100, per_snippet_value: 100 } |
| error: '' |
| info: Repeating a single explicitly serial instruction |
| assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC3 |
| ... |