83 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 | 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 | 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 | FileCheck -check-prefixes=CHECK-INCONSISTENCIES-UNSTABLE %s4 5# We have one ADD32rr measurement, and two measurements for SQRTSSr.6# The ADD32rr measurement and one of the SQRTSSr measurements are identical,7# and thus will be be in the same cluster. But the second SQRTSSr measurement8# is different from the first SQRTSSr measurement, and thus it will be in it's9# own cluster. We do reclusterization, and thus since there is more than one10# measurement from SQRTSSr, and they are not in the same cluster, we move11# all two SQRTSSr measurements into their own cluster, and mark it as unstable.12# By default, we do not show such unstable clusters.13# If told to show, we *only* show such unstable clusters.14 15# CHECK-CLUSTERS: {{^}}cluster_id,opcode_name,config,sched_class,latency{{$}}16# CHECK-CLUSTERS-NEXT: {{^}}0,17# CHECK-CLUSTERS-SAME: ,90.00{{$}}18# CHECK-CLUSTERS: {{^}}3,19# CHECK-CLUSTERS-SAME: ,90.11{{$}}20# CHECK-CLUSTERS-NEXT: {{^}}3,21# CHECK-CLUSTERS-SAME: ,100.00{{$}}22 23# CHECK-INCONSISTENCIES-STABLE: ADD32rr24# CHECK-INCONSISTENCIES-STABLE-NOT: ADD32rr25# CHECK-INCONSISTENCIES-STABLE-NOT: SQRTSSr26 27# CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr28# CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr29# CHECK-INCONSISTENCIES-UNSTABLE-NOT: SQRTSSr30# CHECK-INCONSISTENCIES-UNSTABLE-NOT: ADD32rr31 32---33mode: latency34key:35 instructions:36 - 'ADD32rr EDX EDX EAX'37 config: ''38 register_initial_values:39 - 'EDX=0x0'40 - 'EAX=0x0'41cpu_name: bdver242llvm_triple: x86_64-unknown-linux-gnu43num_repetitions: 1000044measurements:45 - { key: latency, value: 90.0000, per_snippet_value: 90.0000 }46error: ''47info: Repeating a single implicitly serial instruction48assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C349---50mode: latency51key:52 instructions:53 - 'SQRTSSr XMM11 XMM11'54 config: ''55 register_initial_values:56 - 'XMM11=0x0'57cpu_name: bdver258llvm_triple: x86_64-unknown-linux-gnu59num_repetitions: 1000060measurements:61 - { key: latency, value: 90.1111, per_snippet_value: 90.1111 }62error: ''63info: Repeating a single explicitly serial instruction64assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC365...66---67mode: latency68key:69 instructions:70 - 'SQRTSSr XMM11 XMM11'71 config: ''72 register_initial_values:73 - 'XMM11=0x0'74cpu_name: bdver275llvm_triple: x86_64-unknown-linux-gnu76num_repetitions: 1000077measurements:78 - { key: latency, value: 100, per_snippet_value: 100 }79error: ''80info: Repeating a single explicitly serial instruction81assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC382...83