1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -instruction-tables < %s | FileCheck %s 3 4vbroadcasti128 (%rax), %ymm0 5 6vbroadcastsd %xmm0, %ymm0 7vbroadcastss %xmm0, %ymm0 8 9vextracti128 $1, %ymm0, %xmm2 10vextracti128 $1, %ymm0, (%rax) 11 12vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 13vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 14 15vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 16vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 17 18vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 19vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 20 21vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 22vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 23 24vinserti128 $1, %xmm0, %ymm1, %ymm2 25vinserti128 $1, (%rax), %ymm1, %ymm2 26 27vmovntdqa (%rax), %ymm0 28 29vmpsadbw $1, %ymm0, %ymm1, %ymm2 30vmpsadbw $1, (%rax), %ymm1, %ymm2 31 32vpabsb %ymm0, %ymm2 33vpabsb (%rax), %ymm2 34 35vpabsd %ymm0, %ymm2 36vpabsd (%rax), %ymm2 37 38vpabsw %ymm0, %ymm2 39vpabsw (%rax), %ymm2 40 41vpackssdw %ymm0, %ymm1, %ymm2 42vpackssdw (%rax), %ymm1, %ymm2 43 44vpacksswb %ymm0, %ymm1, %ymm2 45vpacksswb (%rax), %ymm1, %ymm2 46 47vpackusdw %ymm0, %ymm1, %ymm2 48vpackusdw (%rax), %ymm1, %ymm2 49 50vpackuswb %ymm0, %ymm1, %ymm2 51vpackuswb (%rax), %ymm1, %ymm2 52 53vpaddb %ymm0, %ymm1, %ymm2 54vpaddb (%rax), %ymm1, %ymm2 55 56vpaddd %ymm0, %ymm1, %ymm2 57vpaddd (%rax), %ymm1, %ymm2 58 59vpaddq %ymm0, %ymm1, %ymm2 60vpaddq (%rax), %ymm1, %ymm2 61 62vpaddsb %ymm0, %ymm1, %ymm2 63vpaddsb (%rax), %ymm1, %ymm2 64 65vpaddsw %ymm0, %ymm1, %ymm2 66vpaddsw (%rax), %ymm1, %ymm2 67 68vpaddusb %ymm0, %ymm1, %ymm2 69vpaddusb (%rax), %ymm1, %ymm2 70 71vpaddusw %ymm0, %ymm1, %ymm2 72vpaddusw (%rax), %ymm1, %ymm2 73 74vpaddw %ymm0, %ymm1, %ymm2 75vpaddw (%rax), %ymm1, %ymm2 76 77vpalignr $1, %ymm0, %ymm1, %ymm2 78vpalignr $1, (%rax), %ymm1, %ymm2 79 80vpand %ymm0, %ymm1, %ymm2 81vpand (%rax), %ymm1, %ymm2 82 83vpandn %ymm0, %ymm1, %ymm2 84vpandn (%rax), %ymm1, %ymm2 85 86vpavgb %ymm0, %ymm1, %ymm2 87vpavgb (%rax), %ymm1, %ymm2 88 89vpavgw %ymm0, %ymm1, %ymm2 90vpavgw (%rax), %ymm1, %ymm2 91 92vpblendd $11, %xmm0, %xmm1, %xmm2 93vpblendd $11, (%rax), %xmm1, %xmm2 94 95vpblendd $11, %ymm0, %ymm1, %ymm2 96vpblendd $11, (%rax), %ymm1, %ymm2 97 98vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 99vpblendvb %ymm3, (%rax), %ymm1, %ymm2 100 101vpblendw $11, %ymm0, %ymm1, %ymm2 102vpblendw $11, (%rax), %ymm1, %ymm2 103 104vpbroadcastb %xmm0, %xmm0 105vpbroadcastb (%rax), %xmm0 106 107vpbroadcastb %xmm0, %ymm0 108vpbroadcastb (%rax), %ymm0 109 110vpbroadcastd %xmm0, %xmm0 111vpbroadcastd (%rax), %xmm0 112 113vpbroadcastd %xmm0, %ymm0 114vpbroadcastd (%rax), %ymm0 115 116vpbroadcastq %xmm0, %xmm0 117vpbroadcastq (%rax), %xmm0 118 119vpbroadcastq %xmm0, %ymm0 120vpbroadcastq (%rax), %ymm0 121 122vpbroadcastw %xmm0, %xmm0 123vpbroadcastw (%rax), %xmm0 124 125vpbroadcastw %xmm0, %ymm0 126vpbroadcastw (%rax), %ymm0 127 128vpcmpeqb %ymm0, %ymm1, %ymm2 129vpcmpeqb (%rax), %ymm1, %ymm2 130 131vpcmpeqd %ymm0, %ymm1, %ymm2 132vpcmpeqd (%rax), %ymm1, %ymm2 133 134vpcmpeqq %ymm0, %ymm1, %ymm2 135vpcmpeqq (%rax), %ymm1, %ymm2 136 137vpcmpeqw %ymm0, %ymm1, %ymm2 138vpcmpeqw (%rax), %ymm1, %ymm2 139 140vpcmpgtb %ymm0, %ymm1, %ymm2 141vpcmpgtb (%rax), %ymm1, %ymm2 142 143vpcmpgtd %ymm0, %ymm1, %ymm2 144vpcmpgtd (%rax), %ymm1, %ymm2 145 146vpcmpgtq %ymm0, %ymm1, %ymm2 147vpcmpgtq (%rax), %ymm1, %ymm2 148 149vpcmpgtw %ymm0, %ymm1, %ymm2 150vpcmpgtw (%rax), %ymm1, %ymm2 151 152vperm2i128 $1, %ymm0, %ymm1, %ymm2 153vperm2i128 $1, (%rax), %ymm1, %ymm2 154 155vpermd %ymm0, %ymm1, %ymm2 156vpermd (%rax), %ymm1, %ymm2 157 158vpermpd $1, %ymm0, %ymm2 159vpermpd $1, (%rax), %ymm2 160 161vpermps %ymm0, %ymm1, %ymm2 162vpermps (%rax), %ymm1, %ymm2 163 164vpermq $1, %ymm0, %ymm2 165vpermq $1, (%rax), %ymm2 166 167vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 168vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 169 170vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 171vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 172 173vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 174vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2 175 176vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 177vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 178 179vphaddd %ymm0, %ymm1, %ymm2 180vphaddd (%rax), %ymm1, %ymm2 181 182vphaddsw %ymm0, %ymm1, %ymm2 183vphaddsw (%rax), %ymm1, %ymm2 184 185vphaddw %ymm0, %ymm1, %ymm2 186vphaddw (%rax), %ymm1, %ymm2 187 188vphsubd %ymm0, %ymm1, %ymm2 189vphsubd (%rax), %ymm1, %ymm2 190 191vphsubsw %ymm0, %ymm1, %ymm2 192vphsubsw (%rax), %ymm1, %ymm2 193 194vphsubw %ymm0, %ymm1, %ymm2 195vphsubw (%rax), %ymm1, %ymm2 196 197vpmaddubsw %ymm0, %ymm1, %ymm2 198vpmaddubsw (%rax), %ymm1, %ymm2 199 200vpmaddwd %ymm0, %ymm1, %ymm2 201vpmaddwd (%rax), %ymm1, %ymm2 202 203vpmaskmovd (%rax), %xmm0, %xmm2 204vpmaskmovd (%rax), %ymm0, %ymm2 205 206vpmaskmovd %xmm0, %xmm1, (%rax) 207vpmaskmovd %ymm0, %ymm1, (%rax) 208 209vpmaskmovq (%rax), %xmm0, %xmm2 210vpmaskmovq (%rax), %ymm0, %ymm2 211 212vpmaskmovq %xmm0, %xmm1, (%rax) 213vpmaskmovq %ymm0, %ymm1, (%rax) 214 215vpmaxsb %ymm0, %ymm1, %ymm2 216vpmaxsb (%rax), %ymm1, %ymm2 217 218vpmaxsd %ymm0, %ymm1, %ymm2 219vpmaxsd (%rax), %ymm1, %ymm2 220 221vpmaxsw %ymm0, %ymm1, %ymm2 222vpmaxsw (%rax), %ymm1, %ymm2 223 224vpmaxub %ymm0, %ymm1, %ymm2 225vpmaxub (%rax), %ymm1, %ymm2 226 227vpmaxud %ymm0, %ymm1, %ymm2 228vpmaxud (%rax), %ymm1, %ymm2 229 230vpmaxuw %ymm0, %ymm1, %ymm2 231vpmaxuw (%rax), %ymm1, %ymm2 232 233vpminsb %ymm0, %ymm1, %ymm2 234vpminsb (%rax), %ymm1, %ymm2 235 236vpminsd %ymm0, %ymm1, %ymm2 237vpminsd (%rax), %ymm1, %ymm2 238 239vpminsw %ymm0, %ymm1, %ymm2 240vpminsw (%rax), %ymm1, %ymm2 241 242vpminub %ymm0, %ymm1, %ymm2 243vpminub (%rax), %ymm1, %ymm2 244 245vpminud %ymm0, %ymm1, %ymm2 246vpminud (%rax), %ymm1, %ymm2 247 248vpminuw %ymm0, %ymm1, %ymm2 249vpminuw (%rax), %ymm1, %ymm2 250 251vpmovmskb %ymm0, %rcx 252 253vpmovsxbd %xmm0, %ymm2 254vpmovsxbd (%rax), %ymm2 255 256vpmovsxbq %xmm0, %ymm2 257vpmovsxbq (%rax), %ymm2 258 259vpmovsxbw %xmm0, %ymm2 260vpmovsxbw (%rax), %ymm2 261 262vpmovsxdq %xmm0, %ymm2 263vpmovsxdq (%rax), %ymm2 264 265vpmovsxwd %xmm0, %ymm2 266vpmovsxwd (%rax), %ymm2 267 268vpmovsxwq %xmm0, %ymm2 269vpmovsxwq (%rax), %ymm2 270 271vpmovzxbd %xmm0, %ymm2 272vpmovzxbd (%rax), %ymm2 273 274vpmovzxbq %xmm0, %ymm2 275vpmovzxbq (%rax), %ymm2 276 277vpmovzxbw %xmm0, %ymm2 278vpmovzxbw (%rax), %ymm2 279 280vpmovzxdq %xmm0, %ymm2 281vpmovzxdq (%rax), %ymm2 282 283vpmovzxwd %xmm0, %ymm2 284vpmovzxwd (%rax), %ymm2 285 286vpmovzxwq %xmm0, %ymm2 287vpmovzxwq (%rax), %ymm2 288 289vpmuldq %ymm0, %ymm1, %ymm2 290vpmuldq (%rax), %ymm1, %ymm2 291 292vpmulhrsw %ymm0, %ymm1, %ymm2 293vpmulhrsw (%rax), %ymm1, %ymm2 294 295vpmulhuw %ymm0, %ymm1, %ymm2 296vpmulhuw (%rax), %ymm1, %ymm2 297 298vpmulhw %ymm0, %ymm1, %ymm2 299vpmulhw (%rax), %ymm1, %ymm2 300 301vpmulld %ymm0, %ymm1, %ymm2 302vpmulld (%rax), %ymm1, %ymm2 303 304vpmullw %ymm0, %ymm1, %ymm2 305vpmullw (%rax), %ymm1, %ymm2 306 307vpmuludq %ymm0, %ymm1, %ymm2 308vpmuludq (%rax), %ymm1, %ymm2 309 310vpor %ymm0, %ymm1, %ymm2 311vpor (%rax), %ymm1, %ymm2 312 313vpsadbw %ymm0, %ymm1, %ymm2 314vpsadbw (%rax), %ymm1, %ymm2 315 316vpshufb %ymm0, %ymm1, %ymm2 317vpshufb (%rax), %ymm1, %ymm2 318 319vpshufd $1, %ymm0, %ymm2 320vpshufd $1, (%rax), %ymm2 321 322vpshufhw $1, %ymm0, %ymm2 323vpshufhw $1, (%rax), %ymm2 324 325vpshuflw $1, %ymm0, %ymm2 326vpshuflw $1, (%rax), %ymm2 327 328vpsignb %ymm0, %ymm1, %ymm2 329vpsignb (%rax), %ymm1, %ymm2 330 331vpsignd %ymm0, %ymm1, %ymm2 332vpsignd (%rax), %ymm1, %ymm2 333 334vpsignw %ymm0, %ymm1, %ymm2 335vpsignw (%rax), %ymm1, %ymm2 336 337vpslld $1, %ymm0, %ymm2 338vpslld %xmm0, %ymm1, %ymm2 339vpslld (%rax), %ymm1, %ymm2 340 341vpslldq $1, %ymm1, %ymm2 342 343vpsllq $1, %ymm0, %ymm2 344vpsllq %xmm0, %ymm1, %ymm2 345vpsllq (%rax), %ymm1, %ymm2 346 347vpsllvd %xmm0, %xmm1, %xmm2 348vpsllvd (%rax), %xmm1, %xmm2 349 350vpsllvd %ymm0, %ymm1, %ymm2 351vpsllvd (%rax), %ymm1, %ymm2 352 353vpsllvq %xmm0, %xmm1, %xmm2 354vpsllvq (%rax), %xmm1, %xmm2 355 356vpsllvq %ymm0, %ymm1, %ymm2 357vpsllvq (%rax), %ymm1, %ymm2 358 359vpsllw $1, %ymm0, %ymm2 360vpsllw %xmm0, %ymm1, %ymm2 361vpsllw (%rax), %ymm1, %ymm2 362 363vpsrad $1, %ymm0, %ymm2 364vpsrad %xmm0, %ymm1, %ymm2 365vpsrad (%rax), %ymm1, %ymm2 366 367vpsravd %xmm0, %xmm1, %xmm2 368vpsravd (%rax), %xmm1, %xmm2 369 370vpsravd %ymm0, %ymm1, %ymm2 371vpsravd (%rax), %ymm1, %ymm2 372 373vpsraw $1, %ymm0, %ymm2 374vpsraw %xmm0, %ymm1, %ymm2 375vpsraw (%rax), %ymm1, %ymm2 376 377vpsrld $1, %ymm0, %ymm2 378vpsrld %xmm0, %ymm1, %ymm2 379vpsrld (%rax), %ymm1, %ymm2 380 381vpsrldq $1, %ymm1, %ymm2 382 383vpsrlq $1, %ymm0, %ymm2 384vpsrlq %xmm0, %ymm1, %ymm2 385vpsrlq (%rax), %ymm1, %ymm2 386 387vpsrlvd %xmm0, %xmm1, %xmm2 388vpsrlvd (%rax), %xmm1, %xmm2 389 390vpsrlvd %ymm0, %ymm1, %ymm2 391vpsrlvd (%rax), %ymm1, %ymm2 392 393vpsrlvq %xmm0, %xmm1, %xmm2 394vpsrlvq (%rax), %xmm1, %xmm2 395 396vpsrlvq %ymm0, %ymm1, %ymm2 397vpsrlvq (%rax), %ymm1, %ymm2 398 399vpsrlw $1, %ymm0, %ymm2 400vpsrlw %xmm0, %ymm1, %ymm2 401vpsrlw (%rax), %ymm1, %ymm2 402 403vpsubb %ymm0, %ymm1, %ymm2 404vpsubb (%rax), %ymm1, %ymm2 405 406vpsubd %ymm0, %ymm1, %ymm2 407vpsubd (%rax), %ymm1, %ymm2 408 409vpsubq %ymm0, %ymm1, %ymm2 410vpsubq (%rax), %ymm1, %ymm2 411 412vpsubsb %ymm0, %ymm1, %ymm2 413vpsubsb (%rax), %ymm1, %ymm2 414 415vpsubsw %ymm0, %ymm1, %ymm2 416vpsubsw (%rax), %ymm1, %ymm2 417 418vpsubusb %ymm0, %ymm1, %ymm2 419vpsubusb (%rax), %ymm1, %ymm2 420 421vpsubusw %ymm0, %ymm1, %ymm2 422vpsubusw (%rax), %ymm1, %ymm2 423 424vpsubw %ymm0, %ymm1, %ymm2 425vpsubw (%rax), %ymm1, %ymm2 426 427vpunpckhbw %ymm0, %ymm1, %ymm2 428vpunpckhbw (%rax), %ymm1, %ymm2 429 430vpunpckhdq %ymm0, %ymm1, %ymm2 431vpunpckhdq (%rax), %ymm1, %ymm2 432 433vpunpckhqdq %ymm0, %ymm1, %ymm2 434vpunpckhqdq (%rax), %ymm1, %ymm2 435 436vpunpckhwd %ymm0, %ymm1, %ymm2 437vpunpckhwd (%rax), %ymm1, %ymm2 438 439vpunpcklbw %ymm0, %ymm1, %ymm2 440vpunpcklbw (%rax), %ymm1, %ymm2 441 442vpunpckldq %ymm0, %ymm1, %ymm2 443vpunpckldq (%rax), %ymm1, %ymm2 444 445vpunpcklqdq %ymm0, %ymm1, %ymm2 446vpunpcklqdq (%rax), %ymm1, %ymm2 447 448vpunpcklwd %ymm0, %ymm1, %ymm2 449vpunpcklwd (%rax), %ymm1, %ymm2 450 451vpxor %ymm0, %ymm1, %ymm2 452vpxor (%rax), %ymm1, %ymm2 453 454# CHECK: Instruction Info: 455# CHECK-NEXT: [1]: #uOps 456# CHECK-NEXT: [2]: Latency 457# CHECK-NEXT: [3]: RThroughput 458# CHECK-NEXT: [4]: MayLoad 459# CHECK-NEXT: [5]: MayStore 460# CHECK-NEXT: [6]: HasSideEffects (U) 461 462# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 463# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0 464# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 465# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 466# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 467# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) 468# CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 469# CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 470# CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 471# CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 472# CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 473# CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 474# CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 475# CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 476# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 477# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 478# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 479# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 480# CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 481# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 482# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 483# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 484# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 485# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 486# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 487# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 488# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 489# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 490# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 491# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 492# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 493# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 494# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 495# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2 496# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 497# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2 498# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 499# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2 500# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 501# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 502# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 503# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 504# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 505# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 506# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 507# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 508# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 509# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2 510# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 511# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 512# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 513# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 514# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 515# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 516# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 517# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 518# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 519# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 520# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 521# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 522# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 523# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 524# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 525# CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 526# CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 527# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 528# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 529# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 530# CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0 531# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 532# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0 533# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 534# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0 535# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 536# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0 537# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 538# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0 539# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 540# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0 541# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 542# CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0 543# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 544# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0 545# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 546# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 547# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 548# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 549# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 550# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 551# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 552# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 553# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 554# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 555# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 556# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 557# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 558# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 559# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 560# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 561# CHECK-NEXT: 1 3 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2 562# CHECK-NEXT: 2 10 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2 563# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 564# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2 565# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 566# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2 567# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 568# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2 569# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 570# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2 571# CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 572# CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 573# CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 574# CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 575# CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 576# CHECK-NEXT: 5 25 1.00 * vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2 577# CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 578# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 579# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 580# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2 581# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 582# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2 583# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 584# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2 585# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 586# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2 587# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 588# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2 589# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 590# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2 591# CHECK-NEXT: 1 4 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2 592# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2 593# CHECK-NEXT: 1 4 0.50 vpmaddwd %ymm0, %ymm1, %ymm2 594# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2 595# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2 596# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2 597# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) 598# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) 599# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2 600# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2 601# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) 602# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) 603# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 604# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 605# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 606# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 607# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 608# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 609# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 610# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 611# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 612# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 613# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 614# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 615# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 616# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 617# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 618# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 619# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 620# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 621# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 622# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 623# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 624# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 625# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 626# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 627# CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx 628# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 629# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 630# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 631# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 632# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 633# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2 634# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 635# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2 636# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 637# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2 638# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 639# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 640# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 641# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2 642# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 643# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2 644# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 645# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2 646# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 647# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2 648# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 649# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2 650# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 651# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2 652# CHECK-NEXT: 1 4 0.50 vpmuldq %ymm0, %ymm1, %ymm2 653# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2 654# CHECK-NEXT: 1 4 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2 655# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2 656# CHECK-NEXT: 1 4 0.50 vpmulhuw %ymm0, %ymm1, %ymm2 657# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2 658# CHECK-NEXT: 1 4 0.50 vpmulhw %ymm0, %ymm1, %ymm2 659# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2 660# CHECK-NEXT: 2 10 1.00 vpmulld %ymm0, %ymm1, %ymm2 661# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm1, %ymm2 662# CHECK-NEXT: 1 4 0.50 vpmullw %ymm0, %ymm1, %ymm2 663# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2 664# CHECK-NEXT: 1 4 0.50 vpmuludq %ymm0, %ymm1, %ymm2 665# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2 666# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 667# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 668# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2 669# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2 670# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 671# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2 672# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 673# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 674# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 675# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 676# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 677# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 678# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 679# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 680# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 681# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 682# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 683# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 684# CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2 685# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 686# CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2 687# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 688# CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2 689# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 690# CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2 691# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2 692# CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2 693# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2 694# CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2 695# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2 696# CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2 697# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2 698# CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2 699# CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2 700# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 701# CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2 702# CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2 703# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 704# CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2 705# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2 706# CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2 707# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2 708# CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2 709# CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2 710# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 711# CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2 712# CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2 713# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 714# CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2 715# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 716# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2 717# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 718# CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2 719# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2 720# CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2 721# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2 722# CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2 723# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2 724# CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2 725# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2 726# CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2 727# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2 728# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 729# CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2 730# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2 731# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 732# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2 733# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 734# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2 735# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 736# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 737# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 738# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 739# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 740# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 741# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 742# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 743# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 744# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2 745# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 746# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 747# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 748# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 749# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 750# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 751# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 752# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 753# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 754# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 755# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 756# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 757# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 758# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 759# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 760# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 761# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 762# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 763# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 764 765# CHECK: Resources: 766# CHECK-NEXT: [0] - SKLDivider 767# CHECK-NEXT: [1] - SKLFPDivider 768# CHECK-NEXT: [2] - SKLPort0 769# CHECK-NEXT: [3] - SKLPort1 770# CHECK-NEXT: [4] - SKLPort2 771# CHECK-NEXT: [5] - SKLPort3 772# CHECK-NEXT: [6] - SKLPort4 773# CHECK-NEXT: [7] - SKLPort5 774# CHECK-NEXT: [8] - SKLPort6 775# CHECK-NEXT: [9] - SKLPort7 776 777# CHECK: Resource pressure per iteration: 778# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 779# CHECK-NEXT: - - 110.33 89.33 85.67 85.67 1.00 164.33 - 1.67 780 781# CHECK: Resource pressure by instruction: 782# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: 783# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 784# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 785# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 786# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 787# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) 788# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 789# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 790# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 791# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 792# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 793# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 794# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 795# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 796# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 797# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 798# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 799# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 800# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 801# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2 802# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2 803# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2 804# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2 805# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2 806# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2 807# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 808# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 809# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 810# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 811# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 812# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 813# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 814# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 815# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2 816# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2 817# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2 818# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2 819# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2 820# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2 821# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2 822# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2 823# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2 824# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2 825# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2 826# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2 827# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2 828# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2 829# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2 830# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2 831# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 832# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 833# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 834# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 835# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 836# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 837# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2 838# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2 839# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2 840# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2 841# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 842# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 843# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 844# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 845# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 846# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 847# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 848# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 849# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 850# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0 851# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 852# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0 853# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 854# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 855# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 856# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 857# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 858# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 859# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 860# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 861# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 862# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0 863# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 864# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0 865# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2 866# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2 867# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2 868# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2 869# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2 870# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2 871# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2 872# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2 873# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2 874# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2 875# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2 876# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2 877# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2 878# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2 879# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2 880# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2 881# CHECK-NEXT: - - - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2 882# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2 883# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 884# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 885# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 886# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 887# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 888# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 889# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 890# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 891# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 892# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 893# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 894# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 895# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 896# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2 897# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 898# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 899# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2 900# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2 901# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2 902# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2 903# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2 904# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2 905# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2 906# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2 907# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2 908# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2 909# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2 910# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2 911# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 912# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 913# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2 914# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2 915# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2 916# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2 917# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) 918# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) 919# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2 920# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2 921# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) 922# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) 923# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2 924# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2 925# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2 926# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2 927# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2 928# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2 929# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2 930# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2 931# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2 932# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2 933# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2 934# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2 935# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2 936# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2 937# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2 938# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2 939# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2 940# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2 941# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2 942# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2 943# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2 944# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2 945# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2 946# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2 947# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx 948# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 949# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 950# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 951# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 952# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 953# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 954# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 955# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 956# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 957# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 958# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 959# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 960# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 961# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 962# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 963# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 964# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 965# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 966# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 967# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 968# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 969# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 970# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 971# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 972# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuldq %ymm0, %ymm1, %ymm2 973# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2 974# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 975# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 976# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2 977# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2 978# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhw %ymm0, %ymm1, %ymm2 979# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2 980# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm0, %ymm1, %ymm2 981# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2 982# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmullw %ymm0, %ymm1, %ymm2 983# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2 984# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuludq %ymm0, %ymm1, %ymm2 985# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2 986# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 987# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 988# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2 989# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2 990# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 991# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 992# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 993# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 994# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 995# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 996# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 997# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 998# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2 999# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2 1000# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2 1001# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2 1002# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2 1003# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2 1004# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2 1005# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 1006# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 1007# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 1008# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2 1009# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 1010# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 1011# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2 1012# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2 1013# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2 1014# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2 1015# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 1016# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 1017# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 1018# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 1019# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2 1020# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 1021# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 1022# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2 1023# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 1024# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 1025# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2 1026# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2 1027# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2 1028# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2 1029# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2 1030# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 1031# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 1032# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2 1033# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 1034# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 1035# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 1036# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2 1037# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 1038# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 1039# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2 1040# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2 1041# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2 1042# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2 1043# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 1044# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 1045# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 1046# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 1047# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2 1048# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 1049# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 1050# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2 1051# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2 1052# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2 1053# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2 1054# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2 1055# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2 1056# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2 1057# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2 1058# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2 1059# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2 1060# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2 1061# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2 1062# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2 1063# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2 1064# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2 1065# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2 1066# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 1067# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 1068# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 1069# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 1070# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 1071# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 1072# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 1073# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 1074# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 1075# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 1076# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 1077# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 1078# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 1079# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 1080# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 1081# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 1082# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 1083# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 1084