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