[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / llvm-mca / X86 / BtVer2 / int-to-fpu-forwarding-2.s
blob587676d8b4d403f613cc3e3ba6cd4859c8dc269b
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=500 < %s | FileCheck %s
4 # LLVM-MCA-BEGIN
5 vcvtsi2ss %ecx, %xmm0, %xmm0
6 # LLVM-MCA-END
8 # LLVM-MCA-BEGIN
9 vcvtsi2sd %ecx, %xmm0, %xmm0
10 # LLVM-MCA-END
12 # LLVM-MCA-BEGIN
13 cvtsi2ss %ecx, %xmm0
14 # LLVM-MCA-END
16 # LLVM-MCA-BEGIN
17 cvtsi2sd %ecx, %xmm0
18 # LLVM-MCA-END
20 # LLVM-MCA-BEGIN
21 movd %ecx, %xmm0
22 # LLVM-MCA-END
24 # LLVM-MCA-BEGIN
25 movq %rcx, %xmm0
26 # LLVM-MCA-END
28 # CHECK: [0] Code Region
30 # CHECK: Iterations: 500
31 # CHECK-NEXT: Instructions: 500
32 # CHECK-NEXT: Total Cycles: 2003
33 # CHECK-NEXT: Total uOps: 1000
35 # CHECK: Dispatch Width: 2
36 # CHECK-NEXT: uOps Per Cycle: 0.50
37 # CHECK-NEXT: IPC: 0.25
38 # CHECK-NEXT: Block RThroughput: 1.0
40 # CHECK: Instruction Info:
41 # CHECK-NEXT: [1]: #uOps
42 # CHECK-NEXT: [2]: Latency
43 # CHECK-NEXT: [3]: RThroughput
44 # CHECK-NEXT: [4]: MayLoad
45 # CHECK-NEXT: [5]: MayStore
46 # CHECK-NEXT: [6]: HasSideEffects (U)
48 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
49 # CHECK-NEXT: 2 10 1.00 vcvtsi2ss %ecx, %xmm0, %xmm0
51 # CHECK: Resources:
52 # CHECK-NEXT: [0] - JALU0
53 # CHECK-NEXT: [1] - JALU1
54 # CHECK-NEXT: [2] - JDiv
55 # CHECK-NEXT: [3] - JFPA
56 # CHECK-NEXT: [4] - JFPM
57 # CHECK-NEXT: [5] - JFPU0
58 # CHECK-NEXT: [6] - JFPU1
59 # CHECK-NEXT: [7] - JLAGU
60 # CHECK-NEXT: [8] - JMul
61 # CHECK-NEXT: [9] - JSAGU
62 # CHECK-NEXT: [10] - JSTC
63 # CHECK-NEXT: [11] - JVALU0
64 # CHECK-NEXT: [12] - JVALU1
65 # CHECK-NEXT: [13] - JVIMUL
67 # CHECK: Resource pressure per iteration:
68 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
69 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -
71 # CHECK: Resource pressure by instruction:
72 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
73 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2ss %ecx, %xmm0, %xmm0
75 # CHECK: [1] Code Region
77 # CHECK: Iterations: 500
78 # CHECK-NEXT: Instructions: 500
79 # CHECK-NEXT: Total Cycles: 2003
80 # CHECK-NEXT: Total uOps: 1000
82 # CHECK: Dispatch Width: 2
83 # CHECK-NEXT: uOps Per Cycle: 0.50
84 # CHECK-NEXT: IPC: 0.25
85 # CHECK-NEXT: Block RThroughput: 1.0
87 # CHECK: Instruction Info:
88 # CHECK-NEXT: [1]: #uOps
89 # CHECK-NEXT: [2]: Latency
90 # CHECK-NEXT: [3]: RThroughput
91 # CHECK-NEXT: [4]: MayLoad
92 # CHECK-NEXT: [5]: MayStore
93 # CHECK-NEXT: [6]: HasSideEffects (U)
95 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
96 # CHECK-NEXT: 2 10 1.00 vcvtsi2sd %ecx, %xmm0, %xmm0
98 # CHECK: Resources:
99 # CHECK-NEXT: [0] - JALU0
100 # CHECK-NEXT: [1] - JALU1
101 # CHECK-NEXT: [2] - JDiv
102 # CHECK-NEXT: [3] - JFPA
103 # CHECK-NEXT: [4] - JFPM
104 # CHECK-NEXT: [5] - JFPU0
105 # CHECK-NEXT: [6] - JFPU1
106 # CHECK-NEXT: [7] - JLAGU
107 # CHECK-NEXT: [8] - JMul
108 # CHECK-NEXT: [9] - JSAGU
109 # CHECK-NEXT: [10] - JSTC
110 # CHECK-NEXT: [11] - JVALU0
111 # CHECK-NEXT: [12] - JVALU1
112 # CHECK-NEXT: [13] - JVIMUL
114 # CHECK: Resource pressure per iteration:
115 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
116 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -
118 # CHECK: Resource pressure by instruction:
119 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
120 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2sd %ecx, %xmm0, %xmm0
122 # CHECK: [2] Code Region
124 # CHECK: Iterations: 500
125 # CHECK-NEXT: Instructions: 500
126 # CHECK-NEXT: Total Cycles: 2003
127 # CHECK-NEXT: Total uOps: 1000
129 # CHECK: Dispatch Width: 2
130 # CHECK-NEXT: uOps Per Cycle: 0.50
131 # CHECK-NEXT: IPC: 0.25
132 # CHECK-NEXT: Block RThroughput: 1.0
134 # CHECK: Instruction Info:
135 # CHECK-NEXT: [1]: #uOps
136 # CHECK-NEXT: [2]: Latency
137 # CHECK-NEXT: [3]: RThroughput
138 # CHECK-NEXT: [4]: MayLoad
139 # CHECK-NEXT: [5]: MayStore
140 # CHECK-NEXT: [6]: HasSideEffects (U)
142 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
143 # CHECK-NEXT: 2 10 1.00 cvtsi2ss %ecx, %xmm0
145 # CHECK: Resources:
146 # CHECK-NEXT: [0] - JALU0
147 # CHECK-NEXT: [1] - JALU1
148 # CHECK-NEXT: [2] - JDiv
149 # CHECK-NEXT: [3] - JFPA
150 # CHECK-NEXT: [4] - JFPM
151 # CHECK-NEXT: [5] - JFPU0
152 # CHECK-NEXT: [6] - JFPU1
153 # CHECK-NEXT: [7] - JLAGU
154 # CHECK-NEXT: [8] - JMul
155 # CHECK-NEXT: [9] - JSAGU
156 # CHECK-NEXT: [10] - JSTC
157 # CHECK-NEXT: [11] - JVALU0
158 # CHECK-NEXT: [12] - JVALU1
159 # CHECK-NEXT: [13] - JVIMUL
161 # CHECK: Resource pressure per iteration:
162 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
163 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -
165 # CHECK: Resource pressure by instruction:
166 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
167 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ss %ecx, %xmm0
169 # CHECK: [3] Code Region
171 # CHECK: Iterations: 500
172 # CHECK-NEXT: Instructions: 500
173 # CHECK-NEXT: Total Cycles: 2003
174 # CHECK-NEXT: Total uOps: 1000
176 # CHECK: Dispatch Width: 2
177 # CHECK-NEXT: uOps Per Cycle: 0.50
178 # CHECK-NEXT: IPC: 0.25
179 # CHECK-NEXT: Block RThroughput: 1.0
181 # CHECK: Instruction Info:
182 # CHECK-NEXT: [1]: #uOps
183 # CHECK-NEXT: [2]: Latency
184 # CHECK-NEXT: [3]: RThroughput
185 # CHECK-NEXT: [4]: MayLoad
186 # CHECK-NEXT: [5]: MayStore
187 # CHECK-NEXT: [6]: HasSideEffects (U)
189 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
190 # CHECK-NEXT: 2 10 1.00 cvtsi2sd %ecx, %xmm0
192 # CHECK: Resources:
193 # CHECK-NEXT: [0] - JALU0
194 # CHECK-NEXT: [1] - JALU1
195 # CHECK-NEXT: [2] - JDiv
196 # CHECK-NEXT: [3] - JFPA
197 # CHECK-NEXT: [4] - JFPM
198 # CHECK-NEXT: [5] - JFPU0
199 # CHECK-NEXT: [6] - JFPU1
200 # CHECK-NEXT: [7] - JLAGU
201 # CHECK-NEXT: [8] - JMul
202 # CHECK-NEXT: [9] - JSAGU
203 # CHECK-NEXT: [10] - JSTC
204 # CHECK-NEXT: [11] - JVALU0
205 # CHECK-NEXT: [12] - JVALU1
206 # CHECK-NEXT: [13] - JVIMUL
208 # CHECK: Resource pressure per iteration:
209 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
210 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -
212 # CHECK: Resource pressure by instruction:
213 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
214 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sd %ecx, %xmm0
216 # CHECK: [4] Code Region
218 # CHECK: Iterations: 500
219 # CHECK-NEXT: Instructions: 500
220 # CHECK-NEXT: Total Cycles: 510
221 # CHECK-NEXT: Total uOps: 1000
223 # CHECK: Dispatch Width: 2
224 # CHECK-NEXT: uOps Per Cycle: 1.96
225 # CHECK-NEXT: IPC: 0.98
226 # CHECK-NEXT: Block RThroughput: 1.0
228 # CHECK: Instruction Info:
229 # CHECK-NEXT: [1]: #uOps
230 # CHECK-NEXT: [2]: Latency
231 # CHECK-NEXT: [3]: RThroughput
232 # CHECK-NEXT: [4]: MayLoad
233 # CHECK-NEXT: [5]: MayStore
234 # CHECK-NEXT: [6]: HasSideEffects (U)
236 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
237 # CHECK-NEXT: 2 8 0.50 movd %ecx, %xmm0
239 # CHECK: Resources:
240 # CHECK-NEXT: [0] - JALU0
241 # CHECK-NEXT: [1] - JALU1
242 # CHECK-NEXT: [2] - JDiv
243 # CHECK-NEXT: [3] - JFPA
244 # CHECK-NEXT: [4] - JFPM
245 # CHECK-NEXT: [5] - JFPU0
246 # CHECK-NEXT: [6] - JFPU1
247 # CHECK-NEXT: [7] - JLAGU
248 # CHECK-NEXT: [8] - JMul
249 # CHECK-NEXT: [9] - JSAGU
250 # CHECK-NEXT: [10] - JSTC
251 # CHECK-NEXT: [11] - JVALU0
252 # CHECK-NEXT: [12] - JVALU1
253 # CHECK-NEXT: [13] - JVIMUL
255 # CHECK: Resource pressure per iteration:
256 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
257 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - -
259 # CHECK: Resource pressure by instruction:
260 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
261 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movd %ecx, %xmm0
263 # CHECK: [5] Code Region
265 # CHECK: Iterations: 500
266 # CHECK-NEXT: Instructions: 500
267 # CHECK-NEXT: Total Cycles: 510
268 # CHECK-NEXT: Total uOps: 1000
270 # CHECK: Dispatch Width: 2
271 # CHECK-NEXT: uOps Per Cycle: 1.96
272 # CHECK-NEXT: IPC: 0.98
273 # CHECK-NEXT: Block RThroughput: 1.0
275 # CHECK: Instruction Info:
276 # CHECK-NEXT: [1]: #uOps
277 # CHECK-NEXT: [2]: Latency
278 # CHECK-NEXT: [3]: RThroughput
279 # CHECK-NEXT: [4]: MayLoad
280 # CHECK-NEXT: [5]: MayStore
281 # CHECK-NEXT: [6]: HasSideEffects (U)
283 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
284 # CHECK-NEXT: 2 8 0.50 movq %rcx, %xmm0
286 # CHECK: Resources:
287 # CHECK-NEXT: [0] - JALU0
288 # CHECK-NEXT: [1] - JALU1
289 # CHECK-NEXT: [2] - JDiv
290 # CHECK-NEXT: [3] - JFPA
291 # CHECK-NEXT: [4] - JFPM
292 # CHECK-NEXT: [5] - JFPU0
293 # CHECK-NEXT: [6] - JFPU1
294 # CHECK-NEXT: [7] - JLAGU
295 # CHECK-NEXT: [8] - JMul
296 # CHECK-NEXT: [9] - JSAGU
297 # CHECK-NEXT: [10] - JSTC
298 # CHECK-NEXT: [11] - JVALU0
299 # CHECK-NEXT: [12] - JVALU1
300 # CHECK-NEXT: [13] - JVIMUL
302 # CHECK: Resource pressure per iteration:
303 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
304 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - -
306 # CHECK: Resource pressure by instruction:
307 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
308 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movq %rcx, %xmm0