Revert r354244 "[DAGCombiner] Eliminate dead stores to stack."
[llvm-complete.git] / test / tools / llvm-mca / X86 / read-after-ld-1.s
blob0820fbc7c9b79ed33b876dcb8499a4f47c12c3ad
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=SANDY
3 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=HASWELL
4 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BDWELL
5 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=SKYLAKE
6 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BDVER2
7 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BTVER2
8 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=ZNVER1
10 vdivps %xmm0, %xmm1, %xmm1
11 vaddps (%rax), %xmm1, %xmm1
13 # ALL: Iterations: 1
14 # ALL-NEXT: Instructions: 2
16 # BDVER2-NEXT: Total Cycles: 17
17 # BDVER2-NEXT: Total uOps: 2
19 # BDWELL-NEXT: Total Cycles: 17
20 # BDWELL-NEXT: Total uOps: 3
22 # BTVER2-NEXT: Total Cycles: 25
23 # BTVER2-NEXT: Total uOps: 2
25 # HASWELL-NEXT: Total Cycles: 19
26 # HASWELL-NEXT: Total uOps: 3
28 # SANDY-NEXT: Total Cycles: 20
29 # SANDY-NEXT: Total uOps: 3
31 # SKYLAKE-NEXT: Total Cycles: 18
32 # SKYLAKE-NEXT: Total uOps: 3
34 # ZNVER1-NEXT: Total Cycles: 20
35 # ZNVER1-NEXT: Total uOps: 2
37 # BDVER2: Dispatch Width: 4
38 # BDVER2-NEXT: uOps Per Cycle: 0.12
39 # BDVER2-NEXT: IPC: 0.12
40 # BDVER2-NEXT: Block RThroughput: 10.0
42 # BDWELL: Dispatch Width: 4
43 # BDWELL-NEXT: uOps Per Cycle: 0.18
44 # BDWELL-NEXT: IPC: 0.12
45 # BDWELL-NEXT: Block RThroughput: 5.0
47 # BTVER2: Dispatch Width: 2
48 # BTVER2-NEXT: uOps Per Cycle: 0.08
49 # BTVER2-NEXT: IPC: 0.08
50 # BTVER2-NEXT: Block RThroughput: 19.0
52 # HASWELL: Dispatch Width: 4
53 # HASWELL-NEXT: uOps Per Cycle: 0.16
54 # HASWELL-NEXT: IPC: 0.11
55 # HASWELL-NEXT: Block RThroughput: 7.0
57 # SANDY: Dispatch Width: 4
58 # SANDY-NEXT: uOps Per Cycle: 0.15
59 # SANDY-NEXT: IPC: 0.10
60 # SANDY-NEXT: Block RThroughput: 14.0
62 # SKYLAKE: Dispatch Width: 6
63 # SKYLAKE-NEXT: uOps Per Cycle: 0.17
64 # SKYLAKE-NEXT: IPC: 0.11
65 # SKYLAKE-NEXT: Block RThroughput: 3.0
67 # ZNVER1: Dispatch Width: 4
68 # ZNVER1-NEXT: uOps Per Cycle: 0.10
69 # ZNVER1-NEXT: IPC: 0.10
70 # ZNVER1-NEXT: Block RThroughput: 1.0
72 # ALL: Timeline view:
74 # BDVER2-NEXT: 0123456
75 # BDVER2-NEXT: Index 0123456789
77 # BDWELL-NEXT: 0123456
78 # BDWELL-NEXT: Index 0123456789
80 # BTVER2-NEXT: 0123456789
81 # BTVER2-NEXT: Index 0123456789 01234
83 # HASWELL-NEXT: 012345678
84 # HASWELL-NEXT: Index 0123456789
86 # SANDY-NEXT: 0123456789
87 # SANDY-NEXT: Index 0123456789
89 # SKYLAKE-NEXT: 01234567
90 # SKYLAKE-NEXT: Index 0123456789
92 # ZNVER1-NEXT: 0123456789
93 # ZNVER1-NEXT: Index 0123456789
95 # BDVER2: [0,0] DeeeeeeeeeER .. vdivps %xmm0, %xmm1, %xmm1
96 # BDVER2-NEXT: [0,1] D====eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1
98 # BDWELL: [0,0] DeeeeeeeeeeeER .. vdivps %xmm0, %xmm1, %xmm1
99 # BDWELL-NEXT: [0,1] D======eeeeeeeeER vaddps (%rax), %xmm1, %xmm1
101 # BTVER2: [0,0] DeeeeeeeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1
102 # BTVER2-NEXT: [0,1] D==============eeeeeeeeER vaddps (%rax), %xmm1, %xmm1
104 # HASWELL: [0,0] DeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1
105 # HASWELL-NEXT: [0,1] D=======eeeeeeeeeER vaddps (%rax), %xmm1, %xmm1
107 # SANDY: [0,0] DeeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1
108 # SANDY-NEXT: [0,1] D========eeeeeeeeeER vaddps (%rax), %xmm1, %xmm1
110 # SKYLAKE: [0,0] DeeeeeeeeeeeER . . vdivps %xmm0, %xmm1, %xmm1
111 # SKYLAKE-NEXT: [0,1] D=====eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1
113 # ZNVER1: [0,0] DeeeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1
114 # ZNVER1-NEXT: [0,1] D=======eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1
116 # ALL: Average Wait times (based on the timeline view):
117 # ALL-NEXT: [0]: Executions
118 # ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue
119 # ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
120 # ALL-NEXT: [3]: Average time elapsed from WB until retire stage
122 # ALL: [0] [1] [2] [3]
123 # ALL-NEXT: 0. 1 1.0 1.0 0.0 vdivps %xmm0, %xmm1, %xmm1
125 # BDVER2-NEXT: 1. 1 5.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1
126 # BDWELL-NEXT: 1. 1 7.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1
127 # BTVER2-NEXT: 1. 1 15.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1
128 # HASWELL-NEXT: 1. 1 8.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1
129 # SANDY-NEXT: 1. 1 9.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1
130 # SKYLAKE-NEXT: 1. 1 6.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1
131 # ZNVER1-NEXT: 1. 1 8.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1