[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / llvm-mca / X86 / BdVer2 / resources-fma4.s
blob9295ca59961e48060a8582e5088dfa94040d3eea
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
4 vfmaddpd %xmm0, %xmm1, %xmm2, %xmm3
5 vfmaddpd (%rax), %xmm1, %xmm2, %xmm3
6 vfmaddpd %xmm0, (%rax), %xmm2, %xmm3
8 vfmaddpd %ymm0, %ymm1, %ymm2, %ymm3
9 vfmaddpd (%rax), %ymm1, %ymm2, %ymm3
10 vfmaddpd %ymm0, (%rax), %ymm2, %ymm3
12 vfmaddps %xmm0, %xmm1, %xmm2, %xmm3
13 vfmaddps (%rax), %xmm1, %xmm2, %xmm3
14 vfmaddps %xmm0, (%rax), %xmm2, %xmm3
16 vfmaddps %ymm0, %ymm1, %ymm2, %ymm3
17 vfmaddps (%rax), %ymm1, %ymm2, %ymm3
18 vfmaddps %ymm0, (%rax), %ymm2, %ymm3
20 vfmaddsd %xmm0, %xmm1, %xmm2, %xmm3
21 vfmaddsd (%rax), %xmm1, %xmm2, %xmm3
22 vfmaddsd %xmm0, (%rax), %xmm2, %xmm3
24 vfmaddss %xmm0, %xmm1, %xmm2, %xmm3
25 vfmaddss (%rax), %xmm1, %xmm2, %xmm3
26 vfmaddss %xmm0, (%rax), %xmm2, %xmm3
28 vfmaddsubpd %xmm0, %xmm1, %xmm2, %xmm3
29 vfmaddsubpd (%rax), %xmm1, %xmm2, %xmm3
30 vfmaddsubpd %xmm0, (%rax), %xmm2, %xmm3
32 vfmaddsubpd %ymm0, %ymm1, %ymm2, %ymm3
33 vfmaddsubpd (%rax), %ymm1, %ymm2, %ymm3
34 vfmaddsubpd %ymm0, (%rax), %ymm2, %ymm3
36 vfmaddsubps %xmm0, %xmm1, %xmm2, %xmm3
37 vfmaddsubps (%rax), %xmm1, %xmm2, %xmm3
38 vfmaddsubps %xmm0, (%rax), %xmm2, %xmm3
40 vfmaddsubps %ymm0, %ymm1, %ymm2, %ymm3
41 vfmaddsubps (%rax), %ymm1, %ymm2, %ymm3
42 vfmaddsubps %ymm0, (%rax), %ymm2, %ymm3
44 vfmsubaddpd %xmm0, %xmm1, %xmm2, %xmm3
45 vfmsubaddpd (%rax), %xmm1, %xmm2, %xmm3
46 vfmsubaddpd %xmm0, (%rax), %xmm2, %xmm3
48 vfmsubaddpd %ymm0, %ymm1, %ymm2, %ymm3
49 vfmsubaddpd (%rax), %ymm1, %ymm2, %ymm3
50 vfmsubaddpd %ymm0, (%rax), %ymm2, %ymm3
52 vfmsubaddps %xmm0, %xmm1, %xmm2, %xmm3
53 vfmsubaddps (%rax), %xmm1, %xmm2, %xmm3
54 vfmsubaddps %xmm0, (%rax), %xmm2, %xmm3
56 vfmsubaddps %ymm0, %ymm1, %ymm2, %ymm3
57 vfmsubaddps (%rax), %ymm1, %ymm2, %ymm3
58 vfmsubaddps %ymm0, (%rax), %ymm2, %ymm3
60 vfmsubpd %xmm0, %xmm1, %xmm2, %xmm3
61 vfmsubpd (%rax), %xmm1, %xmm2, %xmm3
62 vfmsubpd %xmm0, (%rax), %xmm2, %xmm3
64 vfmsubpd %ymm0, %ymm1, %ymm2, %ymm3
65 vfmsubpd (%rax), %ymm1, %ymm2, %ymm3
66 vfmsubpd %ymm0, (%rax), %ymm2, %ymm3
68 vfmsubps %xmm0, %xmm1, %xmm2, %xmm3
69 vfmsubps (%rax), %xmm1, %xmm2, %xmm3
70 vfmsubps %xmm0, (%rax), %xmm2, %xmm3
72 vfmsubps %ymm0, %ymm1, %ymm2, %ymm3
73 vfmsubps (%rax), %ymm1, %ymm2, %ymm3
74 vfmsubps %ymm0, (%rax), %ymm2, %ymm3
76 vfmsubsd %xmm0, %xmm1, %xmm2, %xmm3
77 vfmsubsd (%rax), %xmm1, %xmm2, %xmm3
78 vfmsubsd %xmm0, (%rax), %xmm2, %xmm3
80 vfmsubss %xmm0, %xmm1, %xmm2, %xmm3
81 vfmsubss (%rax), %xmm1, %xmm2, %xmm3
82 vfmsubss %xmm0, (%rax), %xmm2, %xmm3
84 vfnmaddpd %xmm0, %xmm1, %xmm2, %xmm3
85 vfnmaddpd (%rax), %xmm1, %xmm2, %xmm3
86 vfnmaddpd %xmm0, (%rax), %xmm2, %xmm3
88 vfnmaddpd %ymm0, %ymm1, %ymm2, %ymm3
89 vfnmaddpd (%rax), %ymm1, %ymm2, %ymm3
90 vfnmaddpd %ymm0, (%rax), %ymm2, %ymm3
92 vfnmaddps %xmm0, %xmm1, %xmm2, %xmm3
93 vfnmaddps (%rax), %xmm1, %xmm2, %xmm3
94 vfnmaddps %xmm0, (%rax), %xmm2, %xmm3
96 vfnmaddps %ymm0, %ymm1, %ymm2, %ymm3
97 vfnmaddps (%rax), %ymm1, %ymm2, %ymm3
98 vfnmaddps %ymm0, (%rax), %ymm2, %ymm3
100 vfnmaddsd %xmm0, %xmm1, %xmm2, %xmm3
101 vfnmaddsd (%rax), %xmm1, %xmm2, %xmm3
102 vfnmaddsd %xmm0, (%rax), %xmm2, %xmm3
104 vfnmaddss %xmm0, %xmm1, %xmm2, %xmm3
105 vfnmaddss (%rax), %xmm1, %xmm2, %xmm3
106 vfnmaddss %xmm0, (%rax), %xmm2, %xmm3
108 vfnmsubpd %xmm0, %xmm1, %xmm2, %xmm3
109 vfnmsubpd (%rax), %xmm1, %xmm2, %xmm3
110 vfnmsubpd %xmm0, (%rax), %xmm2, %xmm3
112 vfnmsubpd %ymm0, %ymm1, %ymm2, %ymm3
113 vfnmsubpd (%rax), %ymm1, %ymm2, %ymm3
114 vfnmsubpd %ymm0, (%rax), %ymm2, %ymm3
116 vfnmsubps %xmm0, %xmm1, %xmm2, %xmm3
117 vfnmsubps (%rax), %xmm1, %xmm2, %xmm3
118 vfnmsubps %xmm0, (%rax), %xmm2, %xmm3
120 vfnmsubps %ymm0, %ymm1, %ymm2, %ymm3
121 vfnmsubps (%rax), %ymm1, %ymm2, %ymm3
122 vfnmsubps %ymm0, (%rax), %ymm2, %ymm3
124 vfnmsubsd %xmm0, %xmm1, %xmm2, %xmm3
125 vfnmsubsd (%rax), %xmm1, %xmm2, %xmm3
126 vfnmsubsd %xmm0, (%rax), %xmm2, %xmm3
128 vfnmsubss %xmm0, %xmm1, %xmm2, %xmm3
129 vfnmsubss (%rax), %xmm1, %xmm2, %xmm3
130 vfnmsubss %xmm0, (%rax), %xmm2, %xmm3
132 # CHECK: Instruction Info:
133 # CHECK-NEXT: [1]: #uOps
134 # CHECK-NEXT: [2]: Latency
135 # CHECK-NEXT: [3]: RThroughput
136 # CHECK-NEXT: [4]: MayLoad
137 # CHECK-NEXT: [5]: MayStore
138 # CHECK-NEXT: [6]: HasSideEffects (U)
140 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
141 # CHECK-NEXT: 1 5 1.50 vfmaddpd %xmm0, %xmm1, %xmm2, %xmm3
142 # CHECK-NEXT: 1 10 1.50 * vfmaddpd (%rax), %xmm1, %xmm2, %xmm3
143 # CHECK-NEXT: 1 10 1.50 * vfmaddpd %xmm0, (%rax), %xmm2, %xmm3
144 # CHECK-NEXT: 2 5 1.50 vfmaddpd %ymm0, %ymm1, %ymm2, %ymm3
145 # CHECK-NEXT: 2 10 1.50 * vfmaddpd (%rax), %ymm1, %ymm2, %ymm3
146 # CHECK-NEXT: 2 10 1.50 * vfmaddpd %ymm0, (%rax), %ymm2, %ymm3
147 # CHECK-NEXT: 1 5 1.50 vfmaddps %xmm0, %xmm1, %xmm2, %xmm3
148 # CHECK-NEXT: 1 10 1.50 * vfmaddps (%rax), %xmm1, %xmm2, %xmm3
149 # CHECK-NEXT: 1 10 1.50 * vfmaddps %xmm0, (%rax), %xmm2, %xmm3
150 # CHECK-NEXT: 2 5 1.50 vfmaddps %ymm0, %ymm1, %ymm2, %ymm3
151 # CHECK-NEXT: 2 10 1.50 * vfmaddps (%rax), %ymm1, %ymm2, %ymm3
152 # CHECK-NEXT: 2 10 1.50 * vfmaddps %ymm0, (%rax), %ymm2, %ymm3
153 # CHECK-NEXT: 1 5 1.50 vfmaddsd %xmm0, %xmm1, %xmm2, %xmm3
154 # CHECK-NEXT: 1 10 1.50 * vfmaddsd (%rax), %xmm1, %xmm2, %xmm3
155 # CHECK-NEXT: 1 10 1.50 * vfmaddsd %xmm0, (%rax), %xmm2, %xmm3
156 # CHECK-NEXT: 1 5 1.50 vfmaddss %xmm0, %xmm1, %xmm2, %xmm3
157 # CHECK-NEXT: 1 10 1.50 * vfmaddss (%rax), %xmm1, %xmm2, %xmm3
158 # CHECK-NEXT: 1 10 1.50 * vfmaddss %xmm0, (%rax), %xmm2, %xmm3
159 # CHECK-NEXT: 1 5 1.50 vfmaddsubpd %xmm0, %xmm1, %xmm2, %xmm3
160 # CHECK-NEXT: 1 10 1.50 * vfmaddsubpd (%rax), %xmm1, %xmm2, %xmm3
161 # CHECK-NEXT: 1 10 1.50 * vfmaddsubpd %xmm0, (%rax), %xmm2, %xmm3
162 # CHECK-NEXT: 2 5 1.50 vfmaddsubpd %ymm0, %ymm1, %ymm2, %ymm3
163 # CHECK-NEXT: 2 10 1.50 * vfmaddsubpd (%rax), %ymm1, %ymm2, %ymm3
164 # CHECK-NEXT: 2 10 1.50 * vfmaddsubpd %ymm0, (%rax), %ymm2, %ymm3
165 # CHECK-NEXT: 1 5 1.50 vfmaddsubps %xmm0, %xmm1, %xmm2, %xmm3
166 # CHECK-NEXT: 1 10 1.50 * vfmaddsubps (%rax), %xmm1, %xmm2, %xmm3
167 # CHECK-NEXT: 1 10 1.50 * vfmaddsubps %xmm0, (%rax), %xmm2, %xmm3
168 # CHECK-NEXT: 2 5 1.50 vfmaddsubps %ymm0, %ymm1, %ymm2, %ymm3
169 # CHECK-NEXT: 2 10 1.50 * vfmaddsubps (%rax), %ymm1, %ymm2, %ymm3
170 # CHECK-NEXT: 2 10 1.50 * vfmaddsubps %ymm0, (%rax), %ymm2, %ymm3
171 # CHECK-NEXT: 1 5 1.50 vfmsubaddpd %xmm0, %xmm1, %xmm2, %xmm3
172 # CHECK-NEXT: 1 10 1.50 * vfmsubaddpd (%rax), %xmm1, %xmm2, %xmm3
173 # CHECK-NEXT: 1 10 1.50 * vfmsubaddpd %xmm0, (%rax), %xmm2, %xmm3
174 # CHECK-NEXT: 2 5 1.50 vfmsubaddpd %ymm0, %ymm1, %ymm2, %ymm3
175 # CHECK-NEXT: 2 10 1.50 * vfmsubaddpd (%rax), %ymm1, %ymm2, %ymm3
176 # CHECK-NEXT: 2 10 1.50 * vfmsubaddpd %ymm0, (%rax), %ymm2, %ymm3
177 # CHECK-NEXT: 1 5 1.50 vfmsubaddps %xmm0, %xmm1, %xmm2, %xmm3
178 # CHECK-NEXT: 1 10 1.50 * vfmsubaddps (%rax), %xmm1, %xmm2, %xmm3
179 # CHECK-NEXT: 1 10 1.50 * vfmsubaddps %xmm0, (%rax), %xmm2, %xmm3
180 # CHECK-NEXT: 2 5 1.50 vfmsubaddps %ymm0, %ymm1, %ymm2, %ymm3
181 # CHECK-NEXT: 2 10 1.50 * vfmsubaddps (%rax), %ymm1, %ymm2, %ymm3
182 # CHECK-NEXT: 2 10 1.50 * vfmsubaddps %ymm0, (%rax), %ymm2, %ymm3
183 # CHECK-NEXT: 1 5 1.50 vfmsubpd %xmm0, %xmm1, %xmm2, %xmm3
184 # CHECK-NEXT: 1 10 1.50 * vfmsubpd (%rax), %xmm1, %xmm2, %xmm3
185 # CHECK-NEXT: 1 10 1.50 * vfmsubpd %xmm0, (%rax), %xmm2, %xmm3
186 # CHECK-NEXT: 2 5 1.50 vfmsubpd %ymm0, %ymm1, %ymm2, %ymm3
187 # CHECK-NEXT: 2 10 1.50 * vfmsubpd (%rax), %ymm1, %ymm2, %ymm3
188 # CHECK-NEXT: 2 10 1.50 * vfmsubpd %ymm0, (%rax), %ymm2, %ymm3
189 # CHECK-NEXT: 1 5 1.50 vfmsubps %xmm0, %xmm1, %xmm2, %xmm3
190 # CHECK-NEXT: 1 10 1.50 * vfmsubps (%rax), %xmm1, %xmm2, %xmm3
191 # CHECK-NEXT: 1 10 1.50 * vfmsubps %xmm0, (%rax), %xmm2, %xmm3
192 # CHECK-NEXT: 2 5 1.50 vfmsubps %ymm0, %ymm1, %ymm2, %ymm3
193 # CHECK-NEXT: 2 10 1.50 * vfmsubps (%rax), %ymm1, %ymm2, %ymm3
194 # CHECK-NEXT: 2 10 1.50 * vfmsubps %ymm0, (%rax), %ymm2, %ymm3
195 # CHECK-NEXT: 1 5 1.50 vfmsubsd %xmm0, %xmm1, %xmm2, %xmm3
196 # CHECK-NEXT: 1 10 1.50 * vfmsubsd (%rax), %xmm1, %xmm2, %xmm3
197 # CHECK-NEXT: 1 10 1.50 * vfmsubsd %xmm0, (%rax), %xmm2, %xmm3
198 # CHECK-NEXT: 1 5 1.50 vfmsubss %xmm0, %xmm1, %xmm2, %xmm3
199 # CHECK-NEXT: 1 10 1.50 * vfmsubss (%rax), %xmm1, %xmm2, %xmm3
200 # CHECK-NEXT: 1 10 1.50 * vfmsubss %xmm0, (%rax), %xmm2, %xmm3
201 # CHECK-NEXT: 1 5 1.50 vfnmaddpd %xmm0, %xmm1, %xmm2, %xmm3
202 # CHECK-NEXT: 1 10 1.50 * vfnmaddpd (%rax), %xmm1, %xmm2, %xmm3
203 # CHECK-NEXT: 1 10 1.50 * vfnmaddpd %xmm0, (%rax), %xmm2, %xmm3
204 # CHECK-NEXT: 2 5 1.50 vfnmaddpd %ymm0, %ymm1, %ymm2, %ymm3
205 # CHECK-NEXT: 2 10 1.50 * vfnmaddpd (%rax), %ymm1, %ymm2, %ymm3
206 # CHECK-NEXT: 2 10 1.50 * vfnmaddpd %ymm0, (%rax), %ymm2, %ymm3
207 # CHECK-NEXT: 1 5 1.50 vfnmaddps %xmm0, %xmm1, %xmm2, %xmm3
208 # CHECK-NEXT: 1 10 1.50 * vfnmaddps (%rax), %xmm1, %xmm2, %xmm3
209 # CHECK-NEXT: 1 10 1.50 * vfnmaddps %xmm0, (%rax), %xmm2, %xmm3
210 # CHECK-NEXT: 2 5 1.50 vfnmaddps %ymm0, %ymm1, %ymm2, %ymm3
211 # CHECK-NEXT: 2 10 1.50 * vfnmaddps (%rax), %ymm1, %ymm2, %ymm3
212 # CHECK-NEXT: 2 10 1.50 * vfnmaddps %ymm0, (%rax), %ymm2, %ymm3
213 # CHECK-NEXT: 1 5 1.50 vfnmaddsd %xmm0, %xmm1, %xmm2, %xmm3
214 # CHECK-NEXT: 1 10 1.50 * vfnmaddsd (%rax), %xmm1, %xmm2, %xmm3
215 # CHECK-NEXT: 1 10 1.50 * vfnmaddsd %xmm0, (%rax), %xmm2, %xmm3
216 # CHECK-NEXT: 1 5 1.50 vfnmaddss %xmm0, %xmm1, %xmm2, %xmm3
217 # CHECK-NEXT: 1 10 1.50 * vfnmaddss (%rax), %xmm1, %xmm2, %xmm3
218 # CHECK-NEXT: 1 10 1.50 * vfnmaddss %xmm0, (%rax), %xmm2, %xmm3
219 # CHECK-NEXT: 1 5 1.50 vfnmsubpd %xmm0, %xmm1, %xmm2, %xmm3
220 # CHECK-NEXT: 1 10 1.50 * vfnmsubpd (%rax), %xmm1, %xmm2, %xmm3
221 # CHECK-NEXT: 1 10 1.50 * vfnmsubpd %xmm0, (%rax), %xmm2, %xmm3
222 # CHECK-NEXT: 2 5 1.50 vfnmsubpd %ymm0, %ymm1, %ymm2, %ymm3
223 # CHECK-NEXT: 2 10 1.50 * vfnmsubpd (%rax), %ymm1, %ymm2, %ymm3
224 # CHECK-NEXT: 2 10 1.50 * vfnmsubpd %ymm0, (%rax), %ymm2, %ymm3
225 # CHECK-NEXT: 1 5 1.50 vfnmsubps %xmm0, %xmm1, %xmm2, %xmm3
226 # CHECK-NEXT: 1 10 1.50 * vfnmsubps (%rax), %xmm1, %xmm2, %xmm3
227 # CHECK-NEXT: 1 10 1.50 * vfnmsubps %xmm0, (%rax), %xmm2, %xmm3
228 # CHECK-NEXT: 2 5 1.50 vfnmsubps %ymm0, %ymm1, %ymm2, %ymm3
229 # CHECK-NEXT: 2 10 1.50 * vfnmsubps (%rax), %ymm1, %ymm2, %ymm3
230 # CHECK-NEXT: 2 10 1.50 * vfnmsubps %ymm0, (%rax), %ymm2, %ymm3
231 # CHECK-NEXT: 1 5 1.50 vfnmsubsd %xmm0, %xmm1, %xmm2, %xmm3
232 # CHECK-NEXT: 1 10 1.50 * vfnmsubsd (%rax), %xmm1, %xmm2, %xmm3
233 # CHECK-NEXT: 1 10 1.50 * vfnmsubsd %xmm0, (%rax), %xmm2, %xmm3
234 # CHECK-NEXT: 1 5 1.50 vfnmsubss %xmm0, %xmm1, %xmm2, %xmm3
235 # CHECK-NEXT: 1 10 1.50 * vfnmsubss (%rax), %xmm1, %xmm2, %xmm3
236 # CHECK-NEXT: 1 10 1.50 * vfnmsubss %xmm0, (%rax), %xmm2, %xmm3
238 # CHECK: Resources:
239 # CHECK-NEXT: [0.0] - PdAGLU01
240 # CHECK-NEXT: [0.1] - PdAGLU01
241 # CHECK-NEXT: [1] - PdBranch
242 # CHECK-NEXT: [2] - PdCount
243 # CHECK-NEXT: [3] - PdDiv
244 # CHECK-NEXT: [4] - PdEX0
245 # CHECK-NEXT: [5] - PdEX1
246 # CHECK-NEXT: [6] - PdFPCVT
247 # CHECK-NEXT: [7.0] - PdFPFMA
248 # CHECK-NEXT: [7.1] - PdFPFMA
249 # CHECK-NEXT: [8.0] - PdFPMAL
250 # CHECK-NEXT: [8.1] - PdFPMAL
251 # CHECK-NEXT: [9] - PdFPMMA
252 # CHECK-NEXT: [10] - PdFPSTO
253 # CHECK-NEXT: [11] - PdFPU0
254 # CHECK-NEXT: [12] - PdFPU1
255 # CHECK-NEXT: [13] - PdFPU2
256 # CHECK-NEXT: [14] - PdFPU3
257 # CHECK-NEXT: [15] - PdFPXBR
258 # CHECK-NEXT: [16.0] - PdLoad
259 # CHECK-NEXT: [16.1] - PdLoad
260 # CHECK-NEXT: [17] - PdMul
261 # CHECK-NEXT: [18] - PdStore
263 # CHECK: Resource pressure per iteration:
264 # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
265 # CHECK-NEXT: 96.00 96.00 - - - - - - 144.00 144.00 - - - - 24.00 24.00 24.00 24.00 - 96.00 96.00 - -
267 # CHECK: Resource pressure by instruction:
268 # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
269 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddpd %xmm0, %xmm1, %xmm2, %xmm3
270 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddpd (%rax), %xmm1, %xmm2, %xmm3
271 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddpd %xmm0, (%rax), %xmm2, %xmm3
272 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddpd %ymm0, %ymm1, %ymm2, %ymm3
273 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddpd (%rax), %ymm1, %ymm2, %ymm3
274 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddpd %ymm0, (%rax), %ymm2, %ymm3
275 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddps %xmm0, %xmm1, %xmm2, %xmm3
276 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddps (%rax), %xmm1, %xmm2, %xmm3
277 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddps %xmm0, (%rax), %xmm2, %xmm3
278 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddps %ymm0, %ymm1, %ymm2, %ymm3
279 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddps (%rax), %ymm1, %ymm2, %ymm3
280 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddps %ymm0, (%rax), %ymm2, %ymm3
281 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddsd %xmm0, %xmm1, %xmm2, %xmm3
282 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsd (%rax), %xmm1, %xmm2, %xmm3
283 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsd %xmm0, (%rax), %xmm2, %xmm3
284 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddss %xmm0, %xmm1, %xmm2, %xmm3
285 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddss (%rax), %xmm1, %xmm2, %xmm3
286 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddss %xmm0, (%rax), %xmm2, %xmm3
287 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddsubpd %xmm0, %xmm1, %xmm2, %xmm3
288 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubpd (%rax), %xmm1, %xmm2, %xmm3
289 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubpd %xmm0, (%rax), %xmm2, %xmm3
290 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddsubpd %ymm0, %ymm1, %ymm2, %ymm3
291 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubpd (%rax), %ymm1, %ymm2, %ymm3
292 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubpd %ymm0, (%rax), %ymm2, %ymm3
293 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddsubps %xmm0, %xmm1, %xmm2, %xmm3
294 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubps (%rax), %xmm1, %xmm2, %xmm3
295 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubps %xmm0, (%rax), %xmm2, %xmm3
296 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmaddsubps %ymm0, %ymm1, %ymm2, %ymm3
297 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubps (%rax), %ymm1, %ymm2, %ymm3
298 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmaddsubps %ymm0, (%rax), %ymm2, %ymm3
299 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubaddpd %xmm0, %xmm1, %xmm2, %xmm3
300 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddpd (%rax), %xmm1, %xmm2, %xmm3
301 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddpd %xmm0, (%rax), %xmm2, %xmm3
302 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubaddpd %ymm0, %ymm1, %ymm2, %ymm3
303 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddpd (%rax), %ymm1, %ymm2, %ymm3
304 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddpd %ymm0, (%rax), %ymm2, %ymm3
305 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubaddps %xmm0, %xmm1, %xmm2, %xmm3
306 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddps (%rax), %xmm1, %xmm2, %xmm3
307 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddps %xmm0, (%rax), %xmm2, %xmm3
308 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubaddps %ymm0, %ymm1, %ymm2, %ymm3
309 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddps (%rax), %ymm1, %ymm2, %ymm3
310 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubaddps %ymm0, (%rax), %ymm2, %ymm3
311 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubpd %xmm0, %xmm1, %xmm2, %xmm3
312 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubpd (%rax), %xmm1, %xmm2, %xmm3
313 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubpd %xmm0, (%rax), %xmm2, %xmm3
314 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubpd %ymm0, %ymm1, %ymm2, %ymm3
315 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubpd (%rax), %ymm1, %ymm2, %ymm3
316 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubpd %ymm0, (%rax), %ymm2, %ymm3
317 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubps %xmm0, %xmm1, %xmm2, %xmm3
318 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubps (%rax), %xmm1, %xmm2, %xmm3
319 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubps %xmm0, (%rax), %xmm2, %xmm3
320 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubps %ymm0, %ymm1, %ymm2, %ymm3
321 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubps (%rax), %ymm1, %ymm2, %ymm3
322 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubps %ymm0, (%rax), %ymm2, %ymm3
323 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubsd %xmm0, %xmm1, %xmm2, %xmm3
324 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubsd (%rax), %xmm1, %xmm2, %xmm3
325 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubsd %xmm0, (%rax), %xmm2, %xmm3
326 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfmsubss %xmm0, %xmm1, %xmm2, %xmm3
327 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubss (%rax), %xmm1, %xmm2, %xmm3
328 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfmsubss %xmm0, (%rax), %xmm2, %xmm3
329 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmaddpd %xmm0, %xmm1, %xmm2, %xmm3
330 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddpd (%rax), %xmm1, %xmm2, %xmm3
331 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddpd %xmm0, (%rax), %xmm2, %xmm3
332 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmaddpd %ymm0, %ymm1, %ymm2, %ymm3
333 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddpd (%rax), %ymm1, %ymm2, %ymm3
334 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddpd %ymm0, (%rax), %ymm2, %ymm3
335 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmaddps %xmm0, %xmm1, %xmm2, %xmm3
336 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddps (%rax), %xmm1, %xmm2, %xmm3
337 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddps %xmm0, (%rax), %xmm2, %xmm3
338 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmaddps %ymm0, %ymm1, %ymm2, %ymm3
339 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddps (%rax), %ymm1, %ymm2, %ymm3
340 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddps %ymm0, (%rax), %ymm2, %ymm3
341 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmaddsd %xmm0, %xmm1, %xmm2, %xmm3
342 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddsd (%rax), %xmm1, %xmm2, %xmm3
343 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddsd %xmm0, (%rax), %xmm2, %xmm3
344 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmaddss %xmm0, %xmm1, %xmm2, %xmm3
345 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddss (%rax), %xmm1, %xmm2, %xmm3
346 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmaddss %xmm0, (%rax), %xmm2, %xmm3
347 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmsubpd %xmm0, %xmm1, %xmm2, %xmm3
348 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubpd (%rax), %xmm1, %xmm2, %xmm3
349 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubpd %xmm0, (%rax), %xmm2, %xmm3
350 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmsubpd %ymm0, %ymm1, %ymm2, %ymm3
351 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubpd (%rax), %ymm1, %ymm2, %ymm3
352 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubpd %ymm0, (%rax), %ymm2, %ymm3
353 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmsubps %xmm0, %xmm1, %xmm2, %xmm3
354 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubps (%rax), %xmm1, %xmm2, %xmm3
355 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubps %xmm0, (%rax), %xmm2, %xmm3
356 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmsubps %ymm0, %ymm1, %ymm2, %ymm3
357 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubps (%rax), %ymm1, %ymm2, %ymm3
358 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubps %ymm0, (%rax), %ymm2, %ymm3
359 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmsubsd %xmm0, %xmm1, %xmm2, %xmm3
360 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubsd (%rax), %xmm1, %xmm2, %xmm3
361 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubsd %xmm0, (%rax), %xmm2, %xmm3
362 # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - - - - - vfnmsubss %xmm0, %xmm1, %xmm2, %xmm3
363 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubss (%rax), %xmm1, %xmm2, %xmm3
364 # CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.25 0.25 0.25 0.25 - 1.50 1.50 - - vfnmsubss %xmm0, (%rax), %xmm2, %xmm3