llvm-for-llvmta/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s

1084 lines
70 KiB
ArmAsm

# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -instruction-tables < %s | FileCheck %s
vbroadcasti128 (%rax), %ymm0
vbroadcastsd %xmm0, %ymm0
vbroadcastss %xmm0, %ymm0
vextracti128 $1, %ymm0, %xmm2
vextracti128 $1, %ymm0, (%rax)
vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
vinserti128 $1, %xmm0, %ymm1, %ymm2
vinserti128 $1, (%rax), %ymm1, %ymm2
vmovntdqa (%rax), %ymm0
vmpsadbw $1, %ymm0, %ymm1, %ymm2
vmpsadbw $1, (%rax), %ymm1, %ymm2
vpabsb %ymm0, %ymm2
vpabsb (%rax), %ymm2
vpabsd %ymm0, %ymm2
vpabsd (%rax), %ymm2
vpabsw %ymm0, %ymm2
vpabsw (%rax), %ymm2
vpackssdw %ymm0, %ymm1, %ymm2
vpackssdw (%rax), %ymm1, %ymm2
vpacksswb %ymm0, %ymm1, %ymm2
vpacksswb (%rax), %ymm1, %ymm2
vpackusdw %ymm0, %ymm1, %ymm2
vpackusdw (%rax), %ymm1, %ymm2
vpackuswb %ymm0, %ymm1, %ymm2
vpackuswb (%rax), %ymm1, %ymm2
vpaddb %ymm0, %ymm1, %ymm2
vpaddb (%rax), %ymm1, %ymm2
vpaddd %ymm0, %ymm1, %ymm2
vpaddd (%rax), %ymm1, %ymm2
vpaddq %ymm0, %ymm1, %ymm2
vpaddq (%rax), %ymm1, %ymm2
vpaddsb %ymm0, %ymm1, %ymm2
vpaddsb (%rax), %ymm1, %ymm2
vpaddsw %ymm0, %ymm1, %ymm2
vpaddsw (%rax), %ymm1, %ymm2
vpaddusb %ymm0, %ymm1, %ymm2
vpaddusb (%rax), %ymm1, %ymm2
vpaddusw %ymm0, %ymm1, %ymm2
vpaddusw (%rax), %ymm1, %ymm2
vpaddw %ymm0, %ymm1, %ymm2
vpaddw (%rax), %ymm1, %ymm2
vpalignr $1, %ymm0, %ymm1, %ymm2
vpalignr $1, (%rax), %ymm1, %ymm2
vpand %ymm0, %ymm1, %ymm2
vpand (%rax), %ymm1, %ymm2
vpandn %ymm0, %ymm1, %ymm2
vpandn (%rax), %ymm1, %ymm2
vpavgb %ymm0, %ymm1, %ymm2
vpavgb (%rax), %ymm1, %ymm2
vpavgw %ymm0, %ymm1, %ymm2
vpavgw (%rax), %ymm1, %ymm2
vpblendd $11, %xmm0, %xmm1, %xmm2
vpblendd $11, (%rax), %xmm1, %xmm2
vpblendd $11, %ymm0, %ymm1, %ymm2
vpblendd $11, (%rax), %ymm1, %ymm2
vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
vpblendvb %ymm3, (%rax), %ymm1, %ymm2
vpblendw $11, %ymm0, %ymm1, %ymm2
vpblendw $11, (%rax), %ymm1, %ymm2
vpbroadcastb %xmm0, %xmm0
vpbroadcastb (%rax), %xmm0
vpbroadcastb %xmm0, %ymm0
vpbroadcastb (%rax), %ymm0
vpbroadcastd %xmm0, %xmm0
vpbroadcastd (%rax), %xmm0
vpbroadcastd %xmm0, %ymm0
vpbroadcastd (%rax), %ymm0
vpbroadcastq %xmm0, %xmm0
vpbroadcastq (%rax), %xmm0
vpbroadcastq %xmm0, %ymm0
vpbroadcastq (%rax), %ymm0
vpbroadcastw %xmm0, %xmm0
vpbroadcastw (%rax), %xmm0
vpbroadcastw %xmm0, %ymm0
vpbroadcastw (%rax), %ymm0
vpcmpeqb %ymm0, %ymm1, %ymm2
vpcmpeqb (%rax), %ymm1, %ymm2
vpcmpeqd %ymm0, %ymm1, %ymm2
vpcmpeqd (%rax), %ymm1, %ymm2
vpcmpeqq %ymm0, %ymm1, %ymm2
vpcmpeqq (%rax), %ymm1, %ymm2
vpcmpeqw %ymm0, %ymm1, %ymm2
vpcmpeqw (%rax), %ymm1, %ymm2
vpcmpgtb %ymm0, %ymm1, %ymm2
vpcmpgtb (%rax), %ymm1, %ymm2
vpcmpgtd %ymm0, %ymm1, %ymm2
vpcmpgtd (%rax), %ymm1, %ymm2
vpcmpgtq %ymm0, %ymm1, %ymm2
vpcmpgtq (%rax), %ymm1, %ymm2
vpcmpgtw %ymm0, %ymm1, %ymm2
vpcmpgtw (%rax), %ymm1, %ymm2
vperm2i128 $1, %ymm0, %ymm1, %ymm2
vperm2i128 $1, (%rax), %ymm1, %ymm2
vpermd %ymm0, %ymm1, %ymm2
vpermd (%rax), %ymm1, %ymm2
vpermpd $1, %ymm0, %ymm2
vpermpd $1, (%rax), %ymm2
vpermps %ymm0, %ymm1, %ymm2
vpermps (%rax), %ymm1, %ymm2
vpermq $1, %ymm0, %ymm2
vpermq $1, (%rax), %ymm2
vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
vphaddd %ymm0, %ymm1, %ymm2
vphaddd (%rax), %ymm1, %ymm2
vphaddsw %ymm0, %ymm1, %ymm2
vphaddsw (%rax), %ymm1, %ymm2
vphaddw %ymm0, %ymm1, %ymm2
vphaddw (%rax), %ymm1, %ymm2
vphsubd %ymm0, %ymm1, %ymm2
vphsubd (%rax), %ymm1, %ymm2
vphsubsw %ymm0, %ymm1, %ymm2
vphsubsw (%rax), %ymm1, %ymm2
vphsubw %ymm0, %ymm1, %ymm2
vphsubw (%rax), %ymm1, %ymm2
vpmaddubsw %ymm0, %ymm1, %ymm2
vpmaddubsw (%rax), %ymm1, %ymm2
vpmaddwd %ymm0, %ymm1, %ymm2
vpmaddwd (%rax), %ymm1, %ymm2
vpmaskmovd (%rax), %xmm0, %xmm2
vpmaskmovd (%rax), %ymm0, %ymm2
vpmaskmovd %xmm0, %xmm1, (%rax)
vpmaskmovd %ymm0, %ymm1, (%rax)
vpmaskmovq (%rax), %xmm0, %xmm2
vpmaskmovq (%rax), %ymm0, %ymm2
vpmaskmovq %xmm0, %xmm1, (%rax)
vpmaskmovq %ymm0, %ymm1, (%rax)
vpmaxsb %ymm0, %ymm1, %ymm2
vpmaxsb (%rax), %ymm1, %ymm2
vpmaxsd %ymm0, %ymm1, %ymm2
vpmaxsd (%rax), %ymm1, %ymm2
vpmaxsw %ymm0, %ymm1, %ymm2
vpmaxsw (%rax), %ymm1, %ymm2
vpmaxub %ymm0, %ymm1, %ymm2
vpmaxub (%rax), %ymm1, %ymm2
vpmaxud %ymm0, %ymm1, %ymm2
vpmaxud (%rax), %ymm1, %ymm2
vpmaxuw %ymm0, %ymm1, %ymm2
vpmaxuw (%rax), %ymm1, %ymm2
vpminsb %ymm0, %ymm1, %ymm2
vpminsb (%rax), %ymm1, %ymm2
vpminsd %ymm0, %ymm1, %ymm2
vpminsd (%rax), %ymm1, %ymm2
vpminsw %ymm0, %ymm1, %ymm2
vpminsw (%rax), %ymm1, %ymm2
vpminub %ymm0, %ymm1, %ymm2
vpminub (%rax), %ymm1, %ymm2
vpminud %ymm0, %ymm1, %ymm2
vpminud (%rax), %ymm1, %ymm2
vpminuw %ymm0, %ymm1, %ymm2
vpminuw (%rax), %ymm1, %ymm2
vpmovmskb %ymm0, %rcx
vpmovsxbd %xmm0, %ymm2
vpmovsxbd (%rax), %ymm2
vpmovsxbq %xmm0, %ymm2
vpmovsxbq (%rax), %ymm2
vpmovsxbw %xmm0, %ymm2
vpmovsxbw (%rax), %ymm2
vpmovsxdq %xmm0, %ymm2
vpmovsxdq (%rax), %ymm2
vpmovsxwd %xmm0, %ymm2
vpmovsxwd (%rax), %ymm2
vpmovsxwq %xmm0, %ymm2
vpmovsxwq (%rax), %ymm2
vpmovzxbd %xmm0, %ymm2
vpmovzxbd (%rax), %ymm2
vpmovzxbq %xmm0, %ymm2
vpmovzxbq (%rax), %ymm2
vpmovzxbw %xmm0, %ymm2
vpmovzxbw (%rax), %ymm2
vpmovzxdq %xmm0, %ymm2
vpmovzxdq (%rax), %ymm2
vpmovzxwd %xmm0, %ymm2
vpmovzxwd (%rax), %ymm2
vpmovzxwq %xmm0, %ymm2
vpmovzxwq (%rax), %ymm2
vpmuldq %ymm0, %ymm1, %ymm2
vpmuldq (%rax), %ymm1, %ymm2
vpmulhrsw %ymm0, %ymm1, %ymm2
vpmulhrsw (%rax), %ymm1, %ymm2
vpmulhuw %ymm0, %ymm1, %ymm2
vpmulhuw (%rax), %ymm1, %ymm2
vpmulhw %ymm0, %ymm1, %ymm2
vpmulhw (%rax), %ymm1, %ymm2
vpmulld %ymm0, %ymm1, %ymm2
vpmulld (%rax), %ymm1, %ymm2
vpmullw %ymm0, %ymm1, %ymm2
vpmullw (%rax), %ymm1, %ymm2
vpmuludq %ymm0, %ymm1, %ymm2
vpmuludq (%rax), %ymm1, %ymm2
vpor %ymm0, %ymm1, %ymm2
vpor (%rax), %ymm1, %ymm2
vpsadbw %ymm0, %ymm1, %ymm2
vpsadbw (%rax), %ymm1, %ymm2
vpshufb %ymm0, %ymm1, %ymm2
vpshufb (%rax), %ymm1, %ymm2
vpshufd $1, %ymm0, %ymm2
vpshufd $1, (%rax), %ymm2
vpshufhw $1, %ymm0, %ymm2
vpshufhw $1, (%rax), %ymm2
vpshuflw $1, %ymm0, %ymm2
vpshuflw $1, (%rax), %ymm2
vpsignb %ymm0, %ymm1, %ymm2
vpsignb (%rax), %ymm1, %ymm2
vpsignd %ymm0, %ymm1, %ymm2
vpsignd (%rax), %ymm1, %ymm2
vpsignw %ymm0, %ymm1, %ymm2
vpsignw (%rax), %ymm1, %ymm2
vpslld $1, %ymm0, %ymm2
vpslld %xmm0, %ymm1, %ymm2
vpslld (%rax), %ymm1, %ymm2
vpslldq $1, %ymm1, %ymm2
vpsllq $1, %ymm0, %ymm2
vpsllq %xmm0, %ymm1, %ymm2
vpsllq (%rax), %ymm1, %ymm2
vpsllvd %xmm0, %xmm1, %xmm2
vpsllvd (%rax), %xmm1, %xmm2
vpsllvd %ymm0, %ymm1, %ymm2
vpsllvd (%rax), %ymm1, %ymm2
vpsllvq %xmm0, %xmm1, %xmm2
vpsllvq (%rax), %xmm1, %xmm2
vpsllvq %ymm0, %ymm1, %ymm2
vpsllvq (%rax), %ymm1, %ymm2
vpsllw $1, %ymm0, %ymm2
vpsllw %xmm0, %ymm1, %ymm2
vpsllw (%rax), %ymm1, %ymm2
vpsrad $1, %ymm0, %ymm2
vpsrad %xmm0, %ymm1, %ymm2
vpsrad (%rax), %ymm1, %ymm2
vpsravd %xmm0, %xmm1, %xmm2
vpsravd (%rax), %xmm1, %xmm2
vpsravd %ymm0, %ymm1, %ymm2
vpsravd (%rax), %ymm1, %ymm2
vpsraw $1, %ymm0, %ymm2
vpsraw %xmm0, %ymm1, %ymm2
vpsraw (%rax), %ymm1, %ymm2
vpsrld $1, %ymm0, %ymm2
vpsrld %xmm0, %ymm1, %ymm2
vpsrld (%rax), %ymm1, %ymm2
vpsrldq $1, %ymm1, %ymm2
vpsrlq $1, %ymm0, %ymm2
vpsrlq %xmm0, %ymm1, %ymm2
vpsrlq (%rax), %ymm1, %ymm2
vpsrlvd %xmm0, %xmm1, %xmm2
vpsrlvd (%rax), %xmm1, %xmm2
vpsrlvd %ymm0, %ymm1, %ymm2
vpsrlvd (%rax), %ymm1, %ymm2
vpsrlvq %xmm0, %xmm1, %xmm2
vpsrlvq (%rax), %xmm1, %xmm2
vpsrlvq %ymm0, %ymm1, %ymm2
vpsrlvq (%rax), %ymm1, %ymm2
vpsrlw $1, %ymm0, %ymm2
vpsrlw %xmm0, %ymm1, %ymm2
vpsrlw (%rax), %ymm1, %ymm2
vpsubb %ymm0, %ymm1, %ymm2
vpsubb (%rax), %ymm1, %ymm2
vpsubd %ymm0, %ymm1, %ymm2
vpsubd (%rax), %ymm1, %ymm2
vpsubq %ymm0, %ymm1, %ymm2
vpsubq (%rax), %ymm1, %ymm2
vpsubsb %ymm0, %ymm1, %ymm2
vpsubsb (%rax), %ymm1, %ymm2
vpsubsw %ymm0, %ymm1, %ymm2
vpsubsw (%rax), %ymm1, %ymm2
vpsubusb %ymm0, %ymm1, %ymm2
vpsubusb (%rax), %ymm1, %ymm2
vpsubusw %ymm0, %ymm1, %ymm2
vpsubusw (%rax), %ymm1, %ymm2
vpsubw %ymm0, %ymm1, %ymm2
vpsubw (%rax), %ymm1, %ymm2
vpunpckhbw %ymm0, %ymm1, %ymm2
vpunpckhbw (%rax), %ymm1, %ymm2
vpunpckhdq %ymm0, %ymm1, %ymm2
vpunpckhdq (%rax), %ymm1, %ymm2
vpunpckhqdq %ymm0, %ymm1, %ymm2
vpunpckhqdq (%rax), %ymm1, %ymm2
vpunpckhwd %ymm0, %ymm1, %ymm2
vpunpckhwd (%rax), %ymm1, %ymm2
vpunpcklbw %ymm0, %ymm1, %ymm2
vpunpcklbw (%rax), %ymm1, %ymm2
vpunpckldq %ymm0, %ymm1, %ymm2
vpunpckldq (%rax), %ymm1, %ymm2
vpunpcklqdq %ymm0, %ymm1, %ymm2
vpunpcklqdq (%rax), %ymm1, %ymm2
vpunpcklwd %ymm0, %ymm1, %ymm2
vpunpcklwd (%rax), %ymm1, %ymm2
vpxor %ymm0, %ymm1, %ymm2
vpxor (%rax), %ymm1, %ymm2
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 6 0.50 * vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0
# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0
# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: 7 17 3.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 9 18 3.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: 10 19 4.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 14 21 4.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 7 17 3.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 9 18 3.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 9 19 5.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 10 19 4.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 6 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 6 0.50 * vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 13 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpabsb (%rax), %ymm2
# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpabsd (%rax), %ymm2
# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpabsw (%rax), %ymm2
# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddusb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddusw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpand (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpandn (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpavgb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpavgw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 6 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 2 2.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 3 8 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0
# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %xmm0
# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0
# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %ymm0
# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0
# CHECK-NEXT: 1 5 0.50 * vpbroadcastd (%rax), %xmm0
# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0
# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %ymm0
# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0
# CHECK-NEXT: 1 5 0.50 * vpbroadcastq (%rax), %xmm0
# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0
# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %ymm0
# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0
# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %xmm0
# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0
# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %ymm0
# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 9 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpermd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpermpd $1, (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpermps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpermq $1, (%rax), %ymm2
# CHECK-NEXT: 10 19 4.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 14 21 4.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 7 17 3.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 9 18 3.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: 9 19 5.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 10 19 4.00 * vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT: 7 17 3.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 9 18 3.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 7 2.00 * vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 8 2.00 * vpmaskmovd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 3 7 2.00 * vpmaskmovq (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 8 2.00 * vpmaskmovq (%rax), %ymm0, %ymm2
# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaxub (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaxud (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpminsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpminsd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpminsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpminub (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpminud (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovmskb %ymm0, %ecx
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %ymm2
# CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmuldq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmulhuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmulhw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 10 2.00 vpmulld %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 3 16 2.00 * vpmulld (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmullw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpmuludq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 11 1.00 * vpsadbw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %ymm2
# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %ymm2
# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpshuflw $1, (%rax), %ymm2
# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsignb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsignd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsignw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpslld (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsllq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vpsllvd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 4 8 2.00 * vpsllvd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 3 3 2.00 vpsllvd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vpsllvd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 6 1.00 * vpsllvq (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsllw $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsllw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrad $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsrad (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vpsravd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 4 8 2.00 * vpsravd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 3 3 2.00 vpsravd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vpsravd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsraw $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsraw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsrld (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsrlq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vpsrlvd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 4 8 2.00 * vpsrlvd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 3 3 2.00 vpsrlvd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 9 2.00 * vpsrlvd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 6 1.00 * vpsrlvq (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2
# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpsrlw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubusb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubusw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpxor (%rax), %ymm1, %ymm2
# CHECK: Resources:
# CHECK-NEXT: [0] - BWDivider
# CHECK-NEXT: [1] - BWFPDivider
# CHECK-NEXT: [2] - BWPort0
# CHECK-NEXT: [3] - BWPort1
# CHECK-NEXT: [4] - BWPort2
# CHECK-NEXT: [5] - BWPort3
# CHECK-NEXT: [6] - BWPort4
# CHECK-NEXT: [7] - BWPort5
# CHECK-NEXT: [8] - BWPort6
# CHECK-NEXT: [9] - BWPort7
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 96.67 60.67 99.67 99.67 21.00 266.67 4.00 1.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 3.25 0.25 - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 4.25 0.25 - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 4.00 4.00 1.00 4.25 0.25 - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 3.25 0.25 - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 4.25 0.25 - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsb %ymm0, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsb (%rax), %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsd %ymm0, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsd (%rax), %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsw %ymm0, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsw (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 2.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %xmm0
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %xmm0
# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %ymm0
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 4.25 0.25 - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 4.00 4.00 1.00 4.25 0.25 - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 3.25 0.25 - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 4.25 0.25 - vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 3.25 0.25 - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax)
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxub %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxub (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxud %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxud (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminub %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminub (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminud %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminud (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - - - - - - - vpmulld %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmullw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsadbw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpslld $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2