1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s 3 4addpd %xmm0, %xmm2 5addpd (%rax), %xmm2 6 7addsd %xmm0, %xmm2 8addsd (%rax), %xmm2 9 10andnpd %xmm0, %xmm2 11andnpd (%rax), %xmm2 12 13andpd %xmm0, %xmm2 14andpd (%rax), %xmm2 15 16clflush (%rax) 17 18cmppd $0, %xmm0, %xmm2 19cmppd $0, (%rax), %xmm2 20 21cmpsd $0, %xmm0, %xmm2 22cmpsd $0, (%rax), %xmm2 23 24comisd %xmm0, %xmm1 25comisd (%rax), %xmm1 26 27cvtdq2pd %xmm0, %xmm2 28cvtdq2pd (%rax), %xmm2 29 30cvtdq2ps %xmm0, %xmm2 31cvtdq2ps (%rax), %xmm2 32 33cvtpd2dq %xmm0, %xmm2 34cvtpd2dq (%rax), %xmm2 35 36cvtpd2pi %xmm0, %mm2 37cvtpd2pi (%rax), %mm2 38 39cvtpd2ps %xmm0, %xmm2 40cvtpd2ps (%rax), %xmm2 41 42cvtpi2pd %mm0, %xmm2 43cvtpi2pd (%rax), %xmm2 44 45cvtps2dq %xmm0, %xmm2 46cvtps2dq (%rax), %xmm2 47 48cvtps2pd %xmm0, %xmm2 49cvtps2pd (%rax), %xmm2 50 51cvtsd2si %xmm0, %ecx 52cvtsd2si %xmm0, %rcx 53cvtsd2si (%rax), %ecx 54cvtsd2si (%rax), %rcx 55 56cvtsd2ss %xmm0, %xmm2 57cvtsd2ss (%rax), %xmm2 58 59cvtsi2sd %ecx, %xmm2 60cvtsi2sd %rcx, %xmm2 61cvtsi2sd (%rax), %xmm2 62cvtsi2sd (%rax), %xmm2 63 64cvtss2sd %xmm0, %xmm2 65cvtss2sd (%rax), %xmm2 66 67cvttpd2dq %xmm0, %xmm2 68cvttpd2dq (%rax), %xmm2 69 70cvttpd2pi %xmm0, %mm2 71cvttpd2pi (%rax), %mm2 72 73cvttps2dq %xmm0, %xmm2 74cvttps2dq (%rax), %xmm2 75 76cvttsd2si %xmm0, %ecx 77cvttsd2si %xmm0, %rcx 78cvttsd2si (%rax), %ecx 79cvttsd2si (%rax), %rcx 80 81divpd %xmm0, %xmm2 82divpd (%rax), %xmm2 83 84divsd %xmm0, %xmm2 85divsd (%rax), %xmm2 86 87lfence 88 89maskmovdqu %xmm0, %xmm1 90 91maxpd %xmm0, %xmm2 92maxpd (%rax), %xmm2 93 94maxsd %xmm0, %xmm2 95maxsd (%rax), %xmm2 96 97mfence 98 99minpd %xmm0, %xmm2 100minpd (%rax), %xmm2 101 102minsd %xmm0, %xmm2 103minsd (%rax), %xmm2 104 105movapd %xmm0, %xmm2 106movapd %xmm0, (%rax) 107movapd (%rax), %xmm2 108 109movd %eax, %xmm2 110movd (%rax), %xmm2 111 112movd %xmm0, %ecx 113movd %xmm0, (%rax) 114 115movdqa %xmm0, %xmm2 116movdqa %xmm0, (%rax) 117movdqa (%rax), %xmm2 118 119movdqu %xmm0, %xmm2 120movdqu %xmm0, (%rax) 121movdqu (%rax), %xmm2 122 123movdq2q %xmm0, %mm2 124 125movhpd %xmm0, (%rax) 126movhpd (%rax), %xmm2 127 128movlpd %xmm0, (%rax) 129movlpd (%rax), %xmm2 130 131movmskpd %xmm0, %rcx 132 133movntil %eax, (%rax) 134movntiq %rax, (%rax) 135 136movntdq %xmm0, (%rax) 137movntpd %xmm0, (%rax) 138 139movq %xmm0, %xmm2 140 141movq %rax, %xmm2 142movq (%rax), %xmm2 143 144movq %xmm0, %rcx 145movq %xmm0, (%rax) 146 147movq2dq %mm0, %xmm2 148 149movsd %xmm0, %xmm2 150movsd %xmm0, (%rax) 151movsd (%rax), %xmm2 152 153movupd %xmm0, %xmm2 154movupd %xmm0, (%rax) 155movupd (%rax), %xmm2 156 157mulpd %xmm0, %xmm2 158mulpd (%rax), %xmm2 159 160mulsd %xmm0, %xmm2 161mulsd (%rax), %xmm2 162 163orpd %xmm0, %xmm2 164orpd (%rax), %xmm2 165 166packssdw %xmm0, %xmm2 167packssdw (%rax), %xmm2 168 169packsswb %xmm0, %xmm2 170packsswb (%rax), %xmm2 171 172packuswb %xmm0, %xmm2 173packuswb (%rax), %xmm2 174 175paddb %xmm0, %xmm2 176paddb (%rax), %xmm2 177 178paddd %xmm0, %xmm2 179paddd (%rax), %xmm2 180 181paddq %mm0, %mm2 182paddq (%rax), %mm2 183 184paddq %xmm0, %xmm2 185paddq (%rax), %xmm2 186 187paddsb %xmm0, %xmm2 188paddsb (%rax), %xmm2 189 190paddsw %xmm0, %xmm2 191paddsw (%rax), %xmm2 192 193paddusb %xmm0, %xmm2 194paddusb (%rax), %xmm2 195 196paddusw %xmm0, %xmm2 197paddusw (%rax), %xmm2 198 199paddw %xmm0, %xmm2 200paddw (%rax), %xmm2 201 202pand %xmm0, %xmm2 203pand (%rax), %xmm2 204 205pandn %xmm0, %xmm2 206pandn (%rax), %xmm2 207 208pavgb %xmm0, %xmm2 209pavgb (%rax), %xmm2 210 211pavgw %xmm0, %xmm2 212pavgw (%rax), %xmm2 213 214pcmpeqb %xmm0, %xmm2 215pcmpeqb (%rax), %xmm2 216 217pcmpeqd %xmm0, %xmm2 218pcmpeqd (%rax), %xmm2 219 220pcmpeqw %xmm0, %xmm2 221pcmpeqw (%rax), %xmm2 222 223pcmpgtb %xmm0, %xmm2 224pcmpgtb (%rax), %xmm2 225 226pcmpgtd %xmm0, %xmm2 227pcmpgtd (%rax), %xmm2 228 229pcmpgtw %xmm0, %xmm2 230pcmpgtw (%rax), %xmm2 231 232pextrw $1, %xmm0, %rcx 233 234pinsrw $1, %rax, %xmm0 235pinsrw $1, (%rax), %xmm0 236 237pmaddwd %xmm0, %xmm2 238pmaddwd (%rax), %xmm2 239 240pmaxsw %xmm0, %xmm2 241pmaxsw (%rax), %xmm2 242 243pmaxub %xmm0, %xmm2 244pmaxub (%rax), %xmm2 245 246pminsw %xmm0, %xmm2 247pminsw (%rax), %xmm2 248 249pminub %xmm0, %xmm2 250pminub (%rax), %xmm2 251 252pmovmskb %xmm0, %rcx 253 254pmulhuw %xmm0, %xmm2 255pmulhuw (%rax), %xmm2 256 257pmulhw %xmm0, %xmm2 258pmulhw (%rax), %xmm2 259 260pmullw %xmm0, %xmm2 261pmullw (%rax), %xmm2 262 263pmuludq %mm0, %mm2 264pmuludq (%rax), %mm2 265 266pmuludq %xmm0, %xmm2 267pmuludq (%rax), %xmm2 268 269por %xmm0, %xmm2 270por (%rax), %xmm2 271 272psadbw %xmm0, %xmm2 273psadbw (%rax), %xmm2 274 275pshufd $1, %xmm0, %xmm2 276pshufd $1, (%rax), %xmm2 277 278pshufhw $1, %xmm0, %xmm2 279pshufhw $1, (%rax), %xmm2 280 281pshuflw $1, %xmm0, %xmm2 282pshuflw $1, (%rax), %xmm2 283 284pslld $1, %xmm2 285pslld %xmm0, %xmm2 286pslld (%rax), %xmm2 287 288pslldq $1, %xmm2 289 290psllq $1, %xmm2 291psllq %xmm0, %xmm2 292psllq (%rax), %xmm2 293 294psllw $1, %xmm2 295psllw %xmm0, %xmm2 296psllw (%rax), %xmm2 297 298psrad $1, %xmm2 299psrad %xmm0, %xmm2 300psrad (%rax), %xmm2 301 302psraw $1, %xmm2 303psraw %xmm0, %xmm2 304psraw (%rax), %xmm2 305 306psrld $1, %xmm2 307psrld %xmm0, %xmm2 308psrld (%rax), %xmm2 309 310psrldq $1, %xmm2 311 312psrlq $1, %xmm2 313psrlq %xmm0, %xmm2 314psrlq (%rax), %xmm2 315 316psrlw $1, %xmm2 317psrlw %xmm0, %xmm2 318psrlw (%rax), %xmm2 319 320psubb %xmm0, %xmm2 321psubb (%rax), %xmm2 322 323psubd %xmm0, %xmm2 324psubd (%rax), %xmm2 325 326psubq %mm0, %mm2 327psubq (%rax), %mm2 328 329psubq %xmm0, %xmm2 330psubq (%rax), %xmm2 331 332psubsb %xmm0, %xmm2 333psubsb (%rax), %xmm2 334 335psubsw %xmm0, %xmm2 336psubsw (%rax), %xmm2 337 338psubusb %xmm0, %xmm2 339psubusb (%rax), %xmm2 340 341psubusw %xmm0, %xmm2 342psubusw (%rax), %xmm2 343 344psubw %xmm0, %xmm2 345psubw (%rax), %xmm2 346 347punpckhbw %xmm0, %xmm2 348punpckhbw (%rax), %xmm2 349 350punpckhdq %xmm0, %xmm2 351punpckhdq (%rax), %xmm2 352 353punpckhqdq %xmm0, %xmm2 354punpckhqdq (%rax), %xmm2 355 356punpckhwd %xmm0, %xmm2 357punpckhwd (%rax), %xmm2 358 359punpcklbw %xmm0, %xmm2 360punpcklbw (%rax), %xmm2 361 362punpckldq %xmm0, %xmm2 363punpckldq (%rax), %xmm2 364 365punpcklqdq %xmm0, %xmm2 366punpcklqdq (%rax), %xmm2 367 368punpcklwd %xmm0, %xmm2 369punpcklwd (%rax), %xmm2 370 371pxor %xmm0, %xmm2 372pxor (%rax), %xmm2 373 374shufpd $1, %xmm0, %xmm2 375shufpd $1, (%rax), %xmm2 376 377sqrtpd %xmm0, %xmm2 378sqrtpd (%rax), %xmm2 379 380sqrtsd %xmm0, %xmm2 381sqrtsd (%rax), %xmm2 382 383subpd %xmm0, %xmm2 384subpd (%rax), %xmm2 385 386subsd %xmm0, %xmm2 387subsd (%rax), %xmm2 388 389ucomisd %xmm0, %xmm1 390ucomisd (%rax), %xmm1 391 392unpckhpd %xmm0, %xmm2 393unpckhpd (%rax), %xmm2 394 395unpcklpd %xmm0, %xmm2 396unpcklpd (%rax), %xmm2 397 398xorpd %xmm0, %xmm2 399xorpd (%rax), %xmm2 400 401# CHECK: Instruction Info: 402# CHECK-NEXT: [1]: #uOps 403# CHECK-NEXT: [2]: Latency 404# CHECK-NEXT: [3]: RThroughput 405# CHECK-NEXT: [4]: MayLoad 406# CHECK-NEXT: [5]: MayStore 407# CHECK-NEXT: [6]: HasSideEffects (U) 408 409# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 410# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 411# CHECK-NEXT: 1 8 1.00 * addpd (%rax), %xmm2 412# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 413# CHECK-NEXT: 1 8 1.00 * addsd (%rax), %xmm2 414# CHECK-NEXT: 1 1 0.50 andnpd %xmm0, %xmm2 415# CHECK-NEXT: 1 6 1.00 * andnpd (%rax), %xmm2 416# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2 417# CHECK-NEXT: 1 6 1.00 * andpd (%rax), %xmm2 418# CHECK-NEXT: 1 3 1.00 * * U clflush (%rax) 419# CHECK-NEXT: 1 2 1.00 cmpeqpd %xmm0, %xmm2 420# CHECK-NEXT: 1 7 1.00 * cmpeqpd (%rax), %xmm2 421# CHECK-NEXT: 1 2 1.00 cmpeqsd %xmm0, %xmm2 422# CHECK-NEXT: 1 7 1.00 * cmpeqsd (%rax), %xmm2 423# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 424# CHECK-NEXT: 1 8 1.00 * comisd (%rax), %xmm1 425# CHECK-NEXT: 1 3 1.00 cvtdq2pd %xmm0, %xmm2 426# CHECK-NEXT: 1 8 1.00 * cvtdq2pd (%rax), %xmm2 427# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 428# CHECK-NEXT: 1 8 1.00 * cvtdq2ps (%rax), %xmm2 429# CHECK-NEXT: 1 3 1.00 cvtpd2dq %xmm0, %xmm2 430# CHECK-NEXT: 1 8 1.00 * cvtpd2dq (%rax), %xmm2 431# CHECK-NEXT: 1 3 1.00 cvtpd2pi %xmm0, %mm2 432# CHECK-NEXT: 1 8 1.00 * cvtpd2pi (%rax), %mm2 433# CHECK-NEXT: 1 3 1.00 cvtpd2ps %xmm0, %xmm2 434# CHECK-NEXT: 1 8 1.00 * cvtpd2ps (%rax), %xmm2 435# CHECK-NEXT: 1 3 1.00 cvtpi2pd %mm0, %xmm2 436# CHECK-NEXT: 1 8 1.00 * cvtpi2pd (%rax), %xmm2 437# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 438# CHECK-NEXT: 1 8 1.00 * cvtps2dq (%rax), %xmm2 439# CHECK-NEXT: 1 2 1.00 cvtps2pd %xmm0, %xmm2 440# CHECK-NEXT: 1 7 1.00 * cvtps2pd (%rax), %xmm2 441# CHECK-NEXT: 2 7 1.00 cvtsd2si %xmm0, %ecx 442# CHECK-NEXT: 2 7 1.00 cvtsd2si %xmm0, %rcx 443# CHECK-NEXT: 2 12 1.00 * cvtsd2si (%rax), %ecx 444# CHECK-NEXT: 2 12 1.00 * cvtsd2si (%rax), %rcx 445# CHECK-NEXT: 2 7 2.00 cvtsd2ss %xmm0, %xmm2 446# CHECK-NEXT: 2 12 2.00 * cvtsd2ss (%rax), %xmm2 447# CHECK-NEXT: 2 10 1.00 cvtsi2sd %ecx, %xmm2 448# CHECK-NEXT: 2 10 1.00 cvtsi2sd %rcx, %xmm2 449# CHECK-NEXT: 1 9 1.00 * cvtsi2sdl (%rax), %xmm2 450# CHECK-NEXT: 1 9 1.00 * cvtsi2sdl (%rax), %xmm2 451# CHECK-NEXT: 2 7 2.00 cvtss2sd %xmm0, %xmm2 452# CHECK-NEXT: 2 12 2.00 * cvtss2sd (%rax), %xmm2 453# CHECK-NEXT: 1 3 1.00 cvttpd2dq %xmm0, %xmm2 454# CHECK-NEXT: 1 8 1.00 * cvttpd2dq (%rax), %xmm2 455# CHECK-NEXT: 1 3 1.00 cvttpd2pi %xmm0, %mm2 456# CHECK-NEXT: 1 8 1.00 * cvttpd2pi (%rax), %mm2 457# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 458# CHECK-NEXT: 1 8 1.00 * cvttps2dq (%rax), %xmm2 459# CHECK-NEXT: 2 7 1.00 cvttsd2si %xmm0, %ecx 460# CHECK-NEXT: 2 7 1.00 cvttsd2si %xmm0, %rcx 461# CHECK-NEXT: 2 12 1.00 * cvttsd2si (%rax), %ecx 462# CHECK-NEXT: 2 12 1.00 * cvttsd2si (%rax), %rcx 463# CHECK-NEXT: 1 19 19.00 divpd %xmm0, %xmm2 464# CHECK-NEXT: 1 24 19.00 * divpd (%rax), %xmm2 465# CHECK-NEXT: 1 19 19.00 divsd %xmm0, %xmm2 466# CHECK-NEXT: 1 24 19.00 * divsd (%rax), %xmm2 467# CHECK-NEXT: 1 1 1.00 * * U lfence 468# CHECK-NEXT: 63 34 21.00 * * U maskmovdqu %xmm0, %xmm1 469# CHECK-NEXT: 1 2 1.00 maxpd %xmm0, %xmm2 470# CHECK-NEXT: 1 7 1.00 * maxpd (%rax), %xmm2 471# CHECK-NEXT: 1 2 1.00 maxsd %xmm0, %xmm2 472# CHECK-NEXT: 1 7 1.00 * maxsd (%rax), %xmm2 473# CHECK-NEXT: 1 1 1.00 * * U mfence 474# CHECK-NEXT: 1 2 1.00 minpd %xmm0, %xmm2 475# CHECK-NEXT: 1 7 1.00 * minpd (%rax), %xmm2 476# CHECK-NEXT: 1 2 1.00 minsd %xmm0, %xmm2 477# CHECK-NEXT: 1 7 1.00 * minsd (%rax), %xmm2 478# CHECK-NEXT: 1 1 0.50 movapd %xmm0, %xmm2 479# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) 480# CHECK-NEXT: 1 5 1.00 * movapd (%rax), %xmm2 481# CHECK-NEXT: 2 8 0.50 movd %eax, %xmm2 482# CHECK-NEXT: 1 5 1.00 * movd (%rax), %xmm2 483# CHECK-NEXT: 1 4 1.00 movd %xmm0, %ecx 484# CHECK-NEXT: 1 2 1.00 * movd %xmm0, (%rax) 485# CHECK-NEXT: 1 1 0.50 movdqa %xmm0, %xmm2 486# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) 487# CHECK-NEXT: 1 5 1.00 * movdqa (%rax), %xmm2 488# CHECK-NEXT: 1 1 0.50 movdqu %xmm0, %xmm2 489# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax) 490# CHECK-NEXT: 1 5 1.00 * movdqu (%rax), %xmm2 491# CHECK-NEXT: 1 1 0.50 movdq2q %xmm0, %mm2 492# CHECK-NEXT: 1 2 1.00 * movhpd %xmm0, (%rax) 493# CHECK-NEXT: 1 6 1.00 * movhpd (%rax), %xmm2 494# CHECK-NEXT: 1 2 1.00 * movlpd %xmm0, (%rax) 495# CHECK-NEXT: 1 6 1.00 * movlpd (%rax), %xmm2 496# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx 497# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) 498# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) 499# CHECK-NEXT: 1 2 1.00 * movntdq %xmm0, (%rax) 500# CHECK-NEXT: 1 3 1.00 * movntpd %xmm0, (%rax) 501# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2 502# CHECK-NEXT: 2 8 0.50 movq %rax, %xmm2 503# CHECK-NEXT: 1 5 1.00 * movq (%rax), %xmm2 504# CHECK-NEXT: 1 4 1.00 movq %xmm0, %rcx 505# CHECK-NEXT: 1 2 1.00 * movq %xmm0, (%rax) 506# CHECK-NEXT: 1 1 0.50 movq2dq %mm0, %xmm2 507# CHECK-NEXT: 1 1 0.50 movsd %xmm0, %xmm2 508# CHECK-NEXT: 1 2 1.00 * movsd %xmm0, (%rax) 509# CHECK-NEXT: 1 5 1.00 * movsd (%rax), %xmm2 510# CHECK-NEXT: 1 1 0.50 movupd %xmm0, %xmm2 511# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax) 512# CHECK-NEXT: 1 5 1.00 * movupd (%rax), %xmm2 513# CHECK-NEXT: 1 4 2.00 mulpd %xmm0, %xmm2 514# CHECK-NEXT: 1 9 2.00 * mulpd (%rax), %xmm2 515# CHECK-NEXT: 1 4 2.00 mulsd %xmm0, %xmm2 516# CHECK-NEXT: 1 9 2.00 * mulsd (%rax), %xmm2 517# CHECK-NEXT: 1 1 0.50 orpd %xmm0, %xmm2 518# CHECK-NEXT: 1 6 1.00 * orpd (%rax), %xmm2 519# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2 520# CHECK-NEXT: 1 6 1.00 * packssdw (%rax), %xmm2 521# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2 522# CHECK-NEXT: 1 6 1.00 * packsswb (%rax), %xmm2 523# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2 524# CHECK-NEXT: 1 6 1.00 * packuswb (%rax), %xmm2 525# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 526# CHECK-NEXT: 1 6 1.00 * paddb (%rax), %xmm2 527# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 528# CHECK-NEXT: 1 6 1.00 * paddd (%rax), %xmm2 529# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 530# CHECK-NEXT: 1 6 1.00 * paddq (%rax), %mm2 531# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 532# CHECK-NEXT: 1 6 1.00 * paddq (%rax), %xmm2 533# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 534# CHECK-NEXT: 1 6 1.00 * paddsb (%rax), %xmm2 535# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 536# CHECK-NEXT: 1 6 1.00 * paddsw (%rax), %xmm2 537# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 538# CHECK-NEXT: 1 6 1.00 * paddusb (%rax), %xmm2 539# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 540# CHECK-NEXT: 1 6 1.00 * paddusw (%rax), %xmm2 541# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 542# CHECK-NEXT: 1 6 1.00 * paddw (%rax), %xmm2 543# CHECK-NEXT: 1 1 0.50 pand %xmm0, %xmm2 544# CHECK-NEXT: 1 6 1.00 * pand (%rax), %xmm2 545# CHECK-NEXT: 1 1 0.50 pandn %xmm0, %xmm2 546# CHECK-NEXT: 1 6 1.00 * pandn (%rax), %xmm2 547# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 548# CHECK-NEXT: 1 6 1.00 * pavgb (%rax), %xmm2 549# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 550# CHECK-NEXT: 1 6 1.00 * pavgw (%rax), %xmm2 551# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 552# CHECK-NEXT: 1 6 1.00 * pcmpeqb (%rax), %xmm2 553# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 554# CHECK-NEXT: 1 6 1.00 * pcmpeqd (%rax), %xmm2 555# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 556# CHECK-NEXT: 1 6 1.00 * pcmpeqw (%rax), %xmm2 557# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 558# CHECK-NEXT: 1 6 1.00 * pcmpgtb (%rax), %xmm2 559# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 560# CHECK-NEXT: 1 6 1.00 * pcmpgtd (%rax), %xmm2 561# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 562# CHECK-NEXT: 1 6 1.00 * pcmpgtw (%rax), %xmm2 563# CHECK-NEXT: 1 3 1.00 pextrw $1, %xmm0, %ecx 564# CHECK-NEXT: 2 7 0.50 pinsrw $1, %eax, %xmm0 565# CHECK-NEXT: 1 4 1.00 * pinsrw $1, (%rax), %xmm0 566# CHECK-NEXT: 1 2 1.00 pmaddwd %xmm0, %xmm2 567# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %xmm2 568# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 569# CHECK-NEXT: 1 6 1.00 * pmaxsw (%rax), %xmm2 570# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 571# CHECK-NEXT: 1 6 1.00 * pmaxub (%rax), %xmm2 572# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 573# CHECK-NEXT: 1 6 1.00 * pminsw (%rax), %xmm2 574# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 575# CHECK-NEXT: 1 6 1.00 * pminub (%rax), %xmm2 576# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx 577# CHECK-NEXT: 1 2 1.00 pmulhuw %xmm0, %xmm2 578# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %xmm2 579# CHECK-NEXT: 1 2 1.00 pmulhw %xmm0, %xmm2 580# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %xmm2 581# CHECK-NEXT: 1 2 1.00 pmullw %xmm0, %xmm2 582# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %xmm2 583# CHECK-NEXT: 1 2 1.00 pmuludq %mm0, %mm2 584# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %mm2 585# CHECK-NEXT: 1 2 1.00 pmuludq %xmm0, %xmm2 586# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %xmm2 587# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2 588# CHECK-NEXT: 1 6 1.00 * por (%rax), %xmm2 589# CHECK-NEXT: 1 2 0.50 psadbw %xmm0, %xmm2 590# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %xmm2 591# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2 592# CHECK-NEXT: 1 6 1.00 * pshufd $1, (%rax), %xmm2 593# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2 594# CHECK-NEXT: 1 6 1.00 * pshufhw $1, (%rax), %xmm2 595# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2 596# CHECK-NEXT: 1 6 1.00 * pshuflw $1, (%rax), %xmm2 597# CHECK-NEXT: 1 2 0.50 pslld $1, %xmm2 598# CHECK-NEXT: 1 2 0.50 pslld %xmm0, %xmm2 599# CHECK-NEXT: 1 7 1.00 * pslld (%rax), %xmm2 600# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2 601# CHECK-NEXT: 1 2 0.50 psllq $1, %xmm2 602# CHECK-NEXT: 1 2 0.50 psllq %xmm0, %xmm2 603# CHECK-NEXT: 1 7 1.00 * psllq (%rax), %xmm2 604# CHECK-NEXT: 1 2 0.50 psllw $1, %xmm2 605# CHECK-NEXT: 1 2 0.50 psllw %xmm0, %xmm2 606# CHECK-NEXT: 1 7 1.00 * psllw (%rax), %xmm2 607# CHECK-NEXT: 1 2 0.50 psrad $1, %xmm2 608# CHECK-NEXT: 1 2 0.50 psrad %xmm0, %xmm2 609# CHECK-NEXT: 1 7 1.00 * psrad (%rax), %xmm2 610# CHECK-NEXT: 1 2 0.50 psraw $1, %xmm2 611# CHECK-NEXT: 1 2 0.50 psraw %xmm0, %xmm2 612# CHECK-NEXT: 1 7 1.00 * psraw (%rax), %xmm2 613# CHECK-NEXT: 1 2 0.50 psrld $1, %xmm2 614# CHECK-NEXT: 1 2 0.50 psrld %xmm0, %xmm2 615# CHECK-NEXT: 1 7 1.00 * psrld (%rax), %xmm2 616# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2 617# CHECK-NEXT: 1 2 0.50 psrlq $1, %xmm2 618# CHECK-NEXT: 1 2 0.50 psrlq %xmm0, %xmm2 619# CHECK-NEXT: 1 7 1.00 * psrlq (%rax), %xmm2 620# CHECK-NEXT: 1 2 0.50 psrlw $1, %xmm2 621# CHECK-NEXT: 1 2 0.50 psrlw %xmm0, %xmm2 622# CHECK-NEXT: 1 7 1.00 * psrlw (%rax), %xmm2 623# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 624# CHECK-NEXT: 1 6 1.00 * psubb (%rax), %xmm2 625# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 626# CHECK-NEXT: 1 6 1.00 * psubd (%rax), %xmm2 627# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 628# CHECK-NEXT: 1 6 1.00 * psubq (%rax), %mm2 629# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 630# CHECK-NEXT: 1 6 1.00 * psubq (%rax), %xmm2 631# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 632# CHECK-NEXT: 1 6 1.00 * psubsb (%rax), %xmm2 633# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 634# CHECK-NEXT: 1 6 1.00 * psubsw (%rax), %xmm2 635# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 636# CHECK-NEXT: 1 6 1.00 * psubusb (%rax), %xmm2 637# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 638# CHECK-NEXT: 1 6 1.00 * psubusw (%rax), %xmm2 639# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 640# CHECK-NEXT: 1 6 1.00 * psubw (%rax), %xmm2 641# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2 642# CHECK-NEXT: 1 6 1.00 * punpckhbw (%rax), %xmm2 643# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2 644# CHECK-NEXT: 1 6 1.00 * punpckhdq (%rax), %xmm2 645# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2 646# CHECK-NEXT: 1 6 1.00 * punpckhqdq (%rax), %xmm2 647# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2 648# CHECK-NEXT: 1 6 1.00 * punpckhwd (%rax), %xmm2 649# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2 650# CHECK-NEXT: 1 6 1.00 * punpcklbw (%rax), %xmm2 651# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2 652# CHECK-NEXT: 1 6 1.00 * punpckldq (%rax), %xmm2 653# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2 654# CHECK-NEXT: 1 6 1.00 * punpcklqdq (%rax), %xmm2 655# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2 656# CHECK-NEXT: 1 6 1.00 * punpcklwd (%rax), %xmm2 657# CHECK-NEXT: 1 1 0.50 pxor %xmm0, %xmm2 658# CHECK-NEXT: 1 6 1.00 * pxor (%rax), %xmm2 659# CHECK-NEXT: 1 1 0.50 shufpd $1, %xmm0, %xmm2 660# CHECK-NEXT: 1 6 1.00 * shufpd $1, (%rax), %xmm2 661# CHECK-NEXT: 1 27 27.00 sqrtpd %xmm0, %xmm2 662# CHECK-NEXT: 1 32 27.00 * sqrtpd (%rax), %xmm2 663# CHECK-NEXT: 1 27 27.00 sqrtsd %xmm0, %xmm2 664# CHECK-NEXT: 1 32 27.00 * sqrtsd (%rax), %xmm2 665# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 666# CHECK-NEXT: 1 8 1.00 * subpd (%rax), %xmm2 667# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 668# CHECK-NEXT: 1 8 1.00 * subsd (%rax), %xmm2 669# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 670# CHECK-NEXT: 1 8 1.00 * ucomisd (%rax), %xmm1 671# CHECK-NEXT: 1 1 0.50 unpckhpd %xmm0, %xmm2 672# CHECK-NEXT: 1 6 1.00 * unpckhpd (%rax), %xmm2 673# CHECK-NEXT: 1 1 0.50 unpcklpd %xmm0, %xmm2 674# CHECK-NEXT: 1 6 1.00 * unpcklpd (%rax), %xmm2 675# CHECK-NEXT: 1 1 0.50 xorpd %xmm0, %xmm2 676# CHECK-NEXT: 1 6 1.00 * xorpd (%rax), %xmm2 677 678# CHECK: Resources: 679# CHECK-NEXT: [0] - JALU0 680# CHECK-NEXT: [1] - JALU1 681# CHECK-NEXT: [2] - JDiv 682# CHECK-NEXT: [3] - JFPA 683# CHECK-NEXT: [4] - JFPM 684# CHECK-NEXT: [5] - JFPU0 685# CHECK-NEXT: [6] - JFPU1 686# CHECK-NEXT: [7] - JLAGU 687# CHECK-NEXT: [8] - JMul 688# CHECK-NEXT: [9] - JSAGU 689# CHECK-NEXT: [10] - JSTC 690# CHECK-NEXT: [11] - JVALU0 691# CHECK-NEXT: [12] - JVALU1 692# CHECK-NEXT: [13] - JVIMUL 693 694# CHECK: Resource pressure per iteration: 695# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 696# CHECK-NEXT: 38.00 21.00 - 49.00 203.00 127.50 140.50 120.00 - 31.00 55.00 66.50 66.50 12.00 697 698# CHECK: Resource pressure by instruction: 699# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: 700# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addpd %xmm0, %xmm2 701# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addpd (%rax), %xmm2 702# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsd %xmm0, %xmm2 703# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsd (%rax), %xmm2 704# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andnpd %xmm0, %xmm2 705# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnpd (%rax), %xmm2 706# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andpd %xmm0, %xmm2 707# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andpd (%rax), %xmm2 708# CHECK-NEXT: - - - - - - - 1.00 - - - - - - clflush (%rax) 709# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpeqpd %xmm0, %xmm2 710# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpeqpd (%rax), %xmm2 711# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpeqsd %xmm0, %xmm2 712# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpeqsd (%rax), %xmm2 713# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - comisd %xmm0, %xmm1 714# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1 715# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2pd %xmm0, %xmm2 716# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2pd (%rax), %xmm2 717# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2ps %xmm0, %xmm2 718# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2ps (%rax), %xmm2 719# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2dq %xmm0, %xmm2 720# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2dq (%rax), %xmm2 721# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2pi %xmm0, %mm2 722# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2pi (%rax), %mm2 723# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2ps %xmm0, %xmm2 724# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2ps (%rax), %xmm2 725# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpi2pd %mm0, %xmm2 726# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpi2pd (%rax), %xmm2 727# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2dq %xmm0, %xmm2 728# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2dq (%rax), %xmm2 729# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2pd %xmm0, %xmm2 730# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2pd (%rax), %xmm2 731# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %ecx 732# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %rcx 733# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %ecx 734# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %rcx 735# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - cvtsd2ss %xmm0, %xmm2 736# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - cvtsd2ss (%rax), %xmm2 737# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sd %ecx, %xmm2 738# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sd %rcx, %xmm2 739# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2 740# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2 741# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - cvtss2sd %xmm0, %xmm2 742# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - cvtss2sd (%rax), %xmm2 743# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttpd2dq %xmm0, %xmm2 744# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2dq (%rax), %xmm2 745# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttpd2pi %xmm0, %mm2 746# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2pi (%rax), %mm2 747# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttps2dq %xmm0, %xmm2 748# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttps2dq (%rax), %xmm2 749# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %ecx 750# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %rcx 751# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %ecx 752# CHECK-NEXT: 1.00 - - 1.00 - 1.00 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %rcx 753# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divpd %xmm0, %xmm2 754# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divpd (%rax), %xmm2 755# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divsd %xmm0, %xmm2 756# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divsd (%rax), %xmm2 757# CHECK-NEXT: - - - - - - - - - 1.00 - - - - lfence 758# CHECK-NEXT: 21.00 21.00 - 1.00 - 1.00 2.00 2.00 - 16.00 2.00 - - - maskmovdqu %xmm0, %xmm1 759# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxpd %xmm0, %xmm2 760# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxpd (%rax), %xmm2 761# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxsd %xmm0, %xmm2 762# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxsd (%rax), %xmm2 763# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mfence 764# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minpd %xmm0, %xmm2 765# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minpd (%rax), %xmm2 766# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minsd %xmm0, %xmm2 767# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2 768# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movapd %xmm0, %xmm2 769# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movapd %xmm0, (%rax) 770# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movapd (%rax), %xmm2 771# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movd %eax, %xmm2 772# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movd (%rax), %xmm2 773# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movd %xmm0, %ecx 774# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movd %xmm0, (%rax) 775# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqa %xmm0, %xmm2 776# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqa %xmm0, (%rax) 777# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqa (%rax), %xmm2 778# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqu %xmm0, %xmm2 779# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqu %xmm0, (%rax) 780# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqu (%rax), %xmm2 781# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdq2q %xmm0, %mm2 782# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movhpd %xmm0, (%rax) 783# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhpd (%rax), %xmm2 784# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movlpd %xmm0, (%rax) 785# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlpd (%rax), %xmm2 786# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movmskpd %xmm0, %ecx 787# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntil %eax, (%rax) 788# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntiq %rax, (%rax) 789# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax) 790# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax) 791# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq %xmm0, %xmm2 792# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movq %rax, %xmm2 793# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movq (%rax), %xmm2 794# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movq %xmm0, %rcx 795# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movq %xmm0, (%rax) 796# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq2dq %mm0, %xmm2 797# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsd %xmm0, %xmm2 798# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movsd %xmm0, (%rax) 799# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movsd (%rax), %xmm2 800# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movupd %xmm0, %xmm2 801# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movupd %xmm0, (%rax) 802# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movupd (%rax), %xmm2 803# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulpd %xmm0, %xmm2 804# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulpd (%rax), %xmm2 805# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulsd %xmm0, %xmm2 806# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulsd (%rax), %xmm2 807# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - orpd %xmm0, %xmm2 808# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - orpd (%rax), %xmm2 809# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packssdw %xmm0, %xmm2 810# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packssdw (%rax), %xmm2 811# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packsswb %xmm0, %xmm2 812# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packsswb (%rax), %xmm2 813# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packuswb %xmm0, %xmm2 814# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packuswb (%rax), %xmm2 815# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddb %xmm0, %xmm2 816# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddb (%rax), %xmm2 817# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddd %xmm0, %xmm2 818# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddd (%rax), %xmm2 819# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddq %mm0, %mm2 820# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddq (%rax), %mm2 821# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddq %xmm0, %xmm2 822# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddq (%rax), %xmm2 823# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsb %xmm0, %xmm2 824# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsb (%rax), %xmm2 825# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsw %xmm0, %xmm2 826# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsw (%rax), %xmm2 827# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusb %xmm0, %xmm2 828# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusb (%rax), %xmm2 829# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusw %xmm0, %xmm2 830# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusw (%rax), %xmm2 831# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddw %xmm0, %xmm2 832# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddw (%rax), %xmm2 833# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pand %xmm0, %xmm2 834# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pand (%rax), %xmm2 835# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pandn %xmm0, %xmm2 836# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pandn (%rax), %xmm2 837# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgb %xmm0, %xmm2 838# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgb (%rax), %xmm2 839# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgw %xmm0, %xmm2 840# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgw (%rax), %xmm2 841# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqb %xmm0, %xmm2 842# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqb (%rax), %xmm2 843# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqd %xmm0, %xmm2 844# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqd (%rax), %xmm2 845# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqw %xmm0, %xmm2 846# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqw (%rax), %xmm2 847# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtb %xmm0, %xmm2 848# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtb (%rax), %xmm2 849# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtd %xmm0, %xmm2 850# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtd (%rax), %xmm2 851# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtw %xmm0, %xmm2 852# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtw (%rax), %xmm2 853# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrw $1, %xmm0, %ecx 854# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrw $1, %eax, %xmm0 855# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrw $1, (%rax), %xmm0 856# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddwd %xmm0, %xmm2 857# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %xmm2 858# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsw %xmm0, %xmm2 859# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsw (%rax), %xmm2 860# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxub %xmm0, %xmm2 861# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxub (%rax), %xmm2 862# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsw %xmm0, %xmm2 863# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsw (%rax), %xmm2 864# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminub %xmm0, %xmm2 865# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminub (%rax), %xmm2 866# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pmovmskb %xmm0, %ecx 867# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhuw %xmm0, %xmm2 868# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %xmm2 869# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhw %xmm0, %xmm2 870# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhw (%rax), %xmm2 871# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmullw %xmm0, %xmm2 872# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmullw (%rax), %xmm2 873# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %mm0, %mm2 874# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %mm2 875# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %xmm0, %xmm2 876# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %xmm2 877# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - por %xmm0, %xmm2 878# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - por (%rax), %xmm2 879# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psadbw %xmm0, %xmm2 880# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psadbw (%rax), %xmm2 881# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufd $1, %xmm0, %xmm2 882# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufd $1, (%rax), %xmm2 883# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufhw $1, %xmm0, %xmm2 884# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufhw $1, (%rax), %xmm2 885# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshuflw $1, %xmm0, %xmm2 886# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshuflw $1, (%rax), %xmm2 887# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld $1, %xmm2 888# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld %xmm0, %xmm2 889# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pslld (%rax), %xmm2 890# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslldq $1, %xmm2 891# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq $1, %xmm2 892# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq %xmm0, %xmm2 893# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllq (%rax), %xmm2 894# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw $1, %xmm2 895# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw %xmm0, %xmm2 896# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllw (%rax), %xmm2 897# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad $1, %xmm2 898# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad %xmm0, %xmm2 899# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrad (%rax), %xmm2 900# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw $1, %xmm2 901# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw %xmm0, %xmm2 902# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psraw (%rax), %xmm2 903# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld $1, %xmm2 904# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld %xmm0, %xmm2 905# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrld (%rax), %xmm2 906# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrldq $1, %xmm2 907# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq $1, %xmm2 908# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq %xmm0, %xmm2 909# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlq (%rax), %xmm2 910# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw $1, %xmm2 911# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw %xmm0, %xmm2 912# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlw (%rax), %xmm2 913# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubb %xmm0, %xmm2 914# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubb (%rax), %xmm2 915# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubd %xmm0, %xmm2 916# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubd (%rax), %xmm2 917# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubq %mm0, %mm2 918# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubq (%rax), %mm2 919# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubq %xmm0, %xmm2 920# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubq (%rax), %xmm2 921# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsb %xmm0, %xmm2 922# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsb (%rax), %xmm2 923# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsw %xmm0, %xmm2 924# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsw (%rax), %xmm2 925# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusb %xmm0, %xmm2 926# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusb (%rax), %xmm2 927# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusw %xmm0, %xmm2 928# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusw (%rax), %xmm2 929# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubw %xmm0, %xmm2 930# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubw (%rax), %xmm2 931# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhbw %xmm0, %xmm2 932# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhbw (%rax), %xmm2 933# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhdq %xmm0, %xmm2 934# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhdq (%rax), %xmm2 935# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhqdq %xmm0, %xmm2 936# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhqdq (%rax), %xmm2 937# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhwd %xmm0, %xmm2 938# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhwd (%rax), %xmm2 939# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklbw %xmm0, %xmm2 940# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklbw (%rax), %xmm2 941# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckldq %xmm0, %xmm2 942# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckldq (%rax), %xmm2 943# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklqdq %xmm0, %xmm2 944# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklqdq (%rax), %xmm2 945# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklwd %xmm0, %xmm2 946# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklwd (%rax), %xmm2 947# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pxor %xmm0, %xmm2 948# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pxor (%rax), %xmm2 949# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - shufpd $1, %xmm0, %xmm2 950# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - shufpd $1, (%rax), %xmm2 951# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 952# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - sqrtpd (%rax), %xmm2 953# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 954# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - sqrtsd (%rax), %xmm2 955# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subpd %xmm0, %xmm2 956# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subpd (%rax), %xmm2 957# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subsd %xmm0, %xmm2 958# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subsd (%rax), %xmm2 959# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ucomisd %xmm0, %xmm1 960# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ucomisd (%rax), %xmm1 961# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpckhpd %xmm0, %xmm2 962# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpckhpd (%rax), %xmm2 963# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpcklpd %xmm0, %xmm2 964# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpcklpd (%rax), %xmm2 965# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - xorpd %xmm0, %xmm2 966# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - xorpd (%rax), %xmm2 967