963 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -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 4 0.50 addpd %xmm0, %xmm2411# CHECK-NEXT: 2 10 0.50 * addpd (%rax), %xmm2412# CHECK-NEXT: 1 4 0.50 addsd %xmm0, %xmm2413# CHECK-NEXT: 2 9 0.50 * addsd (%rax), %xmm2414# CHECK-NEXT: 1 1 0.33 andnpd %xmm0, %xmm2415# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2416# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2417# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2418# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)419# CHECK-NEXT: 1 4 0.50 cmpeqpd %xmm0, %xmm2420# CHECK-NEXT: 2 10 0.50 * cmpeqpd (%rax), %xmm2421# CHECK-NEXT: 1 4 0.50 cmpeqsd %xmm0, %xmm2422# CHECK-NEXT: 2 9 0.50 * cmpeqsd (%rax), %xmm2423# CHECK-NEXT: 1 2 1.00 comisd %xmm0, %xmm1424# CHECK-NEXT: 2 7 1.00 * comisd (%rax), %xmm1425# CHECK-NEXT: 1 4 0.50 cvtdq2pd %xmm0, %xmm2426# CHECK-NEXT: 3 11 1.00 * cvtdq2pd (%rax), %xmm2427# CHECK-NEXT: 1 4 0.50 cvtdq2ps %xmm0, %xmm2428# CHECK-NEXT: 2 10 0.50 * cvtdq2ps (%rax), %xmm2429# CHECK-NEXT: 2 5 1.00 cvtpd2dq %xmm0, %xmm2430# CHECK-NEXT: 3 11 1.00 * cvtpd2dq (%rax), %xmm2431# CHECK-NEXT: 2 5 1.00 cvtpd2pi %xmm0, %mm2432# CHECK-NEXT: 3 11 1.00 * cvtpd2pi (%rax), %mm2433# CHECK-NEXT: 2 5 1.00 cvtpd2ps %xmm0, %xmm2434# CHECK-NEXT: 3 9 1.00 * cvtpd2ps (%rax), %xmm2435# CHECK-NEXT: 1 4 0.50 cvtpi2pd %mm0, %xmm2436# CHECK-NEXT: 2 9 0.50 * cvtpi2pd (%rax), %xmm2437# CHECK-NEXT: 1 4 0.50 cvtps2dq %xmm0, %xmm2438# CHECK-NEXT: 2 10 0.50 * cvtps2dq (%rax), %xmm2439# CHECK-NEXT: 2 5 1.00 cvtps2pd %xmm0, %xmm2440# CHECK-NEXT: 2 9 0.50 * cvtps2pd (%rax), %xmm2441# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %ecx442# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %rcx443# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %ecx444# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %rcx445# CHECK-NEXT: 2 5 1.00 cvtsd2ss %xmm0, %xmm2446# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2447# CHECK-NEXT: 2 5 1.00 cvtsi2sd %ecx, %xmm2448# CHECK-NEXT: 2 5 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 5 1.00 cvtss2sd %xmm0, %xmm2452# CHECK-NEXT: 2 10 0.50 * cvtss2sd (%rax), %xmm2453# CHECK-NEXT: 2 5 1.00 cvttpd2dq %xmm0, %xmm2454# CHECK-NEXT: 3 11 1.00 * cvttpd2dq (%rax), %xmm2455# CHECK-NEXT: 2 5 1.00 cvttpd2pi %xmm0, %mm2456# CHECK-NEXT: 3 11 1.00 * cvttpd2pi (%rax), %mm2457# CHECK-NEXT: 1 4 0.50 cvttps2dq %xmm0, %xmm2458# CHECK-NEXT: 2 10 0.50 * cvttps2dq (%rax), %xmm2459# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %ecx460# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %rcx461# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %ecx462# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %rcx463# CHECK-NEXT: 1 14 4.00 divpd %xmm0, %xmm2464# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2465# CHECK-NEXT: 1 14 4.00 divsd %xmm0, %xmm2466# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2467# CHECK-NEXT: 2 2 0.50 * * U lfence468# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1469# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2470# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2471# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2472# CHECK-NEXT: 2 9 0.50 * maxsd (%rax), %xmm2473# CHECK-NEXT: 2 1 1.00 * * U mfence474# CHECK-NEXT: 1 4 0.50 minpd %xmm0, %xmm2475# CHECK-NEXT: 2 10 0.50 * minpd (%rax), %xmm2476# CHECK-NEXT: 1 4 0.50 minsd %xmm0, %xmm2477# CHECK-NEXT: 2 9 0.50 * minsd (%rax), %xmm2478# CHECK-NEXT: 1 1 0.33 movapd %xmm0, %xmm2479# CHECK-NEXT: 2 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 5 0.50 * movd (%rax), %xmm2483# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx484# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax)485# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2486# CHECK-NEXT: 2 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: 2 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: 2 1 1.00 * movhpd %xmm0, (%rax)493# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2494# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)495# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2496# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx497# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)498# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)499# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)500# CHECK-NEXT: 2 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 5 0.50 * movq (%rax), %xmm2504# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx505# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax)506# CHECK-NEXT: 2 2 2.00 movq2dq %mm0, %xmm2507# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2508# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax)509# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2510# CHECK-NEXT: 1 1 0.33 movupd %xmm0, %xmm2511# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax)512# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2513# CHECK-NEXT: 1 4 0.50 mulpd %xmm0, %xmm2514# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2515# CHECK-NEXT: 1 4 0.50 mulsd %xmm0, %xmm2516# CHECK-NEXT: 2 9 0.50 * mulsd (%rax), %xmm2517# CHECK-NEXT: 1 1 0.33 orpd %xmm0, %xmm2518# CHECK-NEXT: 2 7 0.50 * orpd (%rax), %xmm2519# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2520# CHECK-NEXT: 2 7 1.00 * packssdw (%rax), %xmm2521# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2522# CHECK-NEXT: 2 7 1.00 * packsswb (%rax), %xmm2523# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2524# CHECK-NEXT: 2 7 1.00 * packuswb (%rax), %xmm2525# CHECK-NEXT: 1 1 0.33 paddb %xmm0, %xmm2526# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2527# CHECK-NEXT: 1 1 0.33 paddd %xmm0, %xmm2528# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2529# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2530# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2531# CHECK-NEXT: 1 1 0.33 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.33 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 2.00 pinsrw $1, %eax, %xmm0565# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %xmm0566# CHECK-NEXT: 1 5 0.50 pmaddwd %xmm0, %xmm2567# CHECK-NEXT: 2 11 0.50 * 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 0.50 pmulhuw %xmm0, %xmm2578# CHECK-NEXT: 2 11 0.50 * pmulhuw (%rax), %xmm2579# CHECK-NEXT: 1 5 0.50 pmulhw %xmm0, %xmm2580# CHECK-NEXT: 2 11 0.50 * pmulhw (%rax), %xmm2581# CHECK-NEXT: 1 5 0.50 pmullw %xmm0, %xmm2582# CHECK-NEXT: 2 11 0.50 * 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 0.50 pmuludq %xmm0, %xmm2586# CHECK-NEXT: 2 11 0.50 * pmuludq (%rax), %xmm2587# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2588# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2589# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2590# CHECK-NEXT: 2 9 1.00 * psadbw (%rax), %xmm2591# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2592# CHECK-NEXT: 2 7 1.00 * pshufd $1, (%rax), %xmm2593# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2594# CHECK-NEXT: 2 7 1.00 * pshufhw $1, (%rax), %xmm2595# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2596# CHECK-NEXT: 2 7 1.00 * pshuflw $1, (%rax), %xmm2597# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2598# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2599# CHECK-NEXT: 2 7 0.50 * pslld (%rax), %xmm2600# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2601# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2602# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2603# CHECK-NEXT: 2 7 0.50 * psllq (%rax), %xmm2604# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2605# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2606# CHECK-NEXT: 2 7 0.50 * psllw (%rax), %xmm2607# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2608# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2609# CHECK-NEXT: 2 7 0.50 * psrad (%rax), %xmm2610# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2611# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2612# CHECK-NEXT: 2 7 0.50 * psraw (%rax), %xmm2613# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2614# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2615# CHECK-NEXT: 2 7 0.50 * psrld (%rax), %xmm2616# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2617# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2618# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2619# CHECK-NEXT: 2 7 0.50 * psrlq (%rax), %xmm2620# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2621# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2622# CHECK-NEXT: 2 7 0.50 * psrlw (%rax), %xmm2623# CHECK-NEXT: 1 1 0.33 psubb %xmm0, %xmm2624# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2625# CHECK-NEXT: 1 1 0.33 psubd %xmm0, %xmm2626# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2627# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2628# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2629# CHECK-NEXT: 1 1 0.33 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.33 psubw %xmm0, %xmm2640# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2641# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2642# CHECK-NEXT: 2 7 1.00 * punpckhbw (%rax), %xmm2643# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2644# CHECK-NEXT: 2 7 1.00 * punpckhdq (%rax), %xmm2645# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2646# CHECK-NEXT: 2 7 1.00 * punpckhqdq (%rax), %xmm2647# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2648# CHECK-NEXT: 2 7 1.00 * punpckhwd (%rax), %xmm2649# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2650# CHECK-NEXT: 2 7 1.00 * punpcklbw (%rax), %xmm2651# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2652# CHECK-NEXT: 2 7 1.00 * punpckldq (%rax), %xmm2653# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2654# CHECK-NEXT: 2 7 1.00 * punpcklqdq (%rax), %xmm2655# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2656# CHECK-NEXT: 2 7 1.00 * 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 18 6.00 sqrtpd %xmm0, %xmm2662# CHECK-NEXT: 2 24 6.00 * sqrtpd (%rax), %xmm2663# CHECK-NEXT: 1 18 6.00 sqrtsd %xmm0, %xmm2664# CHECK-NEXT: 2 23 6.00 * sqrtsd (%rax), %xmm2665# CHECK-NEXT: 1 4 0.50 subpd %xmm0, %xmm2666# CHECK-NEXT: 2 10 0.50 * subpd (%rax), %xmm2667# CHECK-NEXT: 1 4 0.50 subsd %xmm0, %xmm2668# CHECK-NEXT: 2 9 0.50 * subsd (%rax), %xmm2669# CHECK-NEXT: 1 2 1.00 ucomisd %xmm0, %xmm1670# CHECK-NEXT: 2 7 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 0.33 xorpd %xmm0, %xmm2676# CHECK-NEXT: 2 7 0.50 * xorpd (%rax), %xmm2677 678# CHECK: Resources:679# CHECK-NEXT: [0] - SKXDivider680# CHECK-NEXT: [1] - SKXFPDivider681# CHECK-NEXT: [2] - SKXPort0682# CHECK-NEXT: [3] - SKXPort1683# CHECK-NEXT: [4] - SKXPort2684# CHECK-NEXT: [5] - SKXPort3685# CHECK-NEXT: [6] - SKXPort4686# CHECK-NEXT: [7] - SKXPort5687# CHECK-NEXT: [8] - SKXPort6688# CHECK-NEXT: [9] - SKXPort7689 690# CHECK: Resource pressure per iteration:691# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]692# CHECK-NEXT: - 40.00 106.58 85.58 63.67 63.67 15.00 90.08 1.75 4.67693 694# CHECK: Resource pressure by instruction:695# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:696# CHECK-NEXT: - - 0.50 0.50 - - - - - - addpd %xmm0, %xmm2697# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addpd (%rax), %xmm2698# CHECK-NEXT: - - 0.50 0.50 - - - - - - addsd %xmm0, %xmm2699# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addsd (%rax), %xmm2700# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnpd %xmm0, %xmm2701# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnpd (%rax), %xmm2702# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andpd %xmm0, %xmm2703# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andpd (%rax), %xmm2704# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax)705# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqpd %xmm0, %xmm2706# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqpd (%rax), %xmm2707# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqsd %xmm0, %xmm2708# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqsd (%rax), %xmm2709# CHECK-NEXT: - - 1.00 - - - - - - - comisd %xmm0, %xmm1710# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comisd (%rax), %xmm1711# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtdq2pd %xmm0, %xmm2712# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2713# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtdq2ps %xmm0, %xmm2714# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtdq2ps (%rax), %xmm2715# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtpd2dq %xmm0, %xmm2716# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2dq (%rax), %xmm2717# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtpd2pi %xmm0, %mm2718# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2pi (%rax), %mm2719# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtpd2ps %xmm0, %xmm2720# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2ps (%rax), %xmm2721# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtpi2pd %mm0, %xmm2722# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtpi2pd (%rax), %xmm2723# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtps2dq %xmm0, %xmm2724# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2dq (%rax), %xmm2725# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtps2pd %xmm0, %xmm2726# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2pd (%rax), %xmm2727# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %ecx728# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %rcx729# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %ecx730# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %rcx731# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtsd2ss %xmm0, %xmm2732# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtsd2ss (%rax), %xmm2733# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtsi2sd %ecx, %xmm2734# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtsi2sd %rcx, %xmm2735# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2736# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdq (%rax), %xmm2737# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvtss2sd %xmm0, %xmm2738# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtss2sd (%rax), %xmm2739# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvttpd2dq %xmm0, %xmm2740# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvttpd2dq (%rax), %xmm2741# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - cvttpd2pi %xmm0, %mm2742# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvttpd2pi (%rax), %mm2743# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvttps2dq %xmm0, %xmm2744# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvttps2dq (%rax), %xmm2745# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %ecx746# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %rcx747# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %ecx748# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %rcx749# CHECK-NEXT: - 4.00 1.00 - - - - - - - divpd %xmm0, %xmm2750# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2751# CHECK-NEXT: - 4.00 1.00 - - - - - - - divsd %xmm0, %xmm2752# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2753# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence754# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1755# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxpd %xmm0, %xmm2756# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxpd (%rax), %xmm2757# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxsd %xmm0, %xmm2758# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxsd (%rax), %xmm2759# CHECK-NEXT: - - - - 0.50 0.50 1.00 - - - mfence760# CHECK-NEXT: - - 0.50 0.50 - - - - - - minpd %xmm0, %xmm2761# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minpd (%rax), %xmm2762# CHECK-NEXT: - - 0.50 0.50 - - - - - - minsd %xmm0, %xmm2763# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minsd (%rax), %xmm2764# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movapd %xmm0, %xmm2765# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax)766# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2767# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2768# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2769# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx770# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax)771# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2772# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax)773# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2774# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2775# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax)776# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2777# CHECK-NEXT: - - 1.00 - - - - 1.00 - - movdq2q %xmm0, %mm2778# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax)779# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2780# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)781# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2782# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx783# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)784# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)785# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)786# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)787# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2788# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2789# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2790# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx791# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax)792# CHECK-NEXT: - - - - - - - 2.00 - - movq2dq %mm0, %xmm2793# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2794# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax)795# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2796# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movupd %xmm0, %xmm2797# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax)798# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2799# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulpd %xmm0, %xmm2800# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulpd (%rax), %xmm2801# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulsd %xmm0, %xmm2802# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulsd (%rax), %xmm2803# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orpd %xmm0, %xmm2804# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orpd (%rax), %xmm2805# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2806# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2807# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2808# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2809# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2810# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2811# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddb %xmm0, %xmm2812# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddb (%rax), %xmm2813# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddd %xmm0, %xmm2814# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddd (%rax), %xmm2815# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddq %mm0, %mm2816# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddq (%rax), %mm2817# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddq %xmm0, %xmm2818# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddq (%rax), %xmm2819# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsb %xmm0, %xmm2820# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsb (%rax), %xmm2821# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsw %xmm0, %xmm2822# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsw (%rax), %xmm2823# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusb %xmm0, %xmm2824# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusb (%rax), %xmm2825# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusw %xmm0, %xmm2826# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusw (%rax), %xmm2827# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddw %xmm0, %xmm2828# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddw (%rax), %xmm2829# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2830# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2831# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2832# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2833# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgb %xmm0, %xmm2834# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgb (%rax), %xmm2835# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgw %xmm0, %xmm2836# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgw (%rax), %xmm2837# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqb %xmm0, %xmm2838# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqb (%rax), %xmm2839# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqd %xmm0, %xmm2840# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqd (%rax), %xmm2841# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqw %xmm0, %xmm2842# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqw (%rax), %xmm2843# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtb %xmm0, %xmm2844# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtb (%rax), %xmm2845# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtd %xmm0, %xmm2846# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtd (%rax), %xmm2847# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtw %xmm0, %xmm2848# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtw (%rax), %xmm2849# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx850# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %xmm0851# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %xmm0852# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaddwd %xmm0, %xmm2853# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaddwd (%rax), %xmm2854# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsw %xmm0, %xmm2855# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsw (%rax), %xmm2856# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxub %xmm0, %xmm2857# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxub (%rax), %xmm2858# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsw %xmm0, %xmm2859# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsw (%rax), %xmm2860# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminub %xmm0, %xmm2861# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminub (%rax), %xmm2862# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx863# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhuw %xmm0, %xmm2864# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhuw (%rax), %xmm2865# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhw %xmm0, %xmm2866# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhw (%rax), %xmm2867# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmullw %xmm0, %xmm2868# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmullw (%rax), %xmm2869# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2870# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2871# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmuludq %xmm0, %xmm2872# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmuludq (%rax), %xmm2873# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2874# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2875# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %xmm0, %xmm2876# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %xmm2877# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2878# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2879# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2880# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2881# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2882# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2883# CHECK-NEXT: - - 0.50 0.50 - - - - - - pslld $1, %xmm2884# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - pslld %xmm0, %xmm2885# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pslld (%rax), %xmm2886# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2887# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllq $1, %xmm2888# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllq %xmm0, %xmm2889# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllq (%rax), %xmm2890# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllw $1, %xmm2891# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllw %xmm0, %xmm2892# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllw (%rax), %xmm2893# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrad $1, %xmm2894# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrad %xmm0, %xmm2895# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrad (%rax), %xmm2896# CHECK-NEXT: - - 0.50 0.50 - - - - - - psraw $1, %xmm2897# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psraw %xmm0, %xmm2898# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psraw (%rax), %xmm2899# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrld $1, %xmm2900# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrld %xmm0, %xmm2901# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrld (%rax), %xmm2902# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2903# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlq $1, %xmm2904# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlq %xmm0, %xmm2905# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlq (%rax), %xmm2906# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlw $1, %xmm2907# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlw %xmm0, %xmm2908# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlw (%rax), %xmm2909# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubb %xmm0, %xmm2910# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubb (%rax), %xmm2911# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubd %xmm0, %xmm2912# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubd (%rax), %xmm2913# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubq %mm0, %mm2914# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubq (%rax), %mm2915# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubq %xmm0, %xmm2916# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubq (%rax), %xmm2917# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsb %xmm0, %xmm2918# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsb (%rax), %xmm2919# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsw %xmm0, %xmm2920# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsw (%rax), %xmm2921# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusb %xmm0, %xmm2922# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusb (%rax), %xmm2923# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusw %xmm0, %xmm2924# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusw (%rax), %xmm2925# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubw %xmm0, %xmm2926# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubw (%rax), %xmm2927# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2928# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2929# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2930# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2931# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2932# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2933# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2934# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2935# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2936# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2937# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2938# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2939# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2940# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2941# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2942# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2943# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2944# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2945# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2946# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2947# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2948# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2949# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2950# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2951# CHECK-NEXT: - - 0.50 0.50 - - - - - - subpd %xmm0, %xmm2952# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subpd (%rax), %xmm2953# CHECK-NEXT: - - 0.50 0.50 - - - - - - subsd %xmm0, %xmm2954# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subsd (%rax), %xmm2955# CHECK-NEXT: - - 1.00 - - - - - - - ucomisd %xmm0, %xmm1956# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomisd (%rax), %xmm1957# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2958# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2959# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2960# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2961# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorpd %xmm0, %xmm2962# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorpd (%rax), %xmm2963