961 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -instruction-tables < %s | FileCheck %s3 4addpd %xmm0, %xmm25addpd (%rax), %xmm26 7addsd %xmm0, %xmm28addsd (%rax), %xmm29 10andnpd %xmm0, %xmm211andnpd (%rax), %xmm212 13andpd %xmm0, %xmm214andpd (%rax), %xmm215 16clflush (%rax)17 18cmppd $0, %xmm0, %xmm219cmppd $0, (%rax), %xmm220 21cmpsd $0, %xmm0, %xmm222cmpsd $0, (%rax), %xmm223 24comisd %xmm0, %xmm125comisd (%rax), %xmm126 27cvtdq2pd %xmm0, %xmm228cvtdq2pd (%rax), %xmm229 30cvtdq2ps %xmm0, %xmm231cvtdq2ps (%rax), %xmm232 33cvtpd2dq %xmm0, %xmm234cvtpd2dq (%rax), %xmm235 36cvtpd2pi %xmm0, %mm237cvtpd2pi (%rax), %mm238 39cvtpd2ps %xmm0, %xmm240cvtpd2ps (%rax), %xmm241 42cvtpi2pd %mm0, %xmm243cvtpi2pd (%rax), %xmm244 45cvtps2dq %xmm0, %xmm246cvtps2dq (%rax), %xmm247 48cvtps2pd %xmm0, %xmm249cvtps2pd (%rax), %xmm250 51cvtsd2si %xmm0, %ecx52cvtsd2si %xmm0, %rcx53cvtsd2si (%rax), %ecx54cvtsd2si (%rax), %rcx55 56cvtsd2ss %xmm0, %xmm257cvtsd2ss (%rax), %xmm258 59cvtsi2sd %ecx, %xmm260cvtsi2sd %rcx, %xmm261cvtsi2sdl (%rax), %xmm262cvtsi2sdq (%rax), %xmm263 64cvtss2sd %xmm0, %xmm265cvtss2sd (%rax), %xmm266 67cvttpd2dq %xmm0, %xmm268cvttpd2dq (%rax), %xmm269 70cvttpd2pi %xmm0, %mm271cvttpd2pi (%rax), %mm272 73cvttps2dq %xmm0, %xmm274cvttps2dq (%rax), %xmm275 76cvttsd2si %xmm0, %ecx77cvttsd2si %xmm0, %rcx78cvttsd2si (%rax), %ecx79cvttsd2si (%rax), %rcx80 81divpd %xmm0, %xmm282divpd (%rax), %xmm283 84divsd %xmm0, %xmm285divsd (%rax), %xmm286 87lfence88 89maskmovdqu %xmm0, %xmm190 91maxpd %xmm0, %xmm292maxpd (%rax), %xmm293 94maxsd %xmm0, %xmm295maxsd (%rax), %xmm296 97mfence98 99minpd %xmm0, %xmm2100minpd (%rax), %xmm2101 102minsd %xmm0, %xmm2103minsd (%rax), %xmm2104 105movapd %xmm0, %xmm2106movapd %xmm0, (%rax)107movapd (%rax), %xmm2108 109movd %eax, %xmm2110movd (%rax), %xmm2111 112movd %xmm0, %ecx113movd %xmm0, (%rax)114 115movdqa %xmm0, %xmm2116movdqa %xmm0, (%rax)117movdqa (%rax), %xmm2118 119movdqu %xmm0, %xmm2120movdqu %xmm0, (%rax)121movdqu (%rax), %xmm2122 123movdq2q %xmm0, %mm2124 125movhpd %xmm0, (%rax)126movhpd (%rax), %xmm2127 128movlpd %xmm0, (%rax)129movlpd (%rax), %xmm2130 131movmskpd %xmm0, %rcx132 133movntil %eax, (%rax)134movntiq %rax, (%rax)135 136movntdq %xmm0, (%rax)137movntpd %xmm0, (%rax)138 139movq %xmm0, %xmm2140 141movq %rax, %xmm2142movq (%rax), %xmm2143 144movq %xmm0, %rcx145movq %xmm0, (%rax)146 147movq2dq %mm0, %xmm2148 149movsd %xmm0, %xmm2150movsd %xmm0, (%rax)151movsd (%rax), %xmm2152 153movupd %xmm0, %xmm2154movupd %xmm0, (%rax)155movupd (%rax), %xmm2156 157mulpd %xmm0, %xmm2158mulpd (%rax), %xmm2159 160mulsd %xmm0, %xmm2161mulsd (%rax), %xmm2162 163orpd %xmm0, %xmm2164orpd (%rax), %xmm2165 166packssdw %xmm0, %xmm2167packssdw (%rax), %xmm2168 169packsswb %xmm0, %xmm2170packsswb (%rax), %xmm2171 172packuswb %xmm0, %xmm2173packuswb (%rax), %xmm2174 175paddb %xmm0, %xmm2176paddb (%rax), %xmm2177 178paddd %xmm0, %xmm2179paddd (%rax), %xmm2180 181paddq %mm0, %mm2182paddq (%rax), %mm2183 184paddq %xmm0, %xmm2185paddq (%rax), %xmm2186 187paddsb %xmm0, %xmm2188paddsb (%rax), %xmm2189 190paddsw %xmm0, %xmm2191paddsw (%rax), %xmm2192 193paddusb %xmm0, %xmm2194paddusb (%rax), %xmm2195 196paddusw %xmm0, %xmm2197paddusw (%rax), %xmm2198 199paddw %xmm0, %xmm2200paddw (%rax), %xmm2201 202pand %xmm0, %xmm2203pand (%rax), %xmm2204 205pandn %xmm0, %xmm2206pandn (%rax), %xmm2207 208pavgb %xmm0, %xmm2209pavgb (%rax), %xmm2210 211pavgw %xmm0, %xmm2212pavgw (%rax), %xmm2213 214pcmpeqb %xmm0, %xmm2215pcmpeqb (%rax), %xmm2216 217pcmpeqd %xmm0, %xmm2218pcmpeqd (%rax), %xmm2219 220pcmpeqw %xmm0, %xmm2221pcmpeqw (%rax), %xmm2222 223pcmpgtb %xmm0, %xmm2224pcmpgtb (%rax), %xmm2225 226pcmpgtd %xmm0, %xmm2227pcmpgtd (%rax), %xmm2228 229pcmpgtw %xmm0, %xmm2230pcmpgtw (%rax), %xmm2231 232pextrw $1, %xmm0, %rcx233 234pinsrw $1, %rax, %xmm0235pinsrw $1, (%rax), %xmm0236 237pmaddwd %xmm0, %xmm2238pmaddwd (%rax), %xmm2239 240pmaxsw %xmm0, %xmm2241pmaxsw (%rax), %xmm2242 243pmaxub %xmm0, %xmm2244pmaxub (%rax), %xmm2245 246pminsw %xmm0, %xmm2247pminsw (%rax), %xmm2248 249pminub %xmm0, %xmm2250pminub (%rax), %xmm2251 252pmovmskb %xmm0, %rcx253 254pmulhuw %xmm0, %xmm2255pmulhuw (%rax), %xmm2256 257pmulhw %xmm0, %xmm2258pmulhw (%rax), %xmm2259 260pmullw %xmm0, %xmm2261pmullw (%rax), %xmm2262 263pmuludq %mm0, %mm2264pmuludq (%rax), %mm2265 266pmuludq %xmm0, %xmm2267pmuludq (%rax), %xmm2268 269por %xmm0, %xmm2270por (%rax), %xmm2271 272psadbw %xmm0, %xmm2273psadbw (%rax), %xmm2274 275pshufd $1, %xmm0, %xmm2276pshufd $1, (%rax), %xmm2277 278pshufhw $1, %xmm0, %xmm2279pshufhw $1, (%rax), %xmm2280 281pshuflw $1, %xmm0, %xmm2282pshuflw $1, (%rax), %xmm2283 284pslld $1, %xmm2285pslld %xmm0, %xmm2286pslld (%rax), %xmm2287 288pslldq $1, %xmm2289 290psllq $1, %xmm2291psllq %xmm0, %xmm2292psllq (%rax), %xmm2293 294psllw $1, %xmm2295psllw %xmm0, %xmm2296psllw (%rax), %xmm2297 298psrad $1, %xmm2299psrad %xmm0, %xmm2300psrad (%rax), %xmm2301 302psraw $1, %xmm2303psraw %xmm0, %xmm2304psraw (%rax), %xmm2305 306psrld $1, %xmm2307psrld %xmm0, %xmm2308psrld (%rax), %xmm2309 310psrldq $1, %xmm2311 312psrlq $1, %xmm2313psrlq %xmm0, %xmm2314psrlq (%rax), %xmm2315 316psrlw $1, %xmm2317psrlw %xmm0, %xmm2318psrlw (%rax), %xmm2319 320psubb %xmm0, %xmm2321psubb (%rax), %xmm2322 323psubd %xmm0, %xmm2324psubd (%rax), %xmm2325 326psubq %mm0, %mm2327psubq (%rax), %mm2328 329psubq %xmm0, %xmm2330psubq (%rax), %xmm2331 332psubsb %xmm0, %xmm2333psubsb (%rax), %xmm2334 335psubsw %xmm0, %xmm2336psubsw (%rax), %xmm2337 338psubusb %xmm0, %xmm2339psubusb (%rax), %xmm2340 341psubusw %xmm0, %xmm2342psubusw (%rax), %xmm2343 344psubw %xmm0, %xmm2345psubw (%rax), %xmm2346 347punpckhbw %xmm0, %xmm2348punpckhbw (%rax), %xmm2349 350punpckhdq %xmm0, %xmm2351punpckhdq (%rax), %xmm2352 353punpckhqdq %xmm0, %xmm2354punpckhqdq (%rax), %xmm2355 356punpckhwd %xmm0, %xmm2357punpckhwd (%rax), %xmm2358 359punpcklbw %xmm0, %xmm2360punpcklbw (%rax), %xmm2361 362punpckldq %xmm0, %xmm2363punpckldq (%rax), %xmm2364 365punpcklqdq %xmm0, %xmm2366punpcklqdq (%rax), %xmm2367 368punpcklwd %xmm0, %xmm2369punpcklwd (%rax), %xmm2370 371pxor %xmm0, %xmm2372pxor (%rax), %xmm2373 374shufpd $1, %xmm0, %xmm2375shufpd $1, (%rax), %xmm2376 377sqrtpd %xmm0, %xmm2378sqrtpd (%rax), %xmm2379 380sqrtsd %xmm0, %xmm2381sqrtsd (%rax), %xmm2382 383subpd %xmm0, %xmm2384subpd (%rax), %xmm2385 386subsd %xmm0, %xmm2387subsd (%rax), %xmm2388 389ucomisd %xmm0, %xmm1390ucomisd (%rax), %xmm1391 392unpckhpd %xmm0, %xmm2393unpckhpd (%rax), %xmm2394 395unpcklpd %xmm0, %xmm2396unpcklpd (%rax), %xmm2397 398xorpd %xmm0, %xmm2399xorpd (%rax), %xmm2400 401# CHECK: Instruction Info:402# CHECK-NEXT: [1]: #uOps403# CHECK-NEXT: [2]: Latency404# CHECK-NEXT: [3]: RThroughput405# CHECK-NEXT: [4]: MayLoad406# CHECK-NEXT: [5]: MayStore407# CHECK-NEXT: [6]: HasSideEffects (U)408 409# CHECK: [1] [2] [3] [4] [5] [6] Instructions:410# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2411# CHECK-NEXT: 2 9 1.00 * addpd (%rax), %xmm2412# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2413# CHECK-NEXT: 2 9 1.00 * addsd (%rax), %xmm2414# CHECK-NEXT: 1 1 1.00 andnpd %xmm0, %xmm2415# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2416# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2417# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2418# CHECK-NEXT: 4 5 1.00 * * U clflush (%rax)419# CHECK-NEXT: 1 3 1.00 cmpeqpd %xmm0, %xmm2420# CHECK-NEXT: 2 9 1.00 * cmpeqpd (%rax), %xmm2421# CHECK-NEXT: 1 3 1.00 cmpeqsd %xmm0, %xmm2422# CHECK-NEXT: 2 9 1.00 * cmpeqsd (%rax), %xmm2423# CHECK-NEXT: 2 2 1.00 comisd %xmm0, %xmm1424# CHECK-NEXT: 3 8 1.00 * comisd (%rax), %xmm1425# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2426# CHECK-NEXT: 3 10 1.00 * cvtdq2pd (%rax), %xmm2427# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2428# CHECK-NEXT: 2 9 1.00 * cvtdq2ps (%rax), %xmm2429# CHECK-NEXT: 2 4 1.00 cvtpd2dq %xmm0, %xmm2430# CHECK-NEXT: 3 10 1.00 * cvtpd2dq (%rax), %xmm2431# CHECK-NEXT: 2 4 1.00 cvtpd2pi %xmm0, %mm2432# CHECK-NEXT: 3 10 1.00 * cvtpd2pi (%rax), %mm2433# CHECK-NEXT: 2 4 1.00 cvtpd2ps %xmm0, %xmm2434# CHECK-NEXT: 3 10 1.00 * cvtpd2ps (%rax), %xmm2435# CHECK-NEXT: 2 4 1.00 cvtpi2pd %mm0, %xmm2436# CHECK-NEXT: 3 10 1.00 * cvtpi2pd (%rax), %xmm2437# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2438# CHECK-NEXT: 2 9 1.00 * cvtps2dq (%rax), %xmm2439# CHECK-NEXT: 2 2 1.00 cvtps2pd %xmm0, %xmm2440# CHECK-NEXT: 2 7 1.00 * cvtps2pd (%rax), %xmm2441# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %ecx442# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %rcx443# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %ecx444# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %rcx445# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2446# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2447# CHECK-NEXT: 2 4 1.00 cvtsi2sd %ecx, %xmm2448# CHECK-NEXT: 2 4 1.00 cvtsi2sd %rcx, %xmm2449# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2450# CHECK-NEXT: 2 9 1.00 * cvtsi2sdq (%rax), %xmm2451# CHECK-NEXT: 2 1 1.00 cvtss2sd %xmm0, %xmm2452# CHECK-NEXT: 2 7 1.00 * cvtss2sd (%rax), %xmm2453# CHECK-NEXT: 2 4 1.00 cvttpd2dq %xmm0, %xmm2454# CHECK-NEXT: 3 10 1.00 * cvttpd2dq (%rax), %xmm2455# CHECK-NEXT: 2 4 1.00 cvttpd2pi %xmm0, %mm2456# CHECK-NEXT: 3 10 1.00 * cvttpd2pi (%rax), %mm2457# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2458# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2459# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %ecx460# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %rcx461# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %ecx462# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %rcx463# CHECK-NEXT: 1 22 22.00 divpd %xmm0, %xmm2464# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2465# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2466# CHECK-NEXT: 2 28 22.00 * divsd (%rax), %xmm2467# CHECK-NEXT: 2 1 1.00 * * U lfence468# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1469# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2470# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2471# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2472# CHECK-NEXT: 2 9 1.00 * maxsd (%rax), %xmm2473# CHECK-NEXT: 2 1 1.00 * * U mfence474# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2475# CHECK-NEXT: 2 9 1.00 * minpd (%rax), %xmm2476# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2477# CHECK-NEXT: 2 9 1.00 * minsd (%rax), %xmm2478# CHECK-NEXT: 1 1 1.00 movapd %xmm0, %xmm2479# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax)480# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2481# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2482# CHECK-NEXT: 1 6 0.50 * movd (%rax), %xmm2483# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx484# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax)485# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2486# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax)487# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2488# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2489# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax)490# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2491# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2492# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax)493# CHECK-NEXT: 2 7 1.00 * movhpd (%rax), %xmm2494# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)495# CHECK-NEXT: 2 7 1.00 * movlpd (%rax), %xmm2496# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx497# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)498# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)499# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax)500# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax)501# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2502# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2503# CHECK-NEXT: 1 6 0.50 * movq (%rax), %xmm2504# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx505# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax)506# CHECK-NEXT: 1 1 0.33 movq2dq %mm0, %xmm2507# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2508# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax)509# CHECK-NEXT: 1 6 0.50 * movsd (%rax), %xmm2510# CHECK-NEXT: 1 1 1.00 movupd %xmm0, %xmm2511# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax)512# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2513# CHECK-NEXT: 1 5 1.00 mulpd %xmm0, %xmm2514# CHECK-NEXT: 2 11 1.00 * mulpd (%rax), %xmm2515# CHECK-NEXT: 1 5 1.00 mulsd %xmm0, %xmm2516# CHECK-NEXT: 2 11 1.00 * mulsd (%rax), %xmm2517# CHECK-NEXT: 1 1 1.00 orpd %xmm0, %xmm2518# CHECK-NEXT: 2 7 1.00 * orpd (%rax), %xmm2519# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2520# CHECK-NEXT: 2 7 0.50 * packssdw (%rax), %xmm2521# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2522# CHECK-NEXT: 2 7 0.50 * packsswb (%rax), %xmm2523# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2524# CHECK-NEXT: 2 7 0.50 * packuswb (%rax), %xmm2525# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2526# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2527# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2528# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2529# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2530# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %mm2531# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2532# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2533# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2534# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2535# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2536# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2537# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2538# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2539# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2540# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2541# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2542# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2543# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2544# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2545# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2546# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2547# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2548# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2549# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2550# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2551# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2552# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2553# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2554# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2555# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2556# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2557# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2558# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2559# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2560# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2561# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2562# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2563# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx564# CHECK-NEXT: 2 2 1.00 pinsrw $1, %eax, %xmm0565# CHECK-NEXT: 2 7 0.50 * pinsrw $1, (%rax), %xmm0566# CHECK-NEXT: 1 5 1.00 pmaddwd %xmm0, %xmm2567# CHECK-NEXT: 2 11 1.00 * pmaddwd (%rax), %xmm2568# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2569# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2570# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2571# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2572# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2573# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2574# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2575# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2576# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx577# CHECK-NEXT: 1 5 1.00 pmulhuw %xmm0, %xmm2578# CHECK-NEXT: 2 11 1.00 * pmulhuw (%rax), %xmm2579# CHECK-NEXT: 1 5 1.00 pmulhw %xmm0, %xmm2580# CHECK-NEXT: 2 11 1.00 * pmulhw (%rax), %xmm2581# CHECK-NEXT: 1 5 1.00 pmullw %xmm0, %xmm2582# CHECK-NEXT: 2 11 1.00 * pmullw (%rax), %xmm2583# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2584# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2585# CHECK-NEXT: 1 5 1.00 pmuludq %xmm0, %xmm2586# CHECK-NEXT: 2 11 1.00 * pmuludq (%rax), %xmm2587# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2588# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2589# CHECK-NEXT: 1 5 1.00 psadbw %xmm0, %xmm2590# CHECK-NEXT: 2 11 1.00 * psadbw (%rax), %xmm2591# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2592# CHECK-NEXT: 2 7 0.50 * pshufd $1, (%rax), %xmm2593# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2594# CHECK-NEXT: 2 7 0.50 * pshufhw $1, (%rax), %xmm2595# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2596# CHECK-NEXT: 2 7 0.50 * pshuflw $1, (%rax), %xmm2597# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2598# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2599# CHECK-NEXT: 3 8 1.00 * pslld (%rax), %xmm2600# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2601# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2602# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2603# CHECK-NEXT: 3 8 1.00 * psllq (%rax), %xmm2604# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2605# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2606# CHECK-NEXT: 3 8 1.00 * psllw (%rax), %xmm2607# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2608# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2609# CHECK-NEXT: 3 8 1.00 * psrad (%rax), %xmm2610# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2611# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2612# CHECK-NEXT: 3 8 1.00 * psraw (%rax), %xmm2613# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2614# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2615# CHECK-NEXT: 3 8 1.00 * psrld (%rax), %xmm2616# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2617# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2618# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2619# CHECK-NEXT: 3 8 1.00 * psrlq (%rax), %xmm2620# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2621# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2622# CHECK-NEXT: 3 8 1.00 * psrlw (%rax), %xmm2623# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2624# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2625# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2626# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2627# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2628# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %mm2629# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2630# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2631# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2632# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2633# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2634# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2635# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2636# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2637# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2638# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2639# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2640# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2641# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2642# CHECK-NEXT: 2 7 0.50 * punpckhbw (%rax), %xmm2643# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2644# CHECK-NEXT: 2 7 0.50 * punpckhdq (%rax), %xmm2645# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2646# CHECK-NEXT: 2 7 0.50 * punpckhqdq (%rax), %xmm2647# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2648# CHECK-NEXT: 2 7 0.50 * punpckhwd (%rax), %xmm2649# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2650# CHECK-NEXT: 2 7 0.50 * punpcklbw (%rax), %xmm2651# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2652# CHECK-NEXT: 2 7 0.50 * punpckldq (%rax), %xmm2653# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2654# CHECK-NEXT: 2 7 0.50 * punpcklqdq (%rax), %xmm2655# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2656# CHECK-NEXT: 2 7 0.50 * punpcklwd (%rax), %xmm2657# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2658# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2659# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2660# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2661# CHECK-NEXT: 1 21 21.00 sqrtpd %xmm0, %xmm2662# CHECK-NEXT: 2 27 21.00 * sqrtpd (%rax), %xmm2663# CHECK-NEXT: 1 21 21.00 sqrtsd %xmm0, %xmm2664# CHECK-NEXT: 2 27 21.00 * sqrtsd (%rax), %xmm2665# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2666# CHECK-NEXT: 2 9 1.00 * subpd (%rax), %xmm2667# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2668# CHECK-NEXT: 2 9 1.00 * subsd (%rax), %xmm2669# CHECK-NEXT: 2 2 1.00 ucomisd %xmm0, %xmm1670# CHECK-NEXT: 3 8 1.00 * ucomisd (%rax), %xmm1671# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2672# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2673# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2674# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2675# CHECK-NEXT: 1 1 1.00 xorpd %xmm0, %xmm2676# CHECK-NEXT: 2 7 1.00 * xorpd (%rax), %xmm2677 678# CHECK: Resources:679# CHECK-NEXT: [0] - SBDivider680# CHECK-NEXT: [1] - SBFPDivider681# CHECK-NEXT: [2] - SBPort0682# CHECK-NEXT: [3] - SBPort1683# CHECK-NEXT: [4] - SBPort4684# CHECK-NEXT: [5] - SBPort5685# CHECK-NEXT: [6.0] - SBPort23686# CHECK-NEXT: [6.1] - SBPort23687 688# CHECK: Resource pressure per iteration:689# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]690# CHECK-NEXT: - 172.00 75.83 117.33 17.00 102.83 67.00 67.00691 692# CHECK: Resource pressure by instruction:693# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:694# CHECK-NEXT: - - - 1.00 - - - - addpd %xmm0, %xmm2695# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addpd (%rax), %xmm2696# CHECK-NEXT: - - - 1.00 - - - - addsd %xmm0, %xmm2697# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addsd (%rax), %xmm2698# CHECK-NEXT: - - - - - 1.00 - - andnpd %xmm0, %xmm2699# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andnpd (%rax), %xmm2700# CHECK-NEXT: - - - - - 1.00 - - andpd %xmm0, %xmm2701# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andpd (%rax), %xmm2702# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 0.50 0.50 clflush (%rax)703# CHECK-NEXT: - - - 1.00 - - - - cmpeqpd %xmm0, %xmm2704# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqpd (%rax), %xmm2705# CHECK-NEXT: - - - 1.00 - - - - cmpeqsd %xmm0, %xmm2706# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqsd (%rax), %xmm2707# CHECK-NEXT: - - 1.00 1.00 - - - - comisd %xmm0, %xmm1708# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comisd (%rax), %xmm1709# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtdq2pd %xmm0, %xmm2710# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtdq2pd (%rax), %xmm2711# CHECK-NEXT: - - - 1.00 - - - - cvtdq2ps %xmm0, %xmm2712# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtdq2ps (%rax), %xmm2713# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2dq %xmm0, %xmm2714# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2dq (%rax), %xmm2715# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2pi %xmm0, %mm2716# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2pi (%rax), %mm2717# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2ps %xmm0, %xmm2718# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2ps (%rax), %xmm2719# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpi2pd %mm0, %xmm2720# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpi2pd (%rax), %xmm2721# CHECK-NEXT: - - - 1.00 - - - - cvtps2dq %xmm0, %xmm2722# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtps2dq (%rax), %xmm2723# CHECK-NEXT: - - 1.00 - - 1.00 - - cvtps2pd %xmm0, %xmm2724# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 cvtps2pd (%rax), %xmm2725# CHECK-NEXT: - - 1.00 1.00 - - - - cvtsd2si %xmm0, %ecx726# CHECK-NEXT: - - 1.00 1.00 - - - - cvtsd2si %xmm0, %rcx727# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtsd2si (%rax), %ecx728# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtsd2si (%rax), %rcx729# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsd2ss %xmm0, %xmm2730# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtsd2ss (%rax), %xmm2731# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsi2sd %ecx, %xmm2732# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsi2sd %rcx, %xmm2733# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtsi2sdl (%rax), %xmm2734# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtsi2sdq (%rax), %xmm2735# CHECK-NEXT: - - 1.00 - - 1.00 - - cvtss2sd %xmm0, %xmm2736# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 cvtss2sd (%rax), %xmm2737# CHECK-NEXT: - - - 1.00 - 1.00 - - cvttpd2dq %xmm0, %xmm2738# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvttpd2dq (%rax), %xmm2739# CHECK-NEXT: - - - 1.00 - 1.00 - - cvttpd2pi %xmm0, %mm2740# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvttpd2pi (%rax), %mm2741# CHECK-NEXT: - - - 1.00 - - - - cvttps2dq %xmm0, %xmm2742# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvttps2dq (%rax), %xmm2743# CHECK-NEXT: - - 1.00 1.00 - - - - cvttsd2si %xmm0, %ecx744# CHECK-NEXT: - - 1.00 1.00 - - - - cvttsd2si %xmm0, %rcx745# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttsd2si (%rax), %ecx746# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttsd2si (%rax), %rcx747# CHECK-NEXT: - 22.00 1.00 - - - - - divpd %xmm0, %xmm2748# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 divpd (%rax), %xmm2749# CHECK-NEXT: - 22.00 1.00 - - - - - divsd %xmm0, %xmm2750# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 divsd (%rax), %xmm2751# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 lfence752# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 maskmovdqu %xmm0, %xmm1753# CHECK-NEXT: - - - 1.00 - - - - maxpd %xmm0, %xmm2754# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxpd (%rax), %xmm2755# CHECK-NEXT: - - - 1.00 - - - - maxsd %xmm0, %xmm2756# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxsd (%rax), %xmm2757# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 mfence758# CHECK-NEXT: - - - 1.00 - - - - minpd %xmm0, %xmm2759# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minpd (%rax), %xmm2760# CHECK-NEXT: - - - 1.00 - - - - minsd %xmm0, %xmm2761# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minsd (%rax), %xmm2762# CHECK-NEXT: - - - - - 1.00 - - movapd %xmm0, %xmm2763# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movapd %xmm0, (%rax)764# CHECK-NEXT: - - - - - - 0.50 0.50 movapd (%rax), %xmm2765# CHECK-NEXT: - - - - - 1.00 - - movd %eax, %xmm2766# CHECK-NEXT: - - - - - - 0.50 0.50 movd (%rax), %xmm2767# CHECK-NEXT: - - 1.00 - - - - - movd %xmm0, %ecx768# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movd %xmm0, (%rax)769# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movdqa %xmm0, %xmm2770# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movdqa %xmm0, (%rax)771# CHECK-NEXT: - - - - - - 0.50 0.50 movdqa (%rax), %xmm2772# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movdqu %xmm0, %xmm2773# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movdqu %xmm0, (%rax)774# CHECK-NEXT: - - - - - - 0.50 0.50 movdqu (%rax), %xmm2775# CHECK-NEXT: - - 0.33 0.33 - 1.33 - - movdq2q %xmm0, %mm2776# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movhpd %xmm0, (%rax)777# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movhpd (%rax), %xmm2778# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movlpd %xmm0, (%rax)779# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movlpd (%rax), %xmm2780# CHECK-NEXT: - - 1.00 - - - - - movmskpd %xmm0, %ecx781# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntil %eax, (%rax)782# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntiq %rax, (%rax)783# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntdq %xmm0, (%rax)784# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntpd %xmm0, (%rax)785# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq %xmm0, %xmm2786# CHECK-NEXT: - - - - - 1.00 - - movq %rax, %xmm2787# CHECK-NEXT: - - - - - - 0.50 0.50 movq (%rax), %xmm2788# CHECK-NEXT: - - 1.00 - - - - - movq %xmm0, %rcx789# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movq %xmm0, (%rax)790# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq2dq %mm0, %xmm2791# CHECK-NEXT: - - - - - 1.00 - - movsd %xmm0, %xmm2792# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movsd %xmm0, (%rax)793# CHECK-NEXT: - - - - - - 0.50 0.50 movsd (%rax), %xmm2794# CHECK-NEXT: - - - - - 1.00 - - movupd %xmm0, %xmm2795# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movupd %xmm0, (%rax)796# CHECK-NEXT: - - - - - - 0.50 0.50 movupd (%rax), %xmm2797# CHECK-NEXT: - - 1.00 - - - - - mulpd %xmm0, %xmm2798# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulpd (%rax), %xmm2799# CHECK-NEXT: - - 1.00 - - - - - mulsd %xmm0, %xmm2800# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulsd (%rax), %xmm2801# CHECK-NEXT: - - - - - 1.00 - - orpd %xmm0, %xmm2802# CHECK-NEXT: - - - - - 1.00 0.50 0.50 orpd (%rax), %xmm2803# CHECK-NEXT: - - - 0.50 - 0.50 - - packssdw %xmm0, %xmm2804# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packssdw (%rax), %xmm2805# CHECK-NEXT: - - - 0.50 - 0.50 - - packsswb %xmm0, %xmm2806# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packsswb (%rax), %xmm2807# CHECK-NEXT: - - - 0.50 - 0.50 - - packuswb %xmm0, %xmm2808# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packuswb (%rax), %xmm2809# CHECK-NEXT: - - - 0.50 - 0.50 - - paddb %xmm0, %xmm2810# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddb (%rax), %xmm2811# CHECK-NEXT: - - - 0.50 - 0.50 - - paddd %xmm0, %xmm2812# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddd (%rax), %xmm2813# CHECK-NEXT: - - - 0.50 - 0.50 - - paddq %mm0, %mm2814# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddq (%rax), %mm2815# CHECK-NEXT: - - - 0.50 - 0.50 - - paddq %xmm0, %xmm2816# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddq (%rax), %xmm2817# CHECK-NEXT: - - - 0.50 - 0.50 - - paddsb %xmm0, %xmm2818# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddsb (%rax), %xmm2819# CHECK-NEXT: - - - 0.50 - 0.50 - - paddsw %xmm0, %xmm2820# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddsw (%rax), %xmm2821# CHECK-NEXT: - - - 0.50 - 0.50 - - paddusb %xmm0, %xmm2822# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddusb (%rax), %xmm2823# CHECK-NEXT: - - - 0.50 - 0.50 - - paddusw %xmm0, %xmm2824# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddusw (%rax), %xmm2825# CHECK-NEXT: - - - 0.50 - 0.50 - - paddw %xmm0, %xmm2826# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddw (%rax), %xmm2827# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pand %xmm0, %xmm2828# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pand (%rax), %xmm2829# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pandn %xmm0, %xmm2830# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pandn (%rax), %xmm2831# CHECK-NEXT: - - - 0.50 - 0.50 - - pavgb %xmm0, %xmm2832# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pavgb (%rax), %xmm2833# CHECK-NEXT: - - - 0.50 - 0.50 - - pavgw %xmm0, %xmm2834# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pavgw (%rax), %xmm2835# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqb %xmm0, %xmm2836# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqb (%rax), %xmm2837# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqd %xmm0, %xmm2838# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqd (%rax), %xmm2839# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqw %xmm0, %xmm2840# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqw (%rax), %xmm2841# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtb %xmm0, %xmm2842# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtb (%rax), %xmm2843# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtd %xmm0, %xmm2844# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtd (%rax), %xmm2845# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtw %xmm0, %xmm2846# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtw (%rax), %xmm2847# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrw $1, %xmm0, %ecx848# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrw $1, %eax, %xmm0849# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrw $1, (%rax), %xmm0850# CHECK-NEXT: - - 1.00 - - - - - pmaddwd %xmm0, %xmm2851# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmaddwd (%rax), %xmm2852# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxsw %xmm0, %xmm2853# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxsw (%rax), %xmm2854# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxub %xmm0, %xmm2855# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxub (%rax), %xmm2856# CHECK-NEXT: - - - 0.50 - 0.50 - - pminsw %xmm0, %xmm2857# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminsw (%rax), %xmm2858# CHECK-NEXT: - - - 0.50 - 0.50 - - pminub %xmm0, %xmm2859# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminub (%rax), %xmm2860# CHECK-NEXT: - - 1.00 - - - - - pmovmskb %xmm0, %ecx861# CHECK-NEXT: - - 1.00 - - - - - pmulhuw %xmm0, %xmm2862# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhuw (%rax), %xmm2863# CHECK-NEXT: - - 1.00 - - - - - pmulhw %xmm0, %xmm2864# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhw (%rax), %xmm2865# CHECK-NEXT: - - 1.00 - - - - - pmullw %xmm0, %xmm2866# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmullw (%rax), %xmm2867# CHECK-NEXT: - - 1.00 - - - - - pmuludq %mm0, %mm2868# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuludq (%rax), %mm2869# CHECK-NEXT: - - 1.00 - - - - - pmuludq %xmm0, %xmm2870# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuludq (%rax), %xmm2871# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - por %xmm0, %xmm2872# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 por (%rax), %xmm2873# CHECK-NEXT: - - 1.00 - - - - - psadbw %xmm0, %xmm2874# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 psadbw (%rax), %xmm2875# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufd $1, %xmm0, %xmm2876# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufd $1, (%rax), %xmm2877# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufhw $1, %xmm0, %xmm2878# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufhw $1, (%rax), %xmm2879# CHECK-NEXT: - - - 0.50 - 0.50 - - pshuflw $1, %xmm0, %xmm2880# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshuflw $1, (%rax), %xmm2881# CHECK-NEXT: - - 1.00 - - - - - pslld $1, %xmm2882# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pslld %xmm0, %xmm2883# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 pslld (%rax), %xmm2884# CHECK-NEXT: - - - 0.50 - 0.50 - - pslldq $1, %xmm2885# CHECK-NEXT: - - 1.00 - - - - - psllq $1, %xmm2886# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psllq %xmm0, %xmm2887# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psllq (%rax), %xmm2888# CHECK-NEXT: - - 1.00 - - - - - psllw $1, %xmm2889# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psllw %xmm0, %xmm2890# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psllw (%rax), %xmm2891# CHECK-NEXT: - - 1.00 - - - - - psrad $1, %xmm2892# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrad %xmm0, %xmm2893# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrad (%rax), %xmm2894# CHECK-NEXT: - - 1.00 - - - - - psraw $1, %xmm2895# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psraw %xmm0, %xmm2896# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psraw (%rax), %xmm2897# CHECK-NEXT: - - 1.00 - - - - - psrld $1, %xmm2898# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrld %xmm0, %xmm2899# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrld (%rax), %xmm2900# CHECK-NEXT: - - - 0.50 - 0.50 - - psrldq $1, %xmm2901# CHECK-NEXT: - - 1.00 - - - - - psrlq $1, %xmm2902# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrlq %xmm0, %xmm2903# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrlq (%rax), %xmm2904# CHECK-NEXT: - - 1.00 - - - - - psrlw $1, %xmm2905# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrlw %xmm0, %xmm2906# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrlw (%rax), %xmm2907# CHECK-NEXT: - - - 0.50 - 0.50 - - psubb %xmm0, %xmm2908# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubb (%rax), %xmm2909# CHECK-NEXT: - - - 0.50 - 0.50 - - psubd %xmm0, %xmm2910# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubd (%rax), %xmm2911# CHECK-NEXT: - - - 0.50 - 0.50 - - psubq %mm0, %mm2912# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubq (%rax), %mm2913# CHECK-NEXT: - - - 0.50 - 0.50 - - psubq %xmm0, %xmm2914# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubq (%rax), %xmm2915# CHECK-NEXT: - - - 0.50 - 0.50 - - psubsb %xmm0, %xmm2916# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubsb (%rax), %xmm2917# CHECK-NEXT: - - - 0.50 - 0.50 - - psubsw %xmm0, %xmm2918# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubsw (%rax), %xmm2919# CHECK-NEXT: - - - 0.50 - 0.50 - - psubusb %xmm0, %xmm2920# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubusb (%rax), %xmm2921# CHECK-NEXT: - - - 0.50 - 0.50 - - psubusw %xmm0, %xmm2922# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubusw (%rax), %xmm2923# CHECK-NEXT: - - - 0.50 - 0.50 - - psubw %xmm0, %xmm2924# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubw (%rax), %xmm2925# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhbw %xmm0, %xmm2926# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhbw (%rax), %xmm2927# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhdq %xmm0, %xmm2928# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhdq (%rax), %xmm2929# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhqdq %xmm0, %xmm2930# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhqdq (%rax), %xmm2931# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhwd %xmm0, %xmm2932# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhwd (%rax), %xmm2933# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklbw %xmm0, %xmm2934# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklbw (%rax), %xmm2935# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckldq %xmm0, %xmm2936# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckldq (%rax), %xmm2937# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklqdq %xmm0, %xmm2938# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklqdq (%rax), %xmm2939# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklwd %xmm0, %xmm2940# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklwd (%rax), %xmm2941# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pxor %xmm0, %xmm2942# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pxor (%rax), %xmm2943# CHECK-NEXT: - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2944# CHECK-NEXT: - - - - - 1.00 0.50 0.50 shufpd $1, (%rax), %xmm2945# CHECK-NEXT: - 21.00 1.00 - - - - - sqrtpd %xmm0, %xmm2946# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 sqrtpd (%rax), %xmm2947# CHECK-NEXT: - 21.00 1.00 - - - - - sqrtsd %xmm0, %xmm2948# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 sqrtsd (%rax), %xmm2949# CHECK-NEXT: - - - 1.00 - - - - subpd %xmm0, %xmm2950# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subpd (%rax), %xmm2951# CHECK-NEXT: - - - 1.00 - - - - subsd %xmm0, %xmm2952# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subsd (%rax), %xmm2953# CHECK-NEXT: - - 1.00 1.00 - - - - ucomisd %xmm0, %xmm1954# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 ucomisd (%rax), %xmm1955# CHECK-NEXT: - - - - - 1.00 - - unpckhpd %xmm0, %xmm2956# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpckhpd (%rax), %xmm2957# CHECK-NEXT: - - - - - 1.00 - - unpcklpd %xmm0, %xmm2958# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpcklpd (%rax), %xmm2959# CHECK-NEXT: - - - - - 1.00 - - xorpd %xmm0, %xmm2960# CHECK-NEXT: - - - - - 1.00 0.50 0.50 xorpd (%rax), %xmm2961