[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / llvm-exegesis / X86 / analysis-cluster-stabilization.test
blob1579993c6b7ad506fe77afa3c7e17dc3ef35ec74
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 %s
2 # 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-ALL,CHECK-INCONSISTENCIES-STABLE %s
3 # 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-ALL,CHECK-INCONSISTENCIES-UNSTABLE %s
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 measurement
8 # is different from the first SQRTSSr measurement, and thus it will be in it's
9 # own cluster. We do reclusterization, and thus since there is more than one
10 # measurement from SQRTSSr, and they are not in the same cluster, we move
11 # 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.
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{{$}}
23 # CHECK-INCONSISTENCIES-STABLE: ADD32rr
24 # CHECK-INCONSISTENCIES-STABLE-NOT: ADD32rr
25 # CHECK-INCONSISTENCIES-STABLE-NOT: SQRTSSr
27 # CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr
28 # CHECK-INCONSISTENCIES-UNSTABLE: SQRTSSr
29 # CHECK-INCONSISTENCIES-UNSTABLE-NOT: SQRTSSr
30 # CHECK-INCONSISTENCIES-UNSTABLE-NOT: ADD32rr
32 ---
33 mode:            latency
34 key:
35   instructions:
36     - 'ADD32rr EDX EDX EAX'
37   config:          ''
38   register_initial_values:
39     - 'EDX=0x0'
40     - 'EAX=0x0'
41 cpu_name:        bdver2
42 llvm_triple:     x86_64-unknown-linux-gnu
43 num_repetitions: 10000
44 measurements:
45   - { key: latency, value: 90.0000, per_snippet_value: 90.0000 }
46 error:           ''
47 info:            Repeating a single implicitly serial instruction
48 assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C3
49 ---
50 mode:            latency
51 key:
52   instructions:
53     - 'SQRTSSr XMM11 XMM11'
54   config:          ''
55   register_initial_values:
56     - 'XMM11=0x0'
57 cpu_name:        bdver2
58 llvm_triple:     x86_64-unknown-linux-gnu
59 num_repetitions: 10000
60 measurements:
61   - { key: latency, value: 90.1111, per_snippet_value: 90.1111 }
62 error:           ''
63 info:            Repeating a single explicitly serial instruction
64 assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC3
65 ...
66 ---
67 mode:            latency
68 key:
69   instructions:
70     - 'SQRTSSr XMM11 XMM11'
71   config:          ''
72   register_initial_values:
73     - 'XMM11=0x0'
74 cpu_name:        bdver2
75 llvm_triple:     x86_64-unknown-linux-gnu
76 num_repetitions: 10000
77 measurements:
78   - { key: latency, value: 100, per_snippet_value: 100 }
79 error:           ''
80 info:            Repeating a single explicitly serial instruction
81 assembled_snippet: 4883EC10C7042400000000C744240400000000C744240800000000C744240C00000000C57A6F1C244883C410F3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBF3450F51DBC3
82 ...