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
3
4vfmaddpd    %xmm0, %xmm1, %xmm2, %xmm3
5vfmaddpd    (%rax), %xmm1, %xmm2, %xmm3
6vfmaddpd    %xmm0, (%rax), %xmm2, %xmm3
7
8vfmaddpd    %ymm0, %ymm1, %ymm2, %ymm3
9vfmaddpd    (%rax), %ymm1, %ymm2, %ymm3
10vfmaddpd    %ymm0, (%rax), %ymm2, %ymm3
11
12vfmaddps    %xmm0, %xmm1, %xmm2, %xmm3
13vfmaddps    (%rax), %xmm1, %xmm2, %xmm3
14vfmaddps    %xmm0, (%rax), %xmm2, %xmm3
15
16vfmaddps    %ymm0, %ymm1, %ymm2, %ymm3
17vfmaddps    (%rax), %ymm1, %ymm2, %ymm3
18vfmaddps    %ymm0, (%rax), %ymm2, %ymm3
19
20vfmaddsd    %xmm0, %xmm1, %xmm2, %xmm3
21vfmaddsd    (%rax), %xmm1, %xmm2, %xmm3
22vfmaddsd    %xmm0, (%rax), %xmm2, %xmm3
23
24vfmaddss    %xmm0, %xmm1, %xmm2, %xmm3
25vfmaddss    (%rax), %xmm1, %xmm2, %xmm3
26vfmaddss    %xmm0, (%rax), %xmm2, %xmm3
27
28vfmaddsubpd %xmm0, %xmm1, %xmm2, %xmm3
29vfmaddsubpd (%rax), %xmm1, %xmm2, %xmm3
30vfmaddsubpd %xmm0, (%rax), %xmm2, %xmm3
31
32vfmaddsubpd %ymm0, %ymm1, %ymm2, %ymm3
33vfmaddsubpd (%rax), %ymm1, %ymm2, %ymm3
34vfmaddsubpd %ymm0, (%rax), %ymm2, %ymm3
35
36vfmaddsubps %xmm0, %xmm1, %xmm2, %xmm3
37vfmaddsubps (%rax), %xmm1, %xmm2, %xmm3
38vfmaddsubps %xmm0, (%rax), %xmm2, %xmm3
39
40vfmaddsubps %ymm0, %ymm1, %ymm2, %ymm3
41vfmaddsubps (%rax), %ymm1, %ymm2, %ymm3
42vfmaddsubps %ymm0, (%rax), %ymm2, %ymm3
43
44vfmsubaddpd %xmm0, %xmm1, %xmm2, %xmm3
45vfmsubaddpd (%rax), %xmm1, %xmm2, %xmm3
46vfmsubaddpd %xmm0, (%rax), %xmm2, %xmm3
47
48vfmsubaddpd %ymm0, %ymm1, %ymm2, %ymm3
49vfmsubaddpd (%rax), %ymm1, %ymm2, %ymm3
50vfmsubaddpd %ymm0, (%rax), %ymm2, %ymm3
51
52vfmsubaddps %xmm0, %xmm1, %xmm2, %xmm3
53vfmsubaddps (%rax), %xmm1, %xmm2, %xmm3
54vfmsubaddps %xmm0, (%rax), %xmm2, %xmm3
55
56vfmsubaddps %ymm0, %ymm1, %ymm2, %ymm3
57vfmsubaddps (%rax), %ymm1, %ymm2, %ymm3
58vfmsubaddps %ymm0, (%rax), %ymm2, %ymm3
59
60vfmsubpd    %xmm0, %xmm1, %xmm2, %xmm3
61vfmsubpd    (%rax), %xmm1, %xmm2, %xmm3
62vfmsubpd    %xmm0, (%rax), %xmm2, %xmm3
63
64vfmsubpd    %ymm0, %ymm1, %ymm2, %ymm3
65vfmsubpd    (%rax), %ymm1, %ymm2, %ymm3
66vfmsubpd    %ymm0, (%rax), %ymm2, %ymm3
67
68vfmsubps    %xmm0, %xmm1, %xmm2, %xmm3
69vfmsubps    (%rax), %xmm1, %xmm2, %xmm3
70vfmsubps    %xmm0, (%rax), %xmm2, %xmm3
71
72vfmsubps    %ymm0, %ymm1, %ymm2, %ymm3
73vfmsubps    (%rax), %ymm1, %ymm2, %ymm3
74vfmsubps    %ymm0, (%rax), %ymm2, %ymm3
75
76vfmsubsd    %xmm0, %xmm1, %xmm2, %xmm3
77vfmsubsd    (%rax), %xmm1, %xmm2, %xmm3
78vfmsubsd    %xmm0, (%rax), %xmm2, %xmm3
79
80vfmsubss    %xmm0, %xmm1, %xmm2, %xmm3
81vfmsubss    (%rax), %xmm1, %xmm2, %xmm3
82vfmsubss    %xmm0, (%rax), %xmm2, %xmm3
83
84vfnmaddpd   %xmm0, %xmm1, %xmm2, %xmm3
85vfnmaddpd   (%rax), %xmm1, %xmm2, %xmm3
86vfnmaddpd   %xmm0, (%rax), %xmm2, %xmm3
87
88vfnmaddpd   %ymm0, %ymm1, %ymm2, %ymm3
89vfnmaddpd   (%rax), %ymm1, %ymm2, %ymm3
90vfnmaddpd   %ymm0, (%rax), %ymm2, %ymm3
91
92vfnmaddps   %xmm0, %xmm1, %xmm2, %xmm3
93vfnmaddps   (%rax), %xmm1, %xmm2, %xmm3
94vfnmaddps   %xmm0, (%rax), %xmm2, %xmm3
95
96vfnmaddps   %ymm0, %ymm1, %ymm2, %ymm3
97vfnmaddps   (%rax), %ymm1, %ymm2, %ymm3
98vfnmaddps   %ymm0, (%rax), %ymm2, %ymm3
99
100vfnmaddsd   %xmm0, %xmm1, %xmm2, %xmm3
101vfnmaddsd   (%rax), %xmm1, %xmm2, %xmm3
102vfnmaddsd   %xmm0, (%rax), %xmm2, %xmm3
103
104vfnmaddss   %xmm0, %xmm1, %xmm2, %xmm3
105vfnmaddss   (%rax), %xmm1, %xmm2, %xmm3
106vfnmaddss   %xmm0, (%rax), %xmm2, %xmm3
107
108vfnmsubpd   %xmm0, %xmm1, %xmm2, %xmm3
109vfnmsubpd   (%rax), %xmm1, %xmm2, %xmm3
110vfnmsubpd   %xmm0, (%rax), %xmm2, %xmm3
111
112vfnmsubpd   %ymm0, %ymm1, %ymm2, %ymm3
113vfnmsubpd   (%rax), %ymm1, %ymm2, %ymm3
114vfnmsubpd   %ymm0, (%rax), %ymm2, %ymm3
115
116vfnmsubps   %xmm0, %xmm1, %xmm2, %xmm3
117vfnmsubps   (%rax), %xmm1, %xmm2, %xmm3
118vfnmsubps   %xmm0, (%rax), %xmm2, %xmm3
119
120vfnmsubps   %ymm0, %ymm1, %ymm2, %ymm3
121vfnmsubps   (%rax), %ymm1, %ymm2, %ymm3
122vfnmsubps   %ymm0, (%rax), %ymm2, %ymm3
123
124vfnmsubsd   %xmm0, %xmm1, %xmm2, %xmm3
125vfnmsubsd   (%rax), %xmm1, %xmm2, %xmm3
126vfnmsubsd   %xmm0, (%rax), %xmm2, %xmm3
127
128vfnmsubss   %xmm0, %xmm1, %xmm2, %xmm3
129vfnmsubss   (%rax), %xmm1, %xmm2, %xmm3
130vfnmsubss   %xmm0, (%rax), %xmm2, %xmm3
131
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)
139
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
237
238# CHECK:      Resources:
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
247
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
251
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
350