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 -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 0.50 vfmaddpd %xmm0, %xmm1, %xmm2, %xmm3
142 # CHECK-NEXT: 2 10 0.50 * vfmaddpd (%rax), %xmm1, %xmm2, %xmm3
143 # CHECK-NEXT: 2 10 0.50 * vfmaddpd %xmm0, (%rax), %xmm2, %xmm3
144 # CHECK-NEXT: 1 5 0.50 vfmaddpd %ymm0, %ymm1, %ymm2, %ymm3
145 # CHECK-NEXT: 2 10 0.50 * vfmaddpd (%rax), %ymm1, %ymm2, %ymm3
146 # CHECK-NEXT: 2 10 0.50 * vfmaddpd %ymm0, (%rax), %ymm2, %ymm3
147 # CHECK-NEXT: 1 5 0.50 vfmaddps %xmm0, %xmm1, %xmm2, %xmm3
148 # CHECK-NEXT: 2 10 0.50 * vfmaddps (%rax), %xmm1, %xmm2, %xmm3
149 # CHECK-NEXT: 2 10 0.50 * vfmaddps %xmm0, (%rax), %xmm2, %xmm3
150 # CHECK-NEXT: 1 5 0.50 vfmaddps %ymm0, %ymm1, %ymm2, %ymm3
151 # CHECK-NEXT: 2 10 0.50 * vfmaddps (%rax), %ymm1, %ymm2, %ymm3
152 # CHECK-NEXT: 2 10 0.50 * vfmaddps %ymm0, (%rax), %ymm2, %ymm3
153 # CHECK-NEXT: 1 5 0.50 vfmaddsd %xmm0, %xmm1, %xmm2, %xmm3
154 # CHECK-NEXT: 2 10 0.50 * vfmaddsd (%rax), %xmm1, %xmm2, %xmm3
155 # CHECK-NEXT: 2 10 0.50 * vfmaddsd %xmm0, (%rax), %xmm2, %xmm3
156 # CHECK-NEXT: 1 5 0.50 vfmaddss %xmm0, %xmm1, %xmm2, %xmm3
157 # CHECK-NEXT: 2 10 0.50 * vfmaddss (%rax), %xmm1, %xmm2, %xmm3
158 # CHECK-NEXT: 2 10 0.50 * vfmaddss %xmm0, (%rax), %xmm2, %xmm3
159 # CHECK-NEXT: 1 5 0.50 vfmaddsubpd %xmm0, %xmm1, %xmm2, %xmm3
160 # CHECK-NEXT: 2 10 0.50 * vfmaddsubpd (%rax), %xmm1, %xmm2, %xmm3
161 # CHECK-NEXT: 2 10 0.50 * vfmaddsubpd %xmm0, (%rax), %xmm2, %xmm3
162 # CHECK-NEXT: 1 5 0.50 vfmaddsubpd %ymm0, %ymm1, %ymm2, %ymm3
163 # CHECK-NEXT: 2 10 0.50 * vfmaddsubpd (%rax), %ymm1, %ymm2, %ymm3
164 # CHECK-NEXT: 2 10 0.50 * vfmaddsubpd %ymm0, (%rax), %ymm2, %ymm3
165 # CHECK-NEXT: 1 5 0.50 vfmaddsubps %xmm0, %xmm1, %xmm2, %xmm3
166 # CHECK-NEXT: 2 10 0.50 * vfmaddsubps (%rax), %xmm1, %xmm2, %xmm3
167 # CHECK-NEXT: 2 10 0.50 * vfmaddsubps %xmm0, (%rax), %xmm2, %xmm3
168 # CHECK-NEXT: 1 5 0.50 vfmaddsubps %ymm0, %ymm1, %ymm2, %ymm3
169 # CHECK-NEXT: 2 10 0.50 * vfmaddsubps (%rax), %ymm1, %ymm2, %ymm3
170 # CHECK-NEXT: 2 10 0.50 * vfmaddsubps %ymm0, (%rax), %ymm2, %ymm3
171 # CHECK-NEXT: 1 5 0.50 vfmsubaddpd %xmm0, %xmm1, %xmm2, %xmm3
172 # CHECK-NEXT: 2 10 0.50 * vfmsubaddpd (%rax), %xmm1, %xmm2, %xmm3
173 # CHECK-NEXT: 2 10 0.50 * vfmsubaddpd %xmm0, (%rax), %xmm2, %xmm3
174 # CHECK-NEXT: 1 5 0.50 vfmsubaddpd %ymm0, %ymm1, %ymm2, %ymm3
175 # CHECK-NEXT: 2 10 0.50 * vfmsubaddpd (%rax), %ymm1, %ymm2, %ymm3
176 # CHECK-NEXT: 2 10 0.50 * vfmsubaddpd %ymm0, (%rax), %ymm2, %ymm3
177 # CHECK-NEXT: 1 5 0.50 vfmsubaddps %xmm0, %xmm1, %xmm2, %xmm3
178 # CHECK-NEXT: 2 10 0.50 * vfmsubaddps (%rax), %xmm1, %xmm2, %xmm3
179 # CHECK-NEXT: 2 10 0.50 * vfmsubaddps %xmm0, (%rax), %xmm2, %xmm3
180 # CHECK-NEXT: 1 5 0.50 vfmsubaddps %ymm0, %ymm1, %ymm2, %ymm3
181 # CHECK-NEXT: 2 10 0.50 * vfmsubaddps (%rax), %ymm1, %ymm2, %ymm3
182 # CHECK-NEXT: 2 10 0.50 * vfmsubaddps %ymm0, (%rax), %ymm2, %ymm3
183 # CHECK-NEXT: 1 5 0.50 vfmsubpd %xmm0, %xmm1, %xmm2, %xmm3
184 # CHECK-NEXT: 2 10 0.50 * vfmsubpd (%rax), %xmm1, %xmm2, %xmm3
185 # CHECK-NEXT: 2 10 0.50 * vfmsubpd %xmm0, (%rax), %xmm2, %xmm3
186 # CHECK-NEXT: 1 5 0.50 vfmsubpd %ymm0, %ymm1, %ymm2, %ymm3
187 # CHECK-NEXT: 2 10 0.50 * vfmsubpd (%rax), %ymm1, %ymm2, %ymm3
188 # CHECK-NEXT: 2 10 0.50 * vfmsubpd %ymm0, (%rax), %ymm2, %ymm3
189 # CHECK-NEXT: 1 5 0.50 vfmsubps %xmm0, %xmm1, %xmm2, %xmm3
190 # CHECK-NEXT: 2 10 0.50 * vfmsubps (%rax), %xmm1, %xmm2, %xmm3
191 # CHECK-NEXT: 2 10 0.50 * vfmsubps %xmm0, (%rax), %xmm2, %xmm3
192 # CHECK-NEXT: 1 5 0.50 vfmsubps %ymm0, %ymm1, %ymm2, %ymm3
193 # CHECK-NEXT: 2 10 0.50 * vfmsubps (%rax), %ymm1, %ymm2, %ymm3
194 # CHECK-NEXT: 2 10 0.50 * vfmsubps %ymm0, (%rax), %ymm2, %ymm3
195 # CHECK-NEXT: 1 5 0.50 vfmsubsd %xmm0, %xmm1, %xmm2, %xmm3
196 # CHECK-NEXT: 2 10 0.50 * vfmsubsd (%rax), %xmm1, %xmm2, %xmm3
197 # CHECK-NEXT: 2 10 0.50 * vfmsubsd %xmm0, (%rax), %xmm2, %xmm3
198 # CHECK-NEXT: 1 5 0.50 vfmsubss %xmm0, %xmm1, %xmm2, %xmm3
199 # CHECK-NEXT: 2 10 0.50 * vfmsubss (%rax), %xmm1, %xmm2, %xmm3
200 # CHECK-NEXT: 2 10 0.50 * vfmsubss %xmm0, (%rax), %xmm2, %xmm3
201 # CHECK-NEXT: 1 5 0.50 vfnmaddpd %xmm0, %xmm1, %xmm2, %xmm3
202 # CHECK-NEXT: 2 10 0.50 * vfnmaddpd (%rax), %xmm1, %xmm2, %xmm3
203 # CHECK-NEXT: 2 10 0.50 * vfnmaddpd %xmm0, (%rax), %xmm2, %xmm3
204 # CHECK-NEXT: 1 5 0.50 vfnmaddpd %ymm0, %ymm1, %ymm2, %ymm3
205 # CHECK-NEXT: 2 10 0.50 * vfnmaddpd (%rax), %ymm1, %ymm2, %ymm3
206 # CHECK-NEXT: 2 10 0.50 * vfnmaddpd %ymm0, (%rax), %ymm2, %ymm3
207 # CHECK-NEXT: 1 5 0.50 vfnmaddps %xmm0, %xmm1, %xmm2, %xmm3
208 # CHECK-NEXT: 2 10 0.50 * vfnmaddps (%rax), %xmm1, %xmm2, %xmm3
209 # CHECK-NEXT: 2 10 0.50 * vfnmaddps %xmm0, (%rax), %xmm2, %xmm3
210 # CHECK-NEXT: 1 5 0.50 vfnmaddps %ymm0, %ymm1, %ymm2, %ymm3
211 # CHECK-NEXT: 2 10 0.50 * vfnmaddps (%rax), %ymm1, %ymm2, %ymm3
212 # CHECK-NEXT: 2 10 0.50 * vfnmaddps %ymm0, (%rax), %ymm2, %ymm3
213 # CHECK-NEXT: 1 5 0.50 vfnmaddsd %xmm0, %xmm1, %xmm2, %xmm3
214 # CHECK-NEXT: 2 10 0.50 * vfnmaddsd (%rax), %xmm1, %xmm2, %xmm3
215 # CHECK-NEXT: 2 10 0.50 * vfnmaddsd %xmm0, (%rax), %xmm2, %xmm3
216 # CHECK-NEXT: 1 5 0.50 vfnmaddss %xmm0, %xmm1, %xmm2, %xmm3
217 # CHECK-NEXT: 2 10 0.50 * vfnmaddss (%rax), %xmm1, %xmm2, %xmm3
218 # CHECK-NEXT: 2 10 0.50 * vfnmaddss %xmm0, (%rax), %xmm2, %xmm3
219 # CHECK-NEXT: 1 5 0.50 vfnmsubpd %xmm0, %xmm1, %xmm2, %xmm3
220 # CHECK-NEXT: 2 10 0.50 * vfnmsubpd (%rax), %xmm1, %xmm2, %xmm3
221 # CHECK-NEXT: 2 10 0.50 * vfnmsubpd %xmm0, (%rax), %xmm2, %xmm3
222 # CHECK-NEXT: 1 5 0.50 vfnmsubpd %ymm0, %ymm1, %ymm2, %ymm3
223 # CHECK-NEXT: 2 10 0.50 * vfnmsubpd (%rax), %ymm1, %ymm2, %ymm3
224 # CHECK-NEXT: 2 10 0.50 * vfnmsubpd %ymm0, (%rax), %ymm2, %ymm3
225 # CHECK-NEXT: 1 5 0.50 vfnmsubps %xmm0, %xmm1, %xmm2, %xmm3
226 # CHECK-NEXT: 2 10 0.50 * vfnmsubps (%rax), %xmm1, %xmm2, %xmm3
227 # CHECK-NEXT: 2 10 0.50 * vfnmsubps %xmm0, (%rax), %xmm2, %xmm3
228 # CHECK-NEXT: 1 5 0.50 vfnmsubps %ymm0, %ymm1, %ymm2, %ymm3
229 # CHECK-NEXT: 2 10 0.50 * vfnmsubps (%rax), %ymm1, %ymm2, %ymm3
230 # CHECK-NEXT: 2 10 0.50 * vfnmsubps %ymm0, (%rax), %ymm2, %ymm3
231 # CHECK-NEXT: 1 5 0.50 vfnmsubsd %xmm0, %xmm1, %xmm2, %xmm3
232 # CHECK-NEXT: 2 10 0.50 * vfnmsubsd (%rax), %xmm1, %xmm2, %xmm3
233 # CHECK-NEXT: 2 10 0.50 * vfnmsubsd %xmm0, (%rax), %xmm2, %xmm3
234 # CHECK-NEXT: 1 5 0.50 vfnmsubss %xmm0, %xmm1, %xmm2, %xmm3
235 # CHECK-NEXT: 2 10 0.50 * vfnmsubss (%rax), %xmm1, %xmm2, %xmm3
236 # CHECK-NEXT: 2 10 0.50 * vfnmsubss %xmm0, (%rax), %xmm2, %xmm3
239 # CHECK-NEXT: [0] - SBDivider
240 # CHECK-NEXT: [1] - SBFPDivider
241 # CHECK-NEXT: [2] - SBPort0
242 # CHECK-NEXT: [3] - SBPort1
243 # CHECK-NEXT: [4] - SBPort4
244 # CHECK-NEXT: [5] - SBPort5
245 # CHECK-NEXT: [6.0] - SBPort23
246 # CHECK-NEXT: [6.1] - SBPort23
248 # CHECK: Resource pressure per iteration:
249 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
250 # CHECK-NEXT: - - 48.00 48.00 - - 32.00 32.00
252 # CHECK: Resource pressure by instruction:
253 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
254 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddpd %xmm0, %xmm1, %xmm2, %xmm3
255 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddpd (%rax), %xmm1, %xmm2, %xmm3
256 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddpd %xmm0, (%rax), %xmm2, %xmm3
257 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddpd %ymm0, %ymm1, %ymm2, %ymm3
258 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddpd (%rax), %ymm1, %ymm2, %ymm3
259 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddpd %ymm0, (%rax), %ymm2, %ymm3
260 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddps %xmm0, %xmm1, %xmm2, %xmm3
261 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddps (%rax), %xmm1, %xmm2, %xmm3
262 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddps %xmm0, (%rax), %xmm2, %xmm3
263 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddps %ymm0, %ymm1, %ymm2, %ymm3
264 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddps (%rax), %ymm1, %ymm2, %ymm3
265 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddps %ymm0, (%rax), %ymm2, %ymm3
266 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddsd %xmm0, %xmm1, %xmm2, %xmm3
267 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsd (%rax), %xmm1, %xmm2, %xmm3
268 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsd %xmm0, (%rax), %xmm2, %xmm3
269 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddss %xmm0, %xmm1, %xmm2, %xmm3
270 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddss (%rax), %xmm1, %xmm2, %xmm3
271 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddss %xmm0, (%rax), %xmm2, %xmm3
272 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddsubpd %xmm0, %xmm1, %xmm2, %xmm3
273 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubpd (%rax), %xmm1, %xmm2, %xmm3
274 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubpd %xmm0, (%rax), %xmm2, %xmm3
275 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddsubpd %ymm0, %ymm1, %ymm2, %ymm3
276 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubpd (%rax), %ymm1, %ymm2, %ymm3
277 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubpd %ymm0, (%rax), %ymm2, %ymm3
278 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddsubps %xmm0, %xmm1, %xmm2, %xmm3
279 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubps (%rax), %xmm1, %xmm2, %xmm3
280 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubps %xmm0, (%rax), %xmm2, %xmm3
281 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmaddsubps %ymm0, %ymm1, %ymm2, %ymm3
282 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubps (%rax), %ymm1, %ymm2, %ymm3
283 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmaddsubps %ymm0, (%rax), %ymm2, %ymm3
284 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubaddpd %xmm0, %xmm1, %xmm2, %xmm3
285 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddpd (%rax), %xmm1, %xmm2, %xmm3
286 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddpd %xmm0, (%rax), %xmm2, %xmm3
287 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubaddpd %ymm0, %ymm1, %ymm2, %ymm3
288 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddpd (%rax), %ymm1, %ymm2, %ymm3
289 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddpd %ymm0, (%rax), %ymm2, %ymm3
290 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubaddps %xmm0, %xmm1, %xmm2, %xmm3
291 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddps (%rax), %xmm1, %xmm2, %xmm3
292 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddps %xmm0, (%rax), %xmm2, %xmm3
293 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubaddps %ymm0, %ymm1, %ymm2, %ymm3
294 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddps (%rax), %ymm1, %ymm2, %ymm3
295 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubaddps %ymm0, (%rax), %ymm2, %ymm3
296 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubpd %xmm0, %xmm1, %xmm2, %xmm3
297 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubpd (%rax), %xmm1, %xmm2, %xmm3
298 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubpd %xmm0, (%rax), %xmm2, %xmm3
299 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubpd %ymm0, %ymm1, %ymm2, %ymm3
300 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubpd (%rax), %ymm1, %ymm2, %ymm3
301 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubpd %ymm0, (%rax), %ymm2, %ymm3
302 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubps %xmm0, %xmm1, %xmm2, %xmm3
303 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubps (%rax), %xmm1, %xmm2, %xmm3
304 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubps %xmm0, (%rax), %xmm2, %xmm3
305 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubps %ymm0, %ymm1, %ymm2, %ymm3
306 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubps (%rax), %ymm1, %ymm2, %ymm3
307 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubps %ymm0, (%rax), %ymm2, %ymm3
308 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubsd %xmm0, %xmm1, %xmm2, %xmm3
309 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubsd (%rax), %xmm1, %xmm2, %xmm3
310 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubsd %xmm0, (%rax), %xmm2, %xmm3
311 # CHECK-NEXT: - - 0.50 0.50 - - - - vfmsubss %xmm0, %xmm1, %xmm2, %xmm3
312 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubss (%rax), %xmm1, %xmm2, %xmm3
313 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmsubss %xmm0, (%rax), %xmm2, %xmm3
314 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmaddpd %xmm0, %xmm1, %xmm2, %xmm3
315 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddpd (%rax), %xmm1, %xmm2, %xmm3
316 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddpd %xmm0, (%rax), %xmm2, %xmm3
317 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmaddpd %ymm0, %ymm1, %ymm2, %ymm3
318 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddpd (%rax), %ymm1, %ymm2, %ymm3
319 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddpd %ymm0, (%rax), %ymm2, %ymm3
320 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmaddps %xmm0, %xmm1, %xmm2, %xmm3
321 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddps (%rax), %xmm1, %xmm2, %xmm3
322 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddps %xmm0, (%rax), %xmm2, %xmm3
323 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmaddps %ymm0, %ymm1, %ymm2, %ymm3
324 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddps (%rax), %ymm1, %ymm2, %ymm3
325 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddps %ymm0, (%rax), %ymm2, %ymm3
326 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmaddsd %xmm0, %xmm1, %xmm2, %xmm3
327 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddsd (%rax), %xmm1, %xmm2, %xmm3
328 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddsd %xmm0, (%rax), %xmm2, %xmm3
329 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmaddss %xmm0, %xmm1, %xmm2, %xmm3
330 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddss (%rax), %xmm1, %xmm2, %xmm3
331 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmaddss %xmm0, (%rax), %xmm2, %xmm3
332 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmsubpd %xmm0, %xmm1, %xmm2, %xmm3
333 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubpd (%rax), %xmm1, %xmm2, %xmm3
334 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubpd %xmm0, (%rax), %xmm2, %xmm3
335 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmsubpd %ymm0, %ymm1, %ymm2, %ymm3
336 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubpd (%rax), %ymm1, %ymm2, %ymm3
337 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubpd %ymm0, (%rax), %ymm2, %ymm3
338 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmsubps %xmm0, %xmm1, %xmm2, %xmm3
339 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubps (%rax), %xmm1, %xmm2, %xmm3
340 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubps %xmm0, (%rax), %xmm2, %xmm3
341 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmsubps %ymm0, %ymm1, %ymm2, %ymm3
342 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubps (%rax), %ymm1, %ymm2, %ymm3
343 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubps %ymm0, (%rax), %ymm2, %ymm3
344 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmsubsd %xmm0, %xmm1, %xmm2, %xmm3
345 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubsd (%rax), %xmm1, %xmm2, %xmm3
346 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubsd %xmm0, (%rax), %xmm2, %xmm3
347 # CHECK-NEXT: - - 0.50 0.50 - - - - vfnmsubss %xmm0, %xmm1, %xmm2, %xmm3
348 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubss (%rax), %xmm1, %xmm2, %xmm3
349 # CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfnmsubss %xmm0, (%rax), %xmm2, %xmm3