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