1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=atom -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      5     1.00                        addps	%xmm0, %xmm2
198# CHECK-NEXT:  1      5     1.00    *                   addps	(%rax), %xmm2
199# CHECK-NEXT:  1      5     1.00                        addss	%xmm0, %xmm2
200# CHECK-NEXT:  1      5     1.00    *                   addss	(%rax), %xmm2
201# CHECK-NEXT:  1      1     0.50                        andnps	%xmm0, %xmm2
202# CHECK-NEXT:  1      1     1.00    *                   andnps	(%rax), %xmm2
203# CHECK-NEXT:  1      1     0.50                        andps	%xmm0, %xmm2
204# CHECK-NEXT:  1      1     1.00    *                   andps	(%rax), %xmm2
205# CHECK-NEXT:  3      6     5.00                        cmpeqps	%xmm0, %xmm2
206# CHECK-NEXT:  4      7     6.00    *                   cmpeqps	(%rax), %xmm2
207# CHECK-NEXT:  1      5     1.00                        cmpeqss	%xmm0, %xmm2
208# CHECK-NEXT:  1      5     1.00    *                   cmpeqss	(%rax), %xmm2
209# CHECK-NEXT:  4      9     9.00                        comiss	%xmm0, %xmm1
210# CHECK-NEXT:  5      10    10.00   *                   comiss	(%rax), %xmm1
211# CHECK-NEXT:  1      5     5.00                        cvtpi2ps	%mm0, %xmm2
212# CHECK-NEXT:  1      5     5.00    *                   cvtpi2ps	(%rax), %xmm2
213# CHECK-NEXT:  1      5     5.00                        cvtps2pi	%xmm0, %mm2
214# CHECK-NEXT:  1      5     5.00    *                   cvtps2pi	(%rax), %mm2
215# CHECK-NEXT:  1      6     5.00                        cvtsi2ss	%ecx, %xmm2
216# CHECK-NEXT:  1      6     5.00                        cvtsi2ss	%rcx, %xmm2
217# CHECK-NEXT:  1      7     6.00    *                   cvtsi2ssl	(%rax), %xmm2
218# CHECK-NEXT:  1      7     6.00    *                   cvtsi2ssl	(%rax), %xmm2
219# CHECK-NEXT:  1      8     7.00                        cvtss2si	%xmm0, %ecx
220# CHECK-NEXT:  1      9     4.50                        cvtss2si	%xmm0, %rcx
221# CHECK-NEXT:  1      9     6.00    *                   cvtss2si	(%rax), %ecx
222# CHECK-NEXT:  1      10    5.00    *                   cvtss2si	(%rax), %rcx
223# CHECK-NEXT:  1      5     5.00                        cvttps2pi	%xmm0, %mm2
224# CHECK-NEXT:  1      5     5.00    *                   cvttps2pi	(%rax), %mm2
225# CHECK-NEXT:  1      8     7.00                        cvttss2si	%xmm0, %ecx
226# CHECK-NEXT:  1      9     4.50                        cvttss2si	%xmm0, %rcx
227# CHECK-NEXT:  1      9     6.00    *                   cvttss2si	(%rax), %ecx
228# CHECK-NEXT:  1      10    5.00    *                   cvttss2si	(%rax), %rcx
229# CHECK-NEXT:  6      70    70.00                       divps	%xmm0, %xmm2
230# CHECK-NEXT:  7      70    70.00   *                   divps	(%rax), %xmm2
231# CHECK-NEXT:  3      34    34.00                       divss	%xmm0, %xmm2
232# CHECK-NEXT:  4      34    34.00   *                   divss	(%rax), %xmm2
233# CHECK-NEXT:  4      5     5.00    *      *      U     ldmxcsr	(%rax)
234# CHECK-NEXT:  1      1     1.00    *      *      U     maskmovq	%mm0, %mm1
235# CHECK-NEXT:  3      6     5.00                        maxps	%xmm0, %xmm2
236# CHECK-NEXT:  4      7     6.00    *                   maxps	(%rax), %xmm2
237# CHECK-NEXT:  1      5     1.00                        maxss	%xmm0, %xmm2
238# CHECK-NEXT:  1      5     1.00    *                   maxss	(%rax), %xmm2
239# CHECK-NEXT:  3      6     5.00                        minps	%xmm0, %xmm2
240# CHECK-NEXT:  4      7     6.00    *                   minps	(%rax), %xmm2
241# CHECK-NEXT:  1      5     1.00                        minss	%xmm0, %xmm2
242# CHECK-NEXT:  1      5     1.00    *                   minss	(%rax), %xmm2
243# CHECK-NEXT:  1      1     0.50                        movaps	%xmm0, %xmm2
244# CHECK-NEXT:  1      1     1.00           *            movaps	%xmm0, (%rax)
245# CHECK-NEXT:  1      1     1.00    *                   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:  1      1     1.00           *            movhps	%xmm0, (%rax)
249# CHECK-NEXT:  1      1     1.00    *                   movhps	(%rax), %xmm2
250# CHECK-NEXT:  1      1     1.00           *            movlps	%xmm0, (%rax)
251# CHECK-NEXT:  1      1     1.00    *                   movlps	(%rax), %xmm2
252# CHECK-NEXT:  1      3     3.00                        movmskps	%xmm0, %ecx
253# CHECK-NEXT:  1      1     1.00           *            movntps	%xmm0, (%rax)
254# CHECK-NEXT:  1      1     1.00    *      *      U     movntq	%mm0, (%rax)
255# CHECK-NEXT:  1      1     0.50                        movss	%xmm0, %xmm2
256# CHECK-NEXT:  1      1     1.00           *            movss	%xmm0, (%rax)
257# CHECK-NEXT:  1      1     1.00    *                   movss	(%rax), %xmm2
258# CHECK-NEXT:  1      1     0.50                        movups	%xmm0, %xmm2
259# CHECK-NEXT:  1      2     1.00           *            movups	%xmm0, (%rax)
260# CHECK-NEXT:  1      3     1.50    *                   movups	(%rax), %xmm2
261# CHECK-NEXT:  1      5     2.00                        mulps	%xmm0, %xmm2
262# CHECK-NEXT:  1      5     2.00    *                   mulps	(%rax), %xmm2
263# CHECK-NEXT:  1      4     2.00                        mulss	%xmm0, %xmm2
264# CHECK-NEXT:  1      4     2.00    *                   mulss	(%rax), %xmm2
265# CHECK-NEXT:  1      1     0.50                        orps	%xmm0, %xmm2
266# CHECK-NEXT:  1      1     1.00    *                   orps	(%rax), %xmm2
267# CHECK-NEXT:  1      1     0.50                        pavgb	%mm0, %mm2
268# CHECK-NEXT:  1      1     1.00    *                   pavgb	(%rax), %mm2
269# CHECK-NEXT:  1      1     0.50                        pavgw	%mm0, %mm2
270# CHECK-NEXT:  1      1     1.00    *                   pavgw	(%rax), %mm2
271# CHECK-NEXT:  1      4     2.00                        pextrw	$1, %mm0, %ecx
272# CHECK-NEXT:  1      1     1.00                        pinsrw	$1, %eax, %mm2
273# CHECK-NEXT:  1      1     1.00    *                   pinsrw	$1, (%rax), %mm2
274# CHECK-NEXT:  1      1     0.50                        pmaxsw	%mm0, %mm2
275# CHECK-NEXT:  1      1     1.00    *                   pmaxsw	(%rax), %mm2
276# CHECK-NEXT:  1      1     0.50                        pmaxub	%mm0, %mm2
277# CHECK-NEXT:  1      1     1.00    *                   pmaxub	(%rax), %mm2
278# CHECK-NEXT:  1      1     0.50                        pminsw	%mm0, %mm2
279# CHECK-NEXT:  1      1     1.00    *                   pminsw	(%rax), %mm2
280# CHECK-NEXT:  1      1     0.50                        pminub	%mm0, %mm2
281# CHECK-NEXT:  1      1     1.00    *                   pminub	(%rax), %mm2
282# CHECK-NEXT:  1      3     3.00                        pmovmskb	%mm0, %ecx
283# CHECK-NEXT:  1      4     1.00                        pmulhuw	%mm0, %mm2
284# CHECK-NEXT:  1      4     1.00    *                   pmulhuw	(%rax), %mm2
285# CHECK-NEXT:  1      1     1.00    *      *            prefetcht0	(%rax)
286# CHECK-NEXT:  1      1     1.00    *      *            prefetcht1	(%rax)
287# CHECK-NEXT:  1      1     1.00    *      *            prefetcht2	(%rax)
288# CHECK-NEXT:  1      1     1.00    *      *            prefetchnta	(%rax)
289# CHECK-NEXT:  1      4     1.00                        psadbw	%mm0, %mm2
290# CHECK-NEXT:  1      4     1.00    *                   psadbw	(%rax), %mm2
291# CHECK-NEXT:  1      1     1.00                        pshufw	$1, %mm0, %mm2
292# CHECK-NEXT:  1      1     1.00    *                   pshufw	$1, (%rax), %mm2
293# CHECK-NEXT:  5      9     9.00                        rcpps	%xmm0, %xmm2
294# CHECK-NEXT:  6      10    10.00   *                   rcpps	(%rax), %xmm2
295# CHECK-NEXT:  1      4     4.00                        rcpss	%xmm0, %xmm2
296# CHECK-NEXT:  1      4     4.00    *                   rcpss	(%rax), %xmm2
297# CHECK-NEXT:  5      9     9.00                        rsqrtps	%xmm0, %xmm2
298# CHECK-NEXT:  6      10    10.00   *                   rsqrtps	(%rax), %xmm2
299# CHECK-NEXT:  1      4     4.00                        rsqrtss	%xmm0, %xmm2
300# CHECK-NEXT:  1      4     4.00    *                   rsqrtss	(%rax), %xmm2
301# CHECK-NEXT:  1      1     1.00    *      *      U     sfence
302# CHECK-NEXT:  1      1     1.00                        shufps	$1, %xmm0, %xmm2
303# CHECK-NEXT:  1      1     1.00    *                   shufps	$1, (%rax), %xmm2
304# CHECK-NEXT:  5      70    70.00                       sqrtps	%xmm0, %xmm2
305# CHECK-NEXT:  6      70    70.00   *                   sqrtps	(%rax), %xmm2
306# CHECK-NEXT:  3      34    34.00                       sqrtss	%xmm0, %xmm2
307# CHECK-NEXT:  4      34    34.00   *                   sqrtss	(%rax), %xmm2
308# CHECK-NEXT:  4      15    15.00          *      U     stmxcsr	(%rax)
309# CHECK-NEXT:  1      5     1.00                        subps	%xmm0, %xmm2
310# CHECK-NEXT:  1      5     1.00    *                   subps	(%rax), %xmm2
311# CHECK-NEXT:  1      5     1.00                        subss	%xmm0, %xmm2
312# CHECK-NEXT:  1      5     1.00    *                   subss	(%rax), %xmm2
313# CHECK-NEXT:  4      9     9.00                        ucomiss	%xmm0, %xmm1
314# CHECK-NEXT:  5      10    10.00   *                   ucomiss	(%rax), %xmm1
315# CHECK-NEXT:  1      1     1.00                        unpckhps	%xmm0, %xmm2
316# CHECK-NEXT:  1      1     1.00    *                   unpckhps	(%rax), %xmm2
317# CHECK-NEXT:  1      1     1.00                        unpcklps	%xmm0, %xmm2
318# CHECK-NEXT:  1      1     1.00    *                   unpcklps	(%rax), %xmm2
319# CHECK-NEXT:  1      1     0.50                        xorps	%xmm0, %xmm2
320# CHECK-NEXT:  1      1     1.00    *                   xorps	(%rax), %xmm2
321
322# CHECK:      Resources:
323# CHECK-NEXT: [0]   - AtomPort0
324# CHECK-NEXT: [1]   - AtomPort1
325
326# CHECK:      Resource pressure per iteration:
327# CHECK-NEXT: [0]    [1]
328# CHECK-NEXT: 712.00 667.00
329
330# CHECK:      Resource pressure by instruction:
331# CHECK-NEXT: [0]    [1]    Instructions:
332# CHECK-NEXT:  -     1.00   addps	%xmm0, %xmm2
333# CHECK-NEXT: 1.00   1.00   addps	(%rax), %xmm2
334# CHECK-NEXT:  -     1.00   addss	%xmm0, %xmm2
335# CHECK-NEXT: 1.00   1.00   addss	(%rax), %xmm2
336# CHECK-NEXT: 0.50   0.50   andnps	%xmm0, %xmm2
337# CHECK-NEXT: 1.00    -     andnps	(%rax), %xmm2
338# CHECK-NEXT: 0.50   0.50   andps	%xmm0, %xmm2
339# CHECK-NEXT: 1.00    -     andps	(%rax), %xmm2
340# CHECK-NEXT: 5.00   5.00   cmpeqps	%xmm0, %xmm2
341# CHECK-NEXT: 6.00   6.00   cmpeqps	(%rax), %xmm2
342# CHECK-NEXT:  -     1.00   cmpeqss	%xmm0, %xmm2
343# CHECK-NEXT: 1.00   1.00   cmpeqss	(%rax), %xmm2
344# CHECK-NEXT: 9.00   9.00   comiss	%xmm0, %xmm1
345# CHECK-NEXT: 10.00  10.00  comiss	(%rax), %xmm1
346# CHECK-NEXT:  -     5.00   cvtpi2ps	%mm0, %xmm2
347# CHECK-NEXT:  -     5.00   cvtpi2ps	(%rax), %xmm2
348# CHECK-NEXT:  -     5.00   cvtps2pi	%xmm0, %mm2
349# CHECK-NEXT: 5.00   5.00   cvtps2pi	(%rax), %mm2
350# CHECK-NEXT: 5.00   5.00   cvtsi2ss	%ecx, %xmm2
351# CHECK-NEXT: 5.00   5.00   cvtsi2ss	%rcx, %xmm2
352# CHECK-NEXT: 6.00   6.00   cvtsi2ssl	(%rax), %xmm2
353# CHECK-NEXT: 6.00   6.00   cvtsi2ssl	(%rax), %xmm2
354# CHECK-NEXT: 7.00   7.00   cvtss2si	%xmm0, %ecx
355# CHECK-NEXT: 4.50   4.50   cvtss2si	%xmm0, %rcx
356# CHECK-NEXT: 6.00   6.00   cvtss2si	(%rax), %ecx
357# CHECK-NEXT: 5.00   5.00   cvtss2si	(%rax), %rcx
358# CHECK-NEXT:  -     5.00   cvttps2pi	%xmm0, %mm2
359# CHECK-NEXT: 5.00   5.00   cvttps2pi	(%rax), %mm2
360# CHECK-NEXT: 7.00   7.00   cvttss2si	%xmm0, %ecx
361# CHECK-NEXT: 4.50   4.50   cvttss2si	%xmm0, %rcx
362# CHECK-NEXT: 6.00   6.00   cvttss2si	(%rax), %ecx
363# CHECK-NEXT: 5.00   5.00   cvttss2si	(%rax), %rcx
364# CHECK-NEXT: 70.00  70.00  divps	%xmm0, %xmm2
365# CHECK-NEXT: 70.00  70.00  divps	(%rax), %xmm2
366# CHECK-NEXT: 34.00  34.00  divss	%xmm0, %xmm2
367# CHECK-NEXT: 34.00  34.00  divss	(%rax), %xmm2
368# CHECK-NEXT: 5.00   5.00   ldmxcsr	(%rax)
369# CHECK-NEXT: 1.00    -     maskmovq	%mm0, %mm1
370# CHECK-NEXT: 5.00   5.00   maxps	%xmm0, %xmm2
371# CHECK-NEXT: 6.00   6.00   maxps	(%rax), %xmm2
372# CHECK-NEXT:  -     1.00   maxss	%xmm0, %xmm2
373# CHECK-NEXT: 1.00   1.00   maxss	(%rax), %xmm2
374# CHECK-NEXT: 5.00   5.00   minps	%xmm0, %xmm2
375# CHECK-NEXT: 6.00   6.00   minps	(%rax), %xmm2
376# CHECK-NEXT:  -     1.00   minss	%xmm0, %xmm2
377# CHECK-NEXT: 1.00   1.00   minss	(%rax), %xmm2
378# CHECK-NEXT: 0.50   0.50   movaps	%xmm0, %xmm2
379# CHECK-NEXT: 1.00    -     movaps	%xmm0, (%rax)
380# CHECK-NEXT: 1.00    -     movaps	(%rax), %xmm2
381# CHECK-NEXT: 1.00    -     movhlps	%xmm0, %xmm2
382# CHECK-NEXT: 1.00    -     movlhps	%xmm0, %xmm2
383# CHECK-NEXT: 1.00    -     movhps	%xmm0, (%rax)
384# CHECK-NEXT: 1.00    -     movhps	(%rax), %xmm2
385# CHECK-NEXT: 1.00    -     movlps	%xmm0, (%rax)
386# CHECK-NEXT: 1.00    -     movlps	(%rax), %xmm2
387# CHECK-NEXT: 3.00    -     movmskps	%xmm0, %ecx
388# CHECK-NEXT: 1.00    -     movntps	%xmm0, (%rax)
389# CHECK-NEXT: 1.00    -     movntq	%mm0, (%rax)
390# CHECK-NEXT: 0.50   0.50   movss	%xmm0, %xmm2
391# CHECK-NEXT: 1.00    -     movss	%xmm0, (%rax)
392# CHECK-NEXT: 1.00    -     movss	(%rax), %xmm2
393# CHECK-NEXT: 0.50   0.50   movups	%xmm0, %xmm2
394# CHECK-NEXT: 1.00   1.00   movups	%xmm0, (%rax)
395# CHECK-NEXT: 1.50   1.50   movups	(%rax), %xmm2
396# CHECK-NEXT: 2.00    -     mulps	%xmm0, %xmm2
397# CHECK-NEXT: 2.00    -     mulps	(%rax), %xmm2
398# CHECK-NEXT: 2.00    -     mulss	%xmm0, %xmm2
399# CHECK-NEXT: 2.00    -     mulss	(%rax), %xmm2
400# CHECK-NEXT: 0.50   0.50   orps	%xmm0, %xmm2
401# CHECK-NEXT: 1.00    -     orps	(%rax), %xmm2
402# CHECK-NEXT: 0.50   0.50   pavgb	%mm0, %mm2
403# CHECK-NEXT: 1.00    -     pavgb	(%rax), %mm2
404# CHECK-NEXT: 0.50   0.50   pavgw	%mm0, %mm2
405# CHECK-NEXT: 1.00    -     pavgw	(%rax), %mm2
406# CHECK-NEXT: 2.00   2.00   pextrw	$1, %mm0, %ecx
407# CHECK-NEXT: 1.00    -     pinsrw	$1, %eax, %mm2
408# CHECK-NEXT: 1.00    -     pinsrw	$1, (%rax), %mm2
409# CHECK-NEXT: 0.50   0.50   pmaxsw	%mm0, %mm2
410# CHECK-NEXT: 1.00    -     pmaxsw	(%rax), %mm2
411# CHECK-NEXT: 0.50   0.50   pmaxub	%mm0, %mm2
412# CHECK-NEXT: 1.00    -     pmaxub	(%rax), %mm2
413# CHECK-NEXT: 0.50   0.50   pminsw	%mm0, %mm2
414# CHECK-NEXT: 1.00    -     pminsw	(%rax), %mm2
415# CHECK-NEXT: 0.50   0.50   pminub	%mm0, %mm2
416# CHECK-NEXT: 1.00    -     pminub	(%rax), %mm2
417# CHECK-NEXT: 3.00    -     pmovmskb	%mm0, %ecx
418# CHECK-NEXT: 1.00    -     pmulhuw	%mm0, %mm2
419# CHECK-NEXT: 1.00    -     pmulhuw	(%rax), %mm2
420# CHECK-NEXT: 1.00    -     prefetcht0	(%rax)
421# CHECK-NEXT: 1.00    -     prefetcht1	(%rax)
422# CHECK-NEXT: 1.00    -     prefetcht2	(%rax)
423# CHECK-NEXT: 1.00    -     prefetchnta	(%rax)
424# CHECK-NEXT: 1.00    -     psadbw	%mm0, %mm2
425# CHECK-NEXT: 1.00    -     psadbw	(%rax), %mm2
426# CHECK-NEXT: 1.00    -     pshufw	$1, %mm0, %mm2
427# CHECK-NEXT: 1.00    -     pshufw	$1, (%rax), %mm2
428# CHECK-NEXT: 9.00   9.00   rcpps	%xmm0, %xmm2
429# CHECK-NEXT: 10.00  10.00  rcpps	(%rax), %xmm2
430# CHECK-NEXT: 4.00    -     rcpss	%xmm0, %xmm2
431# CHECK-NEXT: 4.00    -     rcpss	(%rax), %xmm2
432# CHECK-NEXT: 9.00   9.00   rsqrtps	%xmm0, %xmm2
433# CHECK-NEXT: 10.00  10.00  rsqrtps	(%rax), %xmm2
434# CHECK-NEXT: 4.00    -     rsqrtss	%xmm0, %xmm2
435# CHECK-NEXT: 4.00    -     rsqrtss	(%rax), %xmm2
436# CHECK-NEXT: 1.00    -     sfence
437# CHECK-NEXT: 1.00    -     shufps	$1, %xmm0, %xmm2
438# CHECK-NEXT: 1.00    -     shufps	$1, (%rax), %xmm2
439# CHECK-NEXT: 70.00  70.00  sqrtps	%xmm0, %xmm2
440# CHECK-NEXT: 70.00  70.00  sqrtps	(%rax), %xmm2
441# CHECK-NEXT: 34.00  34.00  sqrtss	%xmm0, %xmm2
442# CHECK-NEXT: 34.00  34.00  sqrtss	(%rax), %xmm2
443# CHECK-NEXT: 15.00  15.00  stmxcsr	(%rax)
444# CHECK-NEXT:  -     1.00   subps	%xmm0, %xmm2
445# CHECK-NEXT: 1.00   1.00   subps	(%rax), %xmm2
446# CHECK-NEXT:  -     1.00   subss	%xmm0, %xmm2
447# CHECK-NEXT: 1.00   1.00   subss	(%rax), %xmm2
448# CHECK-NEXT: 9.00   9.00   ucomiss	%xmm0, %xmm1
449# CHECK-NEXT: 10.00  10.00  ucomiss	(%rax), %xmm1
450# CHECK-NEXT: 1.00    -     unpckhps	%xmm0, %xmm2
451# CHECK-NEXT: 1.00    -     unpckhps	(%rax), %xmm2
452# CHECK-NEXT: 1.00    -     unpcklps	%xmm0, %xmm2
453# CHECK-NEXT: 1.00    -     unpcklps	(%rax), %xmm2
454# CHECK-NEXT: 0.50   0.50   xorps	%xmm0, %xmm2
455# CHECK-NEXT: 1.00    -     xorps	(%rax), %xmm2
456