| # RUN: llvm-exegesis -mcpu=znver3 -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 |
| |
| # Naive clusterization mainly groups by instruction opcode, |
| # but it should also partition the benchmarks of the same opcode |
| # by the sched class. For example, a regular `xor`, and same-operand `xor` |
| # may have different characteristics, and it will be confusing/misleading |
| # to group them. |
| |
| # CHECK-CLUSTERS: {{^}}cluster_id,opcode_name,config,sched_class,latency{{$}} |
| # CHECK-CLUSTERS-NEXT: {{^}}0, |
| # CHECK-CLUSTERS-SAME: ,1.00{{$}} |
| # CHECK-CLUSTERS: {{^}}1, |
| # CHECK-CLUSTERS-SAME: ,0.20{{$}} |
| |
| --- |
| mode: latency |
| key: |
| instructions: |
| - 'XOR32rr ECX ECX EAX' |
| config: '' |
| register_initial_values: |
| - 'ECX=0x0' |
| - 'EAX=0x0' |
| cpu_name: znver3 |
| llvm_triple: x86_64-unknown-linux-gnu |
| num_repetitions: 1000000 |
| measurements: |
| - { key: latency, value: 1.00017, per_snippet_value: 1.00017 } |
| error: '' |
| info: Repeating a single implicitly serial instruction |
| assembled_snippet: B900000000B80000000031C131C131C131C1C3B900000000B80000000049B8020000000000000031C131C14983C0FF75F6C3 |
| ... |
| --- |
| mode: latency |
| key: |
| instructions: |
| - 'XOR32rr EDI EDI EDI' |
| config: '' |
| register_initial_values: |
| - 'EDI=0x0' |
| cpu_name: znver3 |
| llvm_triple: x86_64-unknown-linux-gnu |
| num_repetitions: 1000000 |
| measurements: |
| - { key: latency, value: 0.198311, per_snippet_value: 0.198311 } |
| error: '' |
| info: Repeating a single implicitly serial instruction |
| assembled_snippet: BF0000000031FF31FF31FF31FFC3BF0000000049B8020000000000000031FF31FF4983C0FF75F6C3 |
| ... |