[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / tools / llvm-mca / X86 / sqrt-rsqrt-rcp-memop.s
bloba4b3f561e5d271cc9ac3987b6df54d1dc40f78aa
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BARCELONA
3 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BDVER2
4 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BTVER2
5 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=ZNVER1
6 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=HASWELL
7 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BROADWELL
8 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=SKYLAKE
10 #LLVM-MCA-BEGIN test_sqrtss
11 leaq 8(%rsp, %rdi, 2), %rax
12 sqrtss (%rax), %xmm1
13 #LLVM-MCA-END
15 #LLVM-MCA-BEGIN test_sqrtsd
16 leaq 8(%rsp, %rdi, 2), %rax
17 sqrtsd (%rax), %xmm1
18 #LLVM-MCA-END
20 #LLVM-MCA-BEGIN test_rsqrtss
21 leaq 8(%rsp, %rdi, 2), %rax
22 rsqrtss (%rax), %xmm1
23 #LLVM-MCA-END
25 #LLVM-MCA-BEGIN test_rcp
26 leaq 8(%rsp, %rdi, 2), %rax
27 rcpss (%rax), %xmm1
28 #LLVM-MCA-END
30 # ALL: [0] Code Region - test_sqrtss
32 # ALL: Timeline view:
34 # BARCELONA-NEXT: 0123456789
35 # BARCELONA-NEXT: Index 0123456789 0123
37 # BDVER2-NEXT: 01234567
38 # BDVER2-NEXT: Index 0123456789
40 # BROADWELL-NEXT: 0123456789
41 # BROADWELL-NEXT: Index 0123456789
43 # BTVER2-NEXT: 0123456789 0
44 # BTVER2-NEXT: Index 0123456789 0123456789
46 # HASWELL-NEXT: 0123456789
47 # HASWELL-NEXT: Index 0123456789
49 # SKYLAKE-NEXT: 0123456789
50 # SKYLAKE-NEXT: Index 0123456789 0
52 # ZNVER1-NEXT: 0123456789 0
53 # ZNVER1-NEXT: Index 0123456789 0123456789
55 # BARCELONA: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax
56 # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1
58 # BDVER2: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax
59 # BDVER2-NEXT: [0,1] D=eeeeeeeeeeeeeeER sqrtss (%rax), %xmm1
61 # BROADWELL: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax
62 # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1
64 # BTVER2: [0,0] DeeER. . . . . . leaq 8(%rsp,%rdi,2), %rax
65 # BTVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1
67 # HASWELL: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax
68 # HASWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1
70 # SKYLAKE: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax
71 # SKYLAKE-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1
73 # ZNVER1: [0,0] DeER . . . . . . leaq 8(%rsp,%rdi,2), %rax
74 # ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1
76 # ALL: Average Wait times (based on the timeline view):
77 # ALL-NEXT: [0]: Executions
78 # ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue
79 # ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
80 # ALL-NEXT: [3]: Average time elapsed from WB until retire stage
82 # ALL: [0] [1] [2] [3]
83 # ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax
85 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1
86 # BDVER2-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1
87 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1
88 # BTVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtss (%rax), %xmm1
89 # HASWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1
90 # SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1
91 # ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1
93 # ALL: [1] Code Region - test_sqrtsd
95 # ALL: Timeline view:
97 # BARCELONA-NEXT: 0123456789 0
98 # BARCELONA-NEXT: Index 0123456789 0123456789
100 # BDVER2-NEXT: 01234567
101 # BDVER2-NEXT: Index 0123456789
103 # BROADWELL-NEXT: 0123456789
104 # BROADWELL-NEXT: Index 0123456789 01234
106 # BTVER2-NEXT: 0123456789 0123456
107 # BTVER2-NEXT: Index 0123456789 0123456789
109 # HASWELL-NEXT: 0123456789
110 # HASWELL-NEXT: Index 0123456789 01234
112 # SKYLAKE-NEXT: 0123456789
113 # SKYLAKE-NEXT: Index 0123456789 0123456
115 # ZNVER1-NEXT: 0123456789 0
116 # ZNVER1-NEXT: Index 0123456789 0123456789
118 # BARCELONA: [0,0] DeER . . . . . . leaq 8(%rsp,%rdi,2), %rax
119 # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1
121 # BDVER2: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax
122 # BDVER2-NEXT: [0,1] D=eeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1
124 # BROADWELL: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax
125 # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1
127 # BTVER2: [0,0] DeeER. . . . . . .. leaq 8(%rsp,%rdi,2), %rax
128 # BTVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1
130 # HASWELL: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax
131 # HASWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1
133 # SKYLAKE: [0,0] DeER . . . . .. leaq 8(%rsp,%rdi,2), %rax
134 # SKYLAKE-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1
136 # ZNVER1: [0,0] DeER . . . . . . leaq 8(%rsp,%rdi,2), %rax
137 # ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1
139 # ALL: Average Wait times (based on the timeline view):
140 # ALL-NEXT: [0]: Executions
141 # ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue
142 # ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
143 # ALL-NEXT: [3]: Average time elapsed from WB until retire stage
145 # ALL: [0] [1] [2] [3]
146 # ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax
148 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1
149 # BDVER2-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1
150 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1
151 # BTVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtsd (%rax), %xmm1
152 # HASWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1
153 # SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1
154 # ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1
156 # ALL: [2] Code Region - test_rsqrtss
158 # ALL: Timeline view:
160 # BARCELONA-NEXT: 01234
161 # BDVER2-NEXT: 0123
162 # BROADWELL-NEXT: 0123
163 # BTVER2-NEXT: 01
164 # HASWELL-NEXT: 0123
165 # SKYLAKE-NEXT: 012
166 # ZNVER1-NEXT: 012345
168 # ALL-NEXT: Index 0123456789
170 # BARCELONA: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
171 # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeER rsqrtss (%rax), %xmm1
173 # BDVER2: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
174 # BDVER2-NEXT: [0,1] D=eeeeeeeeeeER rsqrtss (%rax), %xmm1
176 # BROADWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
177 # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeER rsqrtss (%rax), %xmm1
179 # BTVER2: [0,0] DeeER. .. leaq 8(%rsp,%rdi,2), %rax
180 # BTVER2-NEXT: [0,1] D==eeeeeeeER rsqrtss (%rax), %xmm1
182 # HASWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
183 # HASWELL-NEXT: [0,1] D=eeeeeeeeeeER rsqrtss (%rax), %xmm1
185 # SKYLAKE: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
186 # SKYLAKE-NEXT: [0,1] D=eeeeeeeeeER rsqrtss (%rax), %xmm1
188 # ZNVER1: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
189 # ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeER rsqrtss (%rax), %xmm1
191 # ALL: Average Wait times (based on the timeline view):
192 # ALL-NEXT: [0]: Executions
193 # ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue
194 # ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
195 # ALL-NEXT: [3]: Average time elapsed from WB until retire stage
197 # ALL: [0] [1] [2] [3]
198 # ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax
200 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1
201 # BDVER2-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1
202 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1
203 # BTVER2-NEXT: 1. 1 3.0 0.0 0.0 rsqrtss (%rax), %xmm1
204 # HASWELL-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1
205 # SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1
206 # ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1
208 # ALL: [3] Code Region - test_rcp
210 # ALL: Timeline view:
212 # BARCELONA-NEXT: 01234
213 # BDVER2-NEXT: 0123
214 # BROADWELL-NEXT: 0123
215 # BTVER2-NEXT: 01
216 # HASWELL-NEXT: 0123
217 # SKYLAKE-NEXT: 012
218 # ZNVER1-NEXT: 012345
220 # ALL-NEXT: Index 0123456789
222 # BARCELONA: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
223 # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeER rcpss (%rax), %xmm1
225 # BDVER2: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
226 # BDVER2-NEXT: [0,1] D=eeeeeeeeeeER rcpss (%rax), %xmm1
228 # BROADWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
229 # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeER rcpss (%rax), %xmm1
231 # BTVER2: [0,0] DeeER. .. leaq 8(%rsp,%rdi,2), %rax
232 # BTVER2-NEXT: [0,1] D==eeeeeeeER rcpss (%rax), %xmm1
234 # HASWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
235 # HASWELL-NEXT: [0,1] D=eeeeeeeeeeER rcpss (%rax), %xmm1
237 # SKYLAKE: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
238 # SKYLAKE-NEXT: [0,1] D=eeeeeeeeeER rcpss (%rax), %xmm1
240 # ZNVER1: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax
241 # ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeER rcpss (%rax), %xmm1
243 # ALL: Average Wait times (based on the timeline view):
244 # ALL-NEXT: [0]: Executions
245 # ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue
246 # ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
247 # ALL-NEXT: [3]: Average time elapsed from WB until retire stage
249 # ALL: [0] [1] [2] [3]
250 # ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax
252 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1
253 # BDVER2-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1
254 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1
255 # BTVER2-NEXT: 1. 1 3.0 0.0 0.0 rcpss (%rax), %xmm1
256 # HASWELL-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1
257 # SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1
258 # ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1