101 lines · plain
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 %s2# 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 %s3# 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 %s4 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.9 10# By default, we do not show such unstable clusters.11# If told to show, we *only* show such unstable clusters.12 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{{$}}22 23# CHECK-INCONSISTENCIES-STABLE: ADD32rr24# CHECK-INCONSISTENCIES-STABLE: ADD32rr25# CHECK-INCONSISTENCIES-STABLE-NOT: ADD32rr26# CHECK-INCONSISTENCIES-STABLE-NOT: SQRTSSr27 28# CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr29# CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr30# CHECK-INCONSISTENCIES-UNSTABLE-NOT: SQRTSSr31# CHECK-INCONSISTENCIES-UNSTABLE-NOT: ADD32rr32 33---34mode: latency35key:36 instructions:37 - 'ADD32rr EDX EDX EAX'38 config: ''39 register_initial_values:40 - 'EDX=0x0'41 - 'EAX=0x0'42cpu_name: bdver243llvm_triple: x86_64-unknown-linux-gnu44num_repetitions: 1000045measurements:46 - { key: latency, value: 90.0000, per_snippet_value: 90.0000 }47error: ''48info: Repeating a single implicitly serial instruction49assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C350---51mode: latency52key:53 instructions:54 - 'ADD32rr EDX EDX EAX'55 config: ''56 register_initial_values:57 - 'EDX=0x0'58 - 'EAX=0x0'59cpu_name: bdver260llvm_triple: x86_64-unknown-linux-gnu61num_repetitions: 1000062measurements:63 - { key: latency, value: 90.1100, per_snippet_value: 90.1100 }64error: ''65info: Repeating a single implicitly serial instruction66assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C367---68mode: latency69key:70 instructions:71 - 'SQRTSSr XMM11 XMM11'72 config: ''73 register_initial_values:74 - 'XMM11=0x0'75cpu_name: bdver276llvm_triple: x86_64-unknown-linux-gnu77num_repetitions: 1000078measurements:79 - { key: latency, value: 90.1111, per_snippet_value: 90.1111 }80error: ''81info: Repeating a single explicitly serial instruction82assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC383...84---85mode: latency86key:87 instructions:88 - 'SQRTSSr XMM11 XMM11'89 config: ''90 register_initial_values:91 - 'XMM11=0x0'92cpu_name: bdver293llvm_triple: x86_64-unknown-linux-gnu94num_repetitions: 1000095measurements:96 - { key: latency, value: 100, per_snippet_value: 100 }97error: ''98info: Repeating a single explicitly serial instruction99assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC3100...101