4aa29de694e014087dda774575df80cca3776957
[lldb.git] / llvm / test / tools / llvm-mca / X86 / BdVer2 / resources-sse41.s
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
3
4 blendpd     $11, %xmm0, %xmm2
5 blendpd     $11, (%rax), %xmm2
6
7 blendps     $11, %xmm0, %xmm2
8 blendps     $11, (%rax), %xmm2
9
10 blendvpd    %xmm0, %xmm2
11 blendvpd    (%rax), %xmm2
12
13 blendvps    %xmm0, %xmm2
14 blendvps    (%rax), %xmm2
15
16 dppd        $22, %xmm0, %xmm2
17 dppd        $22, (%rax), %xmm2
18
19 dpps        $22, %xmm0, %xmm2
20 dpps        $22, (%rax), %xmm2
21
22 extractps   $1, %xmm0, %rcx
23 extractps   $1, %xmm0, (%rax)
24
25 insertps    $1, %xmm0, %xmm2
26 insertps    $1, (%rax), %xmm2
27
28 movntdqa    (%rax), %xmm2
29
30 mpsadbw     $1, %xmm0, %xmm2
31 mpsadbw     $1, (%rax), %xmm2
32
33 packusdw    %xmm0, %xmm2
34 packusdw    (%rax), %xmm2
35
36 pblendvb    %xmm0, %xmm2
37 pblendvb    (%rax), %xmm2
38
39 pblendw     $11, %xmm0, %xmm2
40 pblendw     $11, (%rax), %xmm2
41
42 pcmpeqq     %xmm0, %xmm2
43 pcmpeqq     (%rax), %xmm2
44
45 pextrb      $1, %xmm0, %ecx
46 pextrb      $1, %xmm0, (%rax)
47
48 pextrd      $1, %xmm0, %ecx
49 pextrd      $1, %xmm0, (%rax)
50
51 pextrq      $1, %xmm0, %rcx
52 pextrq      $1, %xmm0, (%rax)
53
54 pextrw      $1, %xmm0, (%rax)
55
56 phminposuw  %xmm0, %xmm2
57 phminposuw  (%rax), %xmm2
58
59 pinsrb      $1, %eax, %xmm1
60 pinsrb      $1, (%rax), %xmm1
61
62 pinsrd      $1, %eax, %xmm1
63 pinsrd      $1, (%rax), %xmm1
64
65 pinsrq      $1, %rax, %xmm1
66 pinsrq      $1, (%rax), %xmm1
67
68 pmaxsb      %xmm0, %xmm2
69 pmaxsb      (%rax), %xmm2
70
71 pmaxsd      %xmm0, %xmm2
72 pmaxsd      (%rax), %xmm2
73
74 pmaxud      %xmm0, %xmm2
75 pmaxud      (%rax), %xmm2
76
77 pmaxuw      %xmm0, %xmm2
78 pmaxuw      (%rax), %xmm2
79
80 pminsb      %xmm0, %xmm2
81 pminsb      (%rax), %xmm2
82
83 pminsd      %xmm0, %xmm2
84 pminsd      (%rax), %xmm2
85
86 pminud      %xmm0, %xmm2
87 pminud      (%rax), %xmm2
88
89 pminuw      %xmm0, %xmm2
90 pminuw      (%rax), %xmm2
91
92 pmovsxbd    %xmm0, %xmm2
93 pmovsxbd    (%rax), %xmm2
94
95 pmovsxbq    %xmm0, %xmm2
96 pmovsxbq    (%rax), %xmm2
97
98 pmovsxbw    %xmm0, %xmm2
99 pmovsxbw    (%rax), %xmm2
100
101 pmovsxdq    %xmm0, %xmm2
102 pmovsxdq    (%rax), %xmm2
103
104 pmovsxwd    %xmm0, %xmm2
105 pmovsxwd    (%rax), %xmm2
106
107 pmovsxwq    %xmm0, %xmm2
108 pmovsxwq    (%rax), %xmm2
109
110 pmovzxbd    %xmm0, %xmm2
111 pmovzxbd    (%rax), %xmm2
112
113 pmovzxbq    %xmm0, %xmm2
114 pmovzxbq    (%rax), %xmm2
115
116 pmovzxbw    %xmm0, %xmm2
117 pmovzxbw    (%rax), %xmm2
118
119 pmovzxdq    %xmm0, %xmm2
120 pmovzxdq    (%rax), %xmm2
121
122 pmovzxwd    %xmm0, %xmm2
123 pmovzxwd    (%rax), %xmm2
124
125 pmovzxwq    %xmm0, %xmm2
126 pmovzxwq    (%rax), %xmm2
127
128 pmuldq      %xmm0, %xmm2
129 pmuldq      (%rax), %xmm2
130
131 pmulld      %xmm0, %xmm2
132 pmulld      (%rax), %xmm2
133
134 ptest       %xmm0, %xmm1
135 ptest       (%rax), %xmm1
136
137 roundpd     $1, %xmm0, %xmm2
138 roundpd     $1, (%rax), %xmm2
139
140 roundps     $1, %xmm0, %xmm2
141 roundps     $1, (%rax), %xmm2
142
143 roundsd     $1, %xmm0, %xmm2
144 roundsd     $1, (%rax), %xmm2
145
146 roundss     $1, %xmm0, %xmm2
147 roundss     $1, (%rax), %xmm2
148
149 # CHECK:      Instruction Info:
150 # CHECK-NEXT: [1]: #uOps
151 # CHECK-NEXT: [2]: Latency
152 # CHECK-NEXT: [3]: RThroughput
153 # CHECK-NEXT: [4]: MayLoad
154 # CHECK-NEXT: [5]: MayStore
155 # CHECK-NEXT: [6]: HasSideEffects (U)
156
157 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
158 # CHECK-NEXT:  1      2     0.50                        blendpd $11, %xmm0, %xmm2
159 # CHECK-NEXT:  1      7     0.50    *                   blendpd $11, (%rax), %xmm2
160 # CHECK-NEXT:  1      2     0.50                        blendps $11, %xmm0, %xmm2
161 # CHECK-NEXT:  1      7     0.50    *                   blendps $11, (%rax), %xmm2
162 # CHECK-NEXT:  1      2     2.00                        blendvpd        %xmm0, %xmm0, %xmm2
163 # CHECK-NEXT:  1      7     2.00    *                   blendvpd        %xmm0, (%rax), %xmm2
164 # CHECK-NEXT:  1      2     2.00                        blendvps        %xmm0, %xmm0, %xmm2
165 # CHECK-NEXT:  1      7     2.00    *                   blendvps        %xmm0, (%rax), %xmm2
166 # CHECK-NEXT:  15     15    1.50                        dppd    $22, %xmm0, %xmm2
167 # CHECK-NEXT:  17     20    1.50    *                   dppd    $22, (%rax), %xmm2
168 # CHECK-NEXT:  16     25    1.50                        dpps    $22, %xmm0, %xmm2
169 # CHECK-NEXT:  18     30    1.50    *                   dpps    $22, (%rax), %xmm2
170 # CHECK-NEXT:  2      13    1.00                        extractps       $1, %xmm0, %ecx
171 # CHECK-NEXT:  2      13    1.00           *            extractps       $1, %xmm0, (%rax)
172 # CHECK-NEXT:  1      2     0.50                        insertps        $1, %xmm0, %xmm2
173 # CHECK-NEXT:  1      7     0.50    *                   insertps        $1, (%rax), %xmm2
174 # CHECK-NEXT:  1      5     0.50    *                   movntdqa        (%rax), %xmm2
175 # CHECK-NEXT:  9      9     2.00                        mpsadbw $1, %xmm0, %xmm2
176 # CHECK-NEXT:  9      14    2.00    *                   mpsadbw $1, (%rax), %xmm2
177 # CHECK-NEXT:  1      2     0.50                        packusdw        %xmm0, %xmm2
178 # CHECK-NEXT:  1      7     0.50    *                   packusdw        (%rax), %xmm2
179 # CHECK-NEXT:  1      2     2.00                        pblendvb        %xmm0, %xmm0, %xmm2
180 # CHECK-NEXT:  1      7     2.00    *                   pblendvb        %xmm0, (%rax), %xmm2
181 # CHECK-NEXT:  1      2     0.50                        pblendw $11, %xmm0, %xmm2
182 # CHECK-NEXT:  1      7     0.50    *                   pblendw $11, (%rax), %xmm2
183 # CHECK-NEXT:  1      2     0.50                        pcmpeqq %xmm0, %xmm2
184 # CHECK-NEXT:  1      7     0.50    *                   pcmpeqq (%rax), %xmm2
185 # CHECK-NEXT:  2      13    1.00                        pextrb  $1, %xmm0, %ecx
186 # CHECK-NEXT:  2      13    1.00           *            pextrb  $1, %xmm0, (%rax)
187 # CHECK-NEXT:  2      13    1.00                        pextrd  $1, %xmm0, %ecx
188 # CHECK-NEXT:  2      13    1.00           *            pextrd  $1, %xmm0, (%rax)
189 # CHECK-NEXT:  2      13    1.00                        pextrq  $1, %xmm0, %rcx
190 # CHECK-NEXT:  2      13    1.00           *            pextrq  $1, %xmm0, (%rax)
191 # CHECK-NEXT:  2      13    1.00           *            pextrw  $1, %xmm0, (%rax)
192 # CHECK-NEXT:  2      4     1.00                        phminposuw      %xmm0, %xmm2
193 # CHECK-NEXT:  2      9     1.00    *                   phminposuw      (%rax), %xmm2
194 # CHECK-NEXT:  2      2     0.50                        pinsrb  $1, %eax, %xmm1
195 # CHECK-NEXT:  2      6     0.50    *                   pinsrb  $1, (%rax), %xmm1
196 # CHECK-NEXT:  2      2     0.50                        pinsrd  $1, %eax, %xmm1
197 # CHECK-NEXT:  2      6     0.50    *                   pinsrd  $1, (%rax), %xmm1
198 # CHECK-NEXT:  2      2     0.50                        pinsrq  $1, %rax, %xmm1
199 # CHECK-NEXT:  2      6     0.50    *                   pinsrq  $1, (%rax), %xmm1
200 # CHECK-NEXT:  1      2     0.50                        pmaxsb  %xmm0, %xmm2
201 # CHECK-NEXT:  1      7     0.50    *                   pmaxsb  (%rax), %xmm2
202 # CHECK-NEXT:  1      2     0.50                        pmaxsd  %xmm0, %xmm2
203 # CHECK-NEXT:  1      7     0.50    *                   pmaxsd  (%rax), %xmm2
204 # CHECK-NEXT:  1      2     0.50                        pmaxud  %xmm0, %xmm2
205 # CHECK-NEXT:  1      7     0.50    *                   pmaxud  (%rax), %xmm2
206 # CHECK-NEXT:  1      2     0.50                        pmaxuw  %xmm0, %xmm2
207 # CHECK-NEXT:  1      7     0.50    *                   pmaxuw  (%rax), %xmm2
208 # CHECK-NEXT:  1      2     0.50                        pminsb  %xmm0, %xmm2
209 # CHECK-NEXT:  1      7     0.50    *                   pminsb  (%rax), %xmm2
210 # CHECK-NEXT:  1      2     0.50                        pminsd  %xmm0, %xmm2
211 # CHECK-NEXT:  1      7     0.50    *                   pminsd  (%rax), %xmm2
212 # CHECK-NEXT:  1      2     0.50                        pminud  %xmm0, %xmm2
213 # CHECK-NEXT:  1      7     0.50    *                   pminud  (%rax), %xmm2
214 # CHECK-NEXT:  1      2     0.50                        pminuw  %xmm0, %xmm2
215 # CHECK-NEXT:  1      7     0.50    *                   pminuw  (%rax), %xmm2
216 # CHECK-NEXT:  1      2     0.50                        pmovsxbd        %xmm0, %xmm2
217 # CHECK-NEXT:  1      7     0.50    *                   pmovsxbd        (%rax), %xmm2
218 # CHECK-NEXT:  1      2     0.50                        pmovsxbq        %xmm0, %xmm2
219 # CHECK-NEXT:  1      7     0.50    *                   pmovsxbq        (%rax), %xmm2
220 # CHECK-NEXT:  1      2     0.50                        pmovsxbw        %xmm0, %xmm2
221 # CHECK-NEXT:  1      7     0.50    *                   pmovsxbw        (%rax), %xmm2
222 # CHECK-NEXT:  1      2     0.50                        pmovsxdq        %xmm0, %xmm2
223 # CHECK-NEXT:  1      7     0.50    *                   pmovsxdq        (%rax), %xmm2
224 # CHECK-NEXT:  1      2     0.50                        pmovsxwd        %xmm0, %xmm2
225 # CHECK-NEXT:  1      7     0.50    *                   pmovsxwd        (%rax), %xmm2
226 # CHECK-NEXT:  1      2     0.50                        pmovsxwq        %xmm0, %xmm2
227 # CHECK-NEXT:  1      7     0.50    *                   pmovsxwq        (%rax), %xmm2
228 # CHECK-NEXT:  1      2     0.50                        pmovzxbd        %xmm0, %xmm2
229 # CHECK-NEXT:  1      7     0.50    *                   pmovzxbd        (%rax), %xmm2
230 # CHECK-NEXT:  1      2     0.50                        pmovzxbq        %xmm0, %xmm2
231 # CHECK-NEXT:  1      7     0.50    *                   pmovzxbq        (%rax), %xmm2
232 # CHECK-NEXT:  1      2     0.50                        pmovzxbw        %xmm0, %xmm2
233 # CHECK-NEXT:  1      7     0.50    *                   pmovzxbw        (%rax), %xmm2
234 # CHECK-NEXT:  1      2     0.50                        pmovzxdq        %xmm0, %xmm2
235 # CHECK-NEXT:  1      7     0.50    *                   pmovzxdq        (%rax), %xmm2
236 # CHECK-NEXT:  1      2     0.50                        pmovzxwd        %xmm0, %xmm2
237 # CHECK-NEXT:  1      7     0.50    *                   pmovzxwd        (%rax), %xmm2
238 # CHECK-NEXT:  1      2     0.50                        pmovzxwq        %xmm0, %xmm2
239 # CHECK-NEXT:  1      7     0.50    *                   pmovzxwq        (%rax), %xmm2
240 # CHECK-NEXT:  1      4     1.00                        pmuldq  %xmm0, %xmm2
241 # CHECK-NEXT:  1      9     1.00    *                   pmuldq  (%rax), %xmm2
242 # CHECK-NEXT:  1      5     2.00                        pmulld  %xmm0, %xmm2
243 # CHECK-NEXT:  1      10    2.00    *                   pmulld  (%rax), %xmm2
244 # CHECK-NEXT:  2      1     1.00                        ptest   %xmm0, %xmm1
245 # CHECK-NEXT:  2      6     1.00    *                   ptest   (%rax), %xmm1
246 # CHECK-NEXT:  1      4     1.00                        roundpd $1, %xmm0, %xmm2
247 # CHECK-NEXT:  1      9     1.00    *                   roundpd $1, (%rax), %xmm2
248 # CHECK-NEXT:  1      4     1.00                        roundps $1, %xmm0, %xmm2
249 # CHECK-NEXT:  1      9     1.00    *                   roundps $1, (%rax), %xmm2
250 # CHECK-NEXT:  1      4     1.00                        roundsd $1, %xmm0, %xmm2
251 # CHECK-NEXT:  1      9     1.00    *                   roundsd $1, (%rax), %xmm2
252 # CHECK-NEXT:  1      4     1.00                        roundss $1, %xmm0, %xmm2
253 # CHECK-NEXT:  1      9     1.00    *                   roundss $1, (%rax), %xmm2
254
255 # CHECK:      Resources:
256 # CHECK-NEXT: [0.0] - PdAGLU01
257 # CHECK-NEXT: [0.1] - PdAGLU01
258 # CHECK-NEXT: [1]   - PdBranch
259 # CHECK-NEXT: [2]   - PdCount
260 # CHECK-NEXT: [3]   - PdDiv
261 # CHECK-NEXT: [4]   - PdEX0
262 # CHECK-NEXT: [5]   - PdEX1
263 # CHECK-NEXT: [6]   - PdFPCVT
264 # CHECK-NEXT: [7.0] - PdFPFMA
265 # CHECK-NEXT: [7.1] - PdFPFMA
266 # CHECK-NEXT: [8.0] - PdFPMAL
267 # CHECK-NEXT: [8.1] - PdFPMAL
268 # CHECK-NEXT: [9]   - PdFPMMA
269 # CHECK-NEXT: [10]  - PdFPSTO
270 # CHECK-NEXT: [11]  - PdFPU0
271 # CHECK-NEXT: [12]  - PdFPU1
272 # CHECK-NEXT: [13]  - PdFPU2
273 # CHECK-NEXT: [14]  - PdFPU3
274 # CHECK-NEXT: [15]  - PdFPXBR
275 # CHECK-NEXT: [16.0] - PdLoad
276 # CHECK-NEXT: [16.1] - PdLoad
277 # CHECK-NEXT: [17]  - PdMul
278 # CHECK-NEXT: [18]  - PdStore
279
280 # CHECK:      Resource pressure per iteration:
281 # CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]
282 # CHECK-NEXT: 24.50  24.50   -      -      -     6.00    -      -     20.00  20.00  32.50  32.50  10.00  13.00  49.50  50.50   -      -      -     22.00  22.00   -     5.00
283
284 # CHECK:      Resource pressure by instruction:
285 # CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]   Instructions:
286 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -      -      -      -     blendpd  $11, %xmm0, %xmm2
287 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     blendpd  $11, (%rax), %xmm2
288 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -      -      -      -     blendps  $11, %xmm0, %xmm2
289 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     blendps  $11, (%rax), %xmm2
290 # CHECK-NEXT:  -      -      -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -      -      -      -     blendvpd %xmm0, %xmm0, %xmm2
291 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     blendvpd %xmm0, (%rax), %xmm2
292 # CHECK-NEXT:  -      -      -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -      -      -      -     blendvps %xmm0, %xmm0, %xmm2
293 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     blendvps %xmm0, (%rax), %xmm2
294 # CHECK-NEXT:  -      -      -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     dppd     $22, %xmm0, %xmm2
295 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     dppd     $22, (%rax), %xmm2
296 # CHECK-NEXT:  -      -      -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     dpps     $22, %xmm0, %xmm2
297 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     dpps     $22, (%rax), %xmm2
298 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     extractps        $1, %xmm0, %ecx
299 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -     1.00   extractps        $1, %xmm0, (%rax)
300 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -      -      -      -     insertps $1, %xmm0, %xmm2
301 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     insertps $1, (%rax), %xmm2
302 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     movntdqa (%rax), %xmm2
303 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     1.00    -      -      -      -      -      -      -      -     mpsadbw  $1, %xmm0, %xmm2
304 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     2.00    -     1.00    -      -      -      -     0.50   0.50    -      -     mpsadbw  $1, (%rax), %xmm2
305 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     packusdw %xmm0, %xmm2
306 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     packusdw (%rax), %xmm2
307 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     2.00   2.00    -      -     0.50   0.50    -      -      -      -      -      -      -     pblendvb %xmm0, %xmm0, %xmm2
308 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     2.00   2.00    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pblendvb %xmm0, (%rax), %xmm2
309 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pblendw  $11, %xmm0, %xmm2
310 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pblendw  $11, (%rax), %xmm2
311 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pcmpeqq  %xmm0, %xmm2
312 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pcmpeqq  (%rax), %xmm2
313 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     pextrb   $1, %xmm0, %ecx
314 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -     1.00   pextrb   $1, %xmm0, (%rax)
315 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     pextrd   $1, %xmm0, %ecx
316 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -     1.00   pextrd   $1, %xmm0, (%rax)
317 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     pextrq   $1, %xmm0, %rcx
318 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -     1.00   pextrq   $1, %xmm0, (%rax)
319 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -     1.00   pextrw   $1, %xmm0, (%rax)
320 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     1.00    -      -      -      -      -      -      -      -     phminposuw       %xmm0, %xmm2
321 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     1.00    -      -      -      -     0.50   0.50    -      -     phminposuw       (%rax), %xmm2
322 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pinsrb   $1, %eax, %xmm1
323 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pinsrb   $1, (%rax), %xmm1
324 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pinsrd   $1, %eax, %xmm1
325 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pinsrd   $1, (%rax), %xmm1
326 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pinsrq   $1, %rax, %xmm1
327 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pinsrq   $1, (%rax), %xmm1
328 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmaxsb   %xmm0, %xmm2
329 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmaxsb   (%rax), %xmm2
330 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmaxsd   %xmm0, %xmm2
331 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmaxsd   (%rax), %xmm2
332 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmaxud   %xmm0, %xmm2
333 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmaxud   (%rax), %xmm2
334 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmaxuw   %xmm0, %xmm2
335 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmaxuw   (%rax), %xmm2
336 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pminsb   %xmm0, %xmm2
337 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pminsb   (%rax), %xmm2
338 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pminsd   %xmm0, %xmm2
339 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pminsd   (%rax), %xmm2
340 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pminud   %xmm0, %xmm2
341 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pminud   (%rax), %xmm2
342 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pminuw   %xmm0, %xmm2
343 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pminuw   (%rax), %xmm2
344 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovsxbd %xmm0, %xmm2
345 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovsxbd (%rax), %xmm2
346 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovsxbq %xmm0, %xmm2
347 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovsxbq (%rax), %xmm2
348 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovsxbw %xmm0, %xmm2
349 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovsxbw (%rax), %xmm2
350 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovsxdq %xmm0, %xmm2
351 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovsxdq (%rax), %xmm2
352 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovsxwd %xmm0, %xmm2
353 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovsxwd (%rax), %xmm2
354 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovsxwq %xmm0, %xmm2
355 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovsxwq (%rax), %xmm2
356 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovzxbd %xmm0, %xmm2
357 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovzxbd (%rax), %xmm2
358 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovzxbq %xmm0, %xmm2
359 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovzxbq (%rax), %xmm2
360 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovzxbw %xmm0, %xmm2
361 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovzxbw (%rax), %xmm2
362 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovzxdq %xmm0, %xmm2
363 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovzxdq (%rax), %xmm2
364 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovzxwd %xmm0, %xmm2
365 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovzxwd (%rax), %xmm2
366 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -      -      -      -     pmovzxwq %xmm0, %xmm2
367 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -     0.50   0.50    -      -     pmovzxwq (%rax), %xmm2
368 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     pmuldq   %xmm0, %xmm2
369 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     0.50   0.50    -      -     pmuldq   (%rax), %xmm2
370 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50   2.00    -     2.50   0.50    -      -      -      -      -      -      -     pmulld   %xmm0, %xmm2
371 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50   2.00    -     2.50   0.50    -      -      -     0.50   0.50    -      -     pmulld   (%rax), %xmm2
372 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     ptest    %xmm0, %xmm1
373 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     ptest    (%rax), %xmm1
374 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     roundpd  $1, %xmm0, %xmm2
375 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -     0.50   0.50    -      -     roundpd  $1, (%rax), %xmm2
376 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     roundps  $1, %xmm0, %xmm2
377 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -     0.50   0.50    -      -     roundps  $1, (%rax), %xmm2
378 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     roundsd  $1, %xmm0, %xmm2
379 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -     0.50   0.50    -      -     roundsd  $1, (%rax), %xmm2
380 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     roundss  $1, %xmm0, %xmm2
381 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -     0.50   0.50    -      -     roundss  $1, (%rax), %xmm2