1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
3
4addps       %xmm0, %xmm2
5addps       (%rax), %xmm2
6
7addss       %xmm0, %xmm2
8addss       (%rax), %xmm2
9
10andnps      %xmm0, %xmm2
11andnps      (%rax), %xmm2
12
13andps       %xmm0, %xmm2
14andps       (%rax), %xmm2
15
16cmpps       $0, %xmm0, %xmm2
17cmpps       $0, (%rax), %xmm2
18
19cmpss       $0, %xmm0, %xmm2
20cmpss       $0, (%rax), %xmm2
21
22comiss      %xmm0, %xmm1
23comiss      (%rax), %xmm1
24
25cvtpi2ps    %mm0, %xmm2
26cvtpi2ps    (%rax), %xmm2
27
28cvtps2pi    %xmm0, %mm2
29cvtps2pi    (%rax), %mm2
30
31cvtsi2ss    %ecx, %xmm2
32cvtsi2ss    %rcx, %xmm2
33cvtsi2ss    (%rax), %xmm2
34cvtsi2ss    (%rax), %xmm2
35
36cvtss2si    %xmm0, %ecx
37cvtss2si    %xmm0, %rcx
38cvtss2si    (%rax), %ecx
39cvtss2si    (%rax), %rcx
40
41cvttps2pi   %xmm0, %mm2
42cvttps2pi   (%rax), %mm2
43
44cvttss2si   %xmm0, %ecx
45cvttss2si   %xmm0, %rcx
46cvttss2si   (%rax), %ecx
47cvttss2si   (%rax), %rcx
48
49divps       %xmm0, %xmm2
50divps       (%rax), %xmm2
51
52divss       %xmm0, %xmm2
53divss       (%rax), %xmm2
54
55ldmxcsr     (%rax)
56
57maskmovq    %mm0, %mm1
58
59maxps       %xmm0, %xmm2
60maxps       (%rax), %xmm2
61
62maxss       %xmm0, %xmm2
63maxss       (%rax), %xmm2
64
65minps       %xmm0, %xmm2
66minps       (%rax), %xmm2
67
68minss       %xmm0, %xmm2
69minss       (%rax), %xmm2
70
71movaps      %xmm0, %xmm2
72movaps      %xmm0, (%rax)
73movaps      (%rax), %xmm2
74
75movhlps     %xmm0, %xmm2
76movlhps     %xmm0, %xmm2
77
78movhps      %xmm0, (%rax)
79movhps      (%rax), %xmm2
80
81movlps      %xmm0, (%rax)
82movlps      (%rax), %xmm2
83
84movmskps    %xmm0, %rcx
85
86movntps     %xmm0, (%rax)
87movntq      %mm0, (%rax)
88
89movss       %xmm0, %xmm2
90movss       %xmm0, (%rax)
91movss       (%rax), %xmm2
92
93movups      %xmm0, %xmm2
94movups      %xmm0, (%rax)
95movups      (%rax), %xmm2
96
97mulps       %xmm0, %xmm2
98mulps       (%rax), %xmm2
99
100mulss       %xmm0, %xmm2
101mulss       (%rax), %xmm2
102
103orps        %xmm0, %xmm2
104orps        (%rax), %xmm2
105
106pavgb       %mm0, %mm2
107pavgb       (%rax), %mm2
108
109pavgw       %mm0, %mm2
110pavgw       (%rax), %mm2
111
112pextrw      $1, %mm0, %rcx
113
114pinsrw      $1, %rax, %mm2
115pinsrw      $1, (%rax), %mm2
116
117pmaxsw      %mm0, %mm2
118pmaxsw      (%rax), %mm2
119
120pmaxub      %mm0, %mm2
121pmaxub      (%rax), %mm2
122
123pminsw      %mm0, %mm2
124pminsw      (%rax), %mm2
125
126pminub      %mm0, %mm2
127pminub      (%rax), %mm2
128
129pmovmskb    %mm0, %rcx
130
131pmulhuw     %mm0, %mm2
132pmulhuw     (%rax), %mm2
133
134prefetcht0  (%rax)
135prefetcht1  (%rax)
136prefetcht2  (%rax)
137prefetchnta (%rax)
138
139psadbw      %mm0, %mm2
140psadbw      (%rax), %mm2
141
142pshufw      $1, %mm0, %mm2
143pshufw      $1, (%rax), %mm2
144
145rcpps       %xmm0, %xmm2
146rcpps       (%rax), %xmm2
147
148rcpss       %xmm0, %xmm2
149rcpss       (%rax), %xmm2
150
151rsqrtps     %xmm0, %xmm2
152rsqrtps     (%rax), %xmm2
153
154rsqrtss     %xmm0, %xmm2
155rsqrtss     (%rax), %xmm2
156
157sfence
158
159shufps      $1, %xmm0, %xmm2
160shufps      $1, (%rax), %xmm2
161
162sqrtps      %xmm0, %xmm2
163sqrtps      (%rax), %xmm2
164
165sqrtss      %xmm0, %xmm2
166sqrtss      (%rax), %xmm2
167
168stmxcsr     (%rax)
169
170subps       %xmm0, %xmm2
171subps       (%rax), %xmm2
172
173subss       %xmm0, %xmm2
174subss       (%rax), %xmm2
175
176ucomiss     %xmm0, %xmm1
177ucomiss     (%rax), %xmm1
178
179unpckhps    %xmm0, %xmm2
180unpckhps    (%rax), %xmm2
181
182unpcklps    %xmm0, %xmm2
183unpcklps    (%rax), %xmm2
184
185xorps       %xmm0, %xmm2
186xorps       (%rax), %xmm2
187
188# CHECK:      Instruction Info:
189# CHECK-NEXT: [1]: #uOps
190# CHECK-NEXT: [2]: Latency
191# CHECK-NEXT: [3]: RThroughput
192# CHECK-NEXT: [4]: MayLoad
193# CHECK-NEXT: [5]: MayStore
194# CHECK-NEXT: [6]: HasSideEffects (U)
195
196# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
197# CHECK-NEXT:  1      4     0.50                        addps	%xmm0, %xmm2
198# CHECK-NEXT:  2      10    0.50    *                   addps	(%rax), %xmm2
199# CHECK-NEXT:  1      4     0.50                        addss	%xmm0, %xmm2
200# CHECK-NEXT:  2      9     0.50    *                   addss	(%rax), %xmm2
201# CHECK-NEXT:  1      1     0.33                        andnps	%xmm0, %xmm2
202# CHECK-NEXT:  2      7     0.50    *                   andnps	(%rax), %xmm2
203# CHECK-NEXT:  1      1     0.33                        andps	%xmm0, %xmm2
204# CHECK-NEXT:  2      7     0.50    *                   andps	(%rax), %xmm2
205# CHECK-NEXT:  1      4     0.50                        cmpeqps	%xmm0, %xmm2
206# CHECK-NEXT:  2      10    0.50    *                   cmpeqps	(%rax), %xmm2
207# CHECK-NEXT:  1      4     0.50                        cmpeqss	%xmm0, %xmm2
208# CHECK-NEXT:  2      9     0.50    *                   cmpeqss	(%rax), %xmm2
209# CHECK-NEXT:  1      2     1.00                        comiss	%xmm0, %xmm1
210# CHECK-NEXT:  2      7     1.00    *                   comiss	(%rax), %xmm1
211# CHECK-NEXT:  2      6     2.00                        cvtpi2ps	%mm0, %xmm2
212# CHECK-NEXT:  2      9     1.00    *                   cvtpi2ps	(%rax), %xmm2
213# CHECK-NEXT:  2      5     1.00                        cvtps2pi	%xmm0, %mm2
214# CHECK-NEXT:  2      9     0.50    *                   cvtps2pi	(%rax), %mm2
215# CHECK-NEXT:  2      5     1.00                        cvtsi2ss	%ecx, %xmm2
216# CHECK-NEXT:  3      6     2.00                        cvtsi2ss	%rcx, %xmm2
217# CHECK-NEXT:  2      9     1.00    *                   cvtsi2ssl	(%rax), %xmm2
218# CHECK-NEXT:  2      9     1.00    *                   cvtsi2ssl	(%rax), %xmm2
219# CHECK-NEXT:  2      6     1.00                        cvtss2si	%xmm0, %ecx
220# CHECK-NEXT:  3      7     1.00                        cvtss2si	%xmm0, %rcx
221# CHECK-NEXT:  3      11    1.00    *                   cvtss2si	(%rax), %ecx
222# CHECK-NEXT:  3      11    1.00    *                   cvtss2si	(%rax), %rcx
223# CHECK-NEXT:  2      5     1.00                        cvttps2pi	%xmm0, %mm2
224# CHECK-NEXT:  2      9     0.50    *                   cvttps2pi	(%rax), %mm2
225# CHECK-NEXT:  2      6     1.00                        cvttss2si	%xmm0, %ecx
226# CHECK-NEXT:  3      7     1.00                        cvttss2si	%xmm0, %rcx
227# CHECK-NEXT:  3      11    1.00    *                   cvttss2si	(%rax), %ecx
228# CHECK-NEXT:  4      12    1.00    *                   cvttss2si	(%rax), %rcx
229# CHECK-NEXT:  1      11    3.00                        divps	%xmm0, %xmm2
230# CHECK-NEXT:  2      17    5.00    *                   divps	(%rax), %xmm2
231# CHECK-NEXT:  1      11    3.00                        divss	%xmm0, %xmm2
232# CHECK-NEXT:  2      16    3.00    *                   divss	(%rax), %xmm2
233# CHECK-NEXT:  3      7     1.00    *             U     ldmxcsr	(%rax)
234# CHECK-NEXT:  1      1     1.00    *      *      U     maskmovq	%mm0, %mm1
235# CHECK-NEXT:  1      4     0.50                        maxps	%xmm0, %xmm2
236# CHECK-NEXT:  2      10    0.50    *                   maxps	(%rax), %xmm2
237# CHECK-NEXT:  1      4     0.50                        maxss	%xmm0, %xmm2
238# CHECK-NEXT:  2      9     0.50    *                   maxss	(%rax), %xmm2
239# CHECK-NEXT:  1      4     0.50                        minps	%xmm0, %xmm2
240# CHECK-NEXT:  2      10    0.50    *                   minps	(%rax), %xmm2
241# CHECK-NEXT:  1      4     0.50                        minss	%xmm0, %xmm2
242# CHECK-NEXT:  2      9     0.50    *                   minss	(%rax), %xmm2
243# CHECK-NEXT:  1      1     0.33                        movaps	%xmm0, %xmm2
244# CHECK-NEXT:  2      1     1.00           *            movaps	%xmm0, (%rax)
245# CHECK-NEXT:  1      6     0.50    *                   movaps	(%rax), %xmm2
246# CHECK-NEXT:  1      1     1.00                        movhlps	%xmm0, %xmm2
247# CHECK-NEXT:  1      1     1.00                        movlhps	%xmm0, %xmm2
248# CHECK-NEXT:  2      1     1.00           *            movhps	%xmm0, (%rax)
249# CHECK-NEXT:  2      6     1.00    *                   movhps	(%rax), %xmm2
250# CHECK-NEXT:  2      1     1.00           *            movlps	%xmm0, (%rax)
251# CHECK-NEXT:  2      6     1.00    *                   movlps	(%rax), %xmm2
252# CHECK-NEXT:  1      2     1.00                        movmskps	%xmm0, %ecx
253# CHECK-NEXT:  2      1     1.00           *            movntps	%xmm0, (%rax)
254# CHECK-NEXT:  2      1     1.00    *      *      U     movntq	%mm0, (%rax)
255# CHECK-NEXT:  1      1     1.00                        movss	%xmm0, %xmm2
256# CHECK-NEXT:  2      1     1.00           *            movss	%xmm0, (%rax)
257# CHECK-NEXT:  1      5     0.50    *                   movss	(%rax), %xmm2
258# CHECK-NEXT:  1      1     0.33                        movups	%xmm0, %xmm2
259# CHECK-NEXT:  2      1     1.00           *            movups	%xmm0, (%rax)
260# CHECK-NEXT:  1      6     0.50    *                   movups	(%rax), %xmm2
261# CHECK-NEXT:  1      4     0.50                        mulps	%xmm0, %xmm2
262# CHECK-NEXT:  2      10    0.50    *                   mulps	(%rax), %xmm2
263# CHECK-NEXT:  1      4     0.50                        mulss	%xmm0, %xmm2
264# CHECK-NEXT:  2      9     0.50    *                   mulss	(%rax), %xmm2
265# CHECK-NEXT:  1      1     0.33                        orps	%xmm0, %xmm2
266# CHECK-NEXT:  2      7     0.50    *                   orps	(%rax), %xmm2
267# CHECK-NEXT:  1      1     1.00                        pavgb	%mm0, %mm2
268# CHECK-NEXT:  2      6     1.00    *                   pavgb	(%rax), %mm2
269# CHECK-NEXT:  1      1     1.00                        pavgw	%mm0, %mm2
270# CHECK-NEXT:  2      6     1.00    *                   pavgw	(%rax), %mm2
271# CHECK-NEXT:  2      3     1.00                        pextrw	$1, %mm0, %ecx
272# CHECK-NEXT:  2      2     2.00                        pinsrw	$1, %eax, %mm2
273# CHECK-NEXT:  2      6     1.00    *                   pinsrw	$1, (%rax), %mm2
274# CHECK-NEXT:  1      1     1.00                        pmaxsw	%mm0, %mm2
275# CHECK-NEXT:  2      6     1.00    *                   pmaxsw	(%rax), %mm2
276# CHECK-NEXT:  1      1     1.00                        pmaxub	%mm0, %mm2
277# CHECK-NEXT:  2      6     1.00    *                   pmaxub	(%rax), %mm2
278# CHECK-NEXT:  1      1     1.00                        pminsw	%mm0, %mm2
279# CHECK-NEXT:  2      6     1.00    *                   pminsw	(%rax), %mm2
280# CHECK-NEXT:  1      1     1.00                        pminub	%mm0, %mm2
281# CHECK-NEXT:  2      6     1.00    *                   pminub	(%rax), %mm2
282# CHECK-NEXT:  1      2     1.00                        pmovmskb	%mm0, %ecx
283# CHECK-NEXT:  1      5     1.00                        pmulhuw	%mm0, %mm2
284# CHECK-NEXT:  2      10    1.00    *                   pmulhuw	(%rax), %mm2
285# CHECK-NEXT:  1      5     0.50    *      *            prefetcht0	(%rax)
286# CHECK-NEXT:  1      5     0.50    *      *            prefetcht1	(%rax)
287# CHECK-NEXT:  1      5     0.50    *      *            prefetcht2	(%rax)
288# CHECK-NEXT:  1      5     0.50    *      *            prefetchnta	(%rax)
289# CHECK-NEXT:  1      3     1.00                        psadbw	%mm0, %mm2
290# CHECK-NEXT:  2      8     1.00    *                   psadbw	(%rax), %mm2
291# CHECK-NEXT:  1      1     1.00                        pshufw	$1, %mm0, %mm2
292# CHECK-NEXT:  2      6     1.00    *                   pshufw	$1, (%rax), %mm2
293# CHECK-NEXT:  1      4     1.00                        rcpps	%xmm0, %xmm2
294# CHECK-NEXT:  2      10    1.00    *                   rcpps	(%rax), %xmm2
295# CHECK-NEXT:  1      4     1.00                        rcpss	%xmm0, %xmm2
296# CHECK-NEXT:  2      9     1.00    *                   rcpss	(%rax), %xmm2
297# CHECK-NEXT:  1      4     1.00                        rsqrtps	%xmm0, %xmm2
298# CHECK-NEXT:  2      10    1.00    *                   rsqrtps	(%rax), %xmm2
299# CHECK-NEXT:  1      4     1.00                        rsqrtss	%xmm0, %xmm2
300# CHECK-NEXT:  2      9     1.00    *                   rsqrtss	(%rax), %xmm2
301# CHECK-NEXT:  2      2     0.33    *      *      U     sfence
302# CHECK-NEXT:  1      1     1.00                        shufps	$1, %xmm0, %xmm2
303# CHECK-NEXT:  2      7     1.00    *                   shufps	$1, (%rax), %xmm2
304# CHECK-NEXT:  1      12    3.00                        sqrtps	%xmm0, %xmm2
305# CHECK-NEXT:  2      18    3.00    *                   sqrtps	(%rax), %xmm2
306# CHECK-NEXT:  1      12    3.00                        sqrtss	%xmm0, %xmm2
307# CHECK-NEXT:  2      17    3.00    *                   sqrtss	(%rax), %xmm2
308# CHECK-NEXT:  3      2     1.00           *      U     stmxcsr	(%rax)
309# CHECK-NEXT:  1      4     0.50                        subps	%xmm0, %xmm2
310# CHECK-NEXT:  2      10    0.50    *                   subps	(%rax), %xmm2
311# CHECK-NEXT:  1      4     0.50                        subss	%xmm0, %xmm2
312# CHECK-NEXT:  2      9     0.50    *                   subss	(%rax), %xmm2
313# CHECK-NEXT:  1      2     1.00                        ucomiss	%xmm0, %xmm1
314# CHECK-NEXT:  2      7     1.00    *                   ucomiss	(%rax), %xmm1
315# CHECK-NEXT:  1      1     1.00                        unpckhps	%xmm0, %xmm2
316# CHECK-NEXT:  2      7     1.00    *                   unpckhps	(%rax), %xmm2
317# CHECK-NEXT:  1      1     1.00                        unpcklps	%xmm0, %xmm2
318# CHECK-NEXT:  2      7     1.00    *                   unpcklps	(%rax), %xmm2
319# CHECK-NEXT:  1      1     0.33                        xorps	%xmm0, %xmm2
320# CHECK-NEXT:  2      7     0.50    *                   xorps	(%rax), %xmm2
321
322# CHECK:      Resources:
323# CHECK-NEXT: [0]   - SKXDivider
324# CHECK-NEXT: [1]   - SKXFPDivider
325# CHECK-NEXT: [2]   - SKXPort0
326# CHECK-NEXT: [3]   - SKXPort1
327# CHECK-NEXT: [4]   - SKXPort2
328# CHECK-NEXT: [5]   - SKXPort3
329# CHECK-NEXT: [6]   - SKXPort4
330# CHECK-NEXT: [7]   - SKXPort5
331# CHECK-NEXT: [8]   - SKXPort6
332# CHECK-NEXT: [9]   - SKXPort7
333
334# CHECK:      Resource pressure per iteration:
335# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
336# CHECK-NEXT:  -     26.00  65.83  25.83  32.00  32.00  8.00   37.83  0.50   3.00
337
338# CHECK:      Resource pressure by instruction:
339# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
340# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     addps	%xmm0, %xmm2
341# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     addps	(%rax), %xmm2
342# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     addss	%xmm0, %xmm2
343# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     addss	(%rax), %xmm2
344# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     andnps	%xmm0, %xmm2
345# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     andnps	(%rax), %xmm2
346# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     andps	%xmm0, %xmm2
347# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     andps	(%rax), %xmm2
348# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     cmpeqps	%xmm0, %xmm2
349# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     cmpeqps	(%rax), %xmm2
350# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     cmpeqss	%xmm0, %xmm2
351# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     cmpeqss	(%rax), %xmm2
352# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     comiss	%xmm0, %xmm1
353# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     comiss	(%rax), %xmm1
354# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     cvtpi2ps	%mm0, %xmm2
355# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     cvtpi2ps	(%rax), %xmm2
356# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     1.33    -      -     cvtps2pi	%xmm0, %mm2
357# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     cvtps2pi	(%rax), %mm2
358# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     1.33    -      -     cvtsi2ss	%ecx, %xmm2
359# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     cvtsi2ss	%rcx, %xmm2
360# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     cvtsi2ssl	(%rax), %xmm2
361# CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     cvtsi2ssl	(%rax), %xmm2
362# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     cvtss2si	%xmm0, %ecx
363# CHECK-NEXT:  -      -     1.33   0.33    -      -      -     1.33    -      -     cvtss2si	%xmm0, %rcx
364# CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     cvtss2si	(%rax), %ecx
365# CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     cvtss2si	(%rax), %rcx
366# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     1.33    -      -     cvttps2pi	%xmm0, %mm2
367# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     cvttps2pi	(%rax), %mm2
368# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     cvttss2si	%xmm0, %ecx
369# CHECK-NEXT:  -      -     1.33   0.33    -      -      -     1.33    -      -     cvttss2si	%xmm0, %rcx
370# CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     cvttss2si	(%rax), %ecx
371# CHECK-NEXT:  -      -     1.33   0.33   0.50   0.50    -     1.33    -      -     cvttss2si	(%rax), %rcx
372# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     divps	%xmm0, %xmm2
373# CHECK-NEXT:  -     5.00   1.00    -     0.50   0.50    -      -      -      -     divps	(%rax), %xmm2
374# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     divss	%xmm0, %xmm2
375# CHECK-NEXT:  -     3.00   1.00    -     0.50   0.50    -      -      -      -     divss	(%rax), %xmm2
376# CHECK-NEXT:  -      -     1.25   0.25   0.50   0.50    -     0.25   0.25    -     ldmxcsr	(%rax)
377# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     maskmovq	%mm0, %mm1
378# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     maxps	%xmm0, %xmm2
379# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     maxps	(%rax), %xmm2
380# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     maxss	%xmm0, %xmm2
381# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     maxss	(%rax), %xmm2
382# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     minps	%xmm0, %xmm2
383# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     minps	(%rax), %xmm2
384# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     minss	%xmm0, %xmm2
385# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     minss	(%rax), %xmm2
386# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     movaps	%xmm0, %xmm2
387# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   movaps	%xmm0, (%rax)
388# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     movaps	(%rax), %xmm2
389# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     movhlps	%xmm0, %xmm2
390# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     movlhps	%xmm0, %xmm2
391# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   movhps	%xmm0, (%rax)
392# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     movhps	(%rax), %xmm2
393# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   movlps	%xmm0, (%rax)
394# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     movlps	(%rax), %xmm2
395# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     movmskps	%xmm0, %ecx
396# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   movntps	%xmm0, (%rax)
397# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   movntq	%mm0, (%rax)
398# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     movss	%xmm0, %xmm2
399# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   movss	%xmm0, (%rax)
400# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     movss	(%rax), %xmm2
401# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     movups	%xmm0, %xmm2
402# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   movups	%xmm0, (%rax)
403# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     movups	(%rax), %xmm2
404# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     mulps	%xmm0, %xmm2
405# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     mulps	(%rax), %xmm2
406# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     mulss	%xmm0, %xmm2
407# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     mulss	(%rax), %xmm2
408# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     orps	%xmm0, %xmm2
409# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     orps	(%rax), %xmm2
410# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pavgb	%mm0, %mm2
411# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     pavgb	(%rax), %mm2
412# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pavgw	%mm0, %mm2
413# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     pavgw	(%rax), %mm2
414# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     pextrw	$1, %mm0, %ecx
415# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     pinsrw	$1, %eax, %mm2
416# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     pinsrw	$1, (%rax), %mm2
417# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pmaxsw	%mm0, %mm2
418# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     pmaxsw	(%rax), %mm2
419# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pmaxub	%mm0, %mm2
420# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     pmaxub	(%rax), %mm2
421# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pminsw	%mm0, %mm2
422# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     pminsw	(%rax), %mm2
423# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pminub	%mm0, %mm2
424# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     pminub	(%rax), %mm2
425# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pmovmskb	%mm0, %ecx
426# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     pmulhuw	%mm0, %mm2
427# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     pmulhuw	(%rax), %mm2
428# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     prefetcht0	(%rax)
429# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     prefetcht1	(%rax)
430# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     prefetcht2	(%rax)
431# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     prefetchnta	(%rax)
432# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     psadbw	%mm0, %mm2
433# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     psadbw	(%rax), %mm2
434# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     pshufw	$1, %mm0, %mm2
435# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     pshufw	$1, (%rax), %mm2
436# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     rcpps	%xmm0, %xmm2
437# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     rcpps	(%rax), %xmm2
438# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     rcpss	%xmm0, %xmm2
439# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     rcpss	(%rax), %xmm2
440# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     rsqrtps	%xmm0, %xmm2
441# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     rsqrtps	(%rax), %xmm2
442# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     rsqrtss	%xmm0, %xmm2
443# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     rsqrtss	(%rax), %xmm2
444# CHECK-NEXT:  -      -     0.25   0.25   0.33   0.33    -     0.25   0.25   0.33   sfence
445# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     shufps	$1, %xmm0, %xmm2
446# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     shufps	$1, (%rax), %xmm2
447# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     sqrtps	%xmm0, %xmm2
448# CHECK-NEXT:  -     3.00   1.00    -     0.50   0.50    -      -      -      -     sqrtps	(%rax), %xmm2
449# CHECK-NEXT:  -     3.00   1.00    -      -      -      -      -      -      -     sqrtss	%xmm0, %xmm2
450# CHECK-NEXT:  -     3.00   1.00    -     0.50   0.50    -      -      -      -     sqrtss	(%rax), %xmm2
451# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   stmxcsr	(%rax)
452# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     subps	%xmm0, %xmm2
453# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     subps	(%rax), %xmm2
454# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     subss	%xmm0, %xmm2
455# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     subss	(%rax), %xmm2
456# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     ucomiss	%xmm0, %xmm1
457# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     ucomiss	(%rax), %xmm1
458# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     unpckhps	%xmm0, %xmm2
459# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     unpckhps	(%rax), %xmm2
460# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     unpcklps	%xmm0, %xmm2
461# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     unpcklps	(%rax), %xmm2
462# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     xorps	%xmm0, %xmm2
463# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     xorps	(%rax), %xmm2
464