# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -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: 2 6 1.00 * vbroadcasti128 (%rax), %ymm0 # CHECK-NEXT: 1 1 1.00 vbroadcastsd %xmm0, %ymm0 # CHECK-NEXT: 1 1 1.00 vbroadcastss %xmm0, %ymm0 # CHECK-NEXT: 1 1 1.00 vextracti128 $1, %ymm0, %xmm2 # CHECK-NEXT: 1 1 1.00 * vextracti128 $1, %ymm0, (%rax) # CHECK-NEXT: 1 5 0.50 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 # CHECK-NEXT: 1 5 0.50 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: 1 5 0.50 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: 1 5 0.50 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 # CHECK-NEXT: 1 1 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vinserti128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 # CHECK-NEXT: 3 7 1.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 4 14 1.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 # CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 # CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpblendd $11, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpblendd $11, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 2 2 1.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 3 9 1.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpblendw $11, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpblendw $11, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpbroadcastb %xmm0, %xmm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastb (%rax), %xmm0 # CHECK-NEXT: 1 1 1.00 vpbroadcastb %xmm0, %ymm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastb (%rax), %ymm0 # CHECK-NEXT: 1 1 0.50 vpbroadcastd %xmm0, %xmm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastd (%rax), %xmm0 # CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %ymm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastd (%rax), %ymm0 # CHECK-NEXT: 1 1 0.50 vpbroadcastq %xmm0, %xmm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastq (%rax), %xmm0 # CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %ymm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastq (%rax), %ymm0 # CHECK-NEXT: 1 1 0.50 vpbroadcastw %xmm0, %xmm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastw (%rax), %xmm0 # CHECK-NEXT: 1 1 1.00 vpbroadcastw %xmm0, %ymm0 # CHECK-NEXT: 2 7 0.50 * vpbroadcastw (%rax), %ymm0 # CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpgtq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermpd $1, %ymm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpermpd $1, (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpermps %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpermps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermq $1, %ymm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpermq $1, (%rax), %ymm2 # CHECK-NEXT: 1 5 0.50 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: 1 5 0.50 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 # CHECK-NEXT: 1 5 0.50 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: 1 5 0.50 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: 3 3 1.50 vphaddd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 4 10 1.50 * vphaddd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 3 3 1.50 vphaddsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 4 10 1.50 * vphaddsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 3 3 1.50 vphaddw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 4 10 1.50 * vphaddw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 3 3 1.50 vphsubd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 4 10 1.50 * vphsubd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 3 3 1.50 vphsubsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 4 10 1.50 * vphsubsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 3 3 1.50 vphsubw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 4 10 1.50 * vphsubw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 3 8 1.00 * vpmaskmovd (%rax), %xmm0, %xmm2 # CHECK-NEXT: 3 9 1.00 * vpmaskmovd (%rax), %ymm0, %ymm2 # CHECK-NEXT: 3 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) # CHECK-NEXT: 3 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) # CHECK-NEXT: 3 8 1.00 * vpmaskmovq (%rax), %xmm0, %xmm2 # CHECK-NEXT: 3 9 1.00 * vpmaskmovq (%rax), %ymm0, %ymm2 # CHECK-NEXT: 3 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) # CHECK-NEXT: 3 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) # CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx # CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovzxbq (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovzxbw (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovzxdq (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpmovzxwq (%rax), %ymm2 # CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmuldq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmulhuw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmulhw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmulld %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmulld (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmullw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpmuludq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 12 1.00 * vpsadbw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpshufb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 # CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 # CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 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: 3 11 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: 3 11 1.00 * vpsllq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpsllvd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 1.00 * vpsllvd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 1.00 vpsllvd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpsllvd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 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: 3 11 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: 3 11 1.00 * vpsrad (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpsravd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 1.00 * vpsravd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 1.00 vpsravd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.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: 3 11 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: 3 11 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: 3 11 1.00 * vpsrlq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpsrlvd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 1.00 * vpsrlvd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 1.00 vpsrlvd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpsrlvd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 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: 3 11 1.00 * vpsrlw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 # CHECK: Resources: # CHECK-NEXT: [0] - SBDivider # CHECK-NEXT: [1] - SBFPDivider # CHECK-NEXT: [2] - SBPort0 # CHECK-NEXT: [3] - SBPort1 # CHECK-NEXT: [4] - SBPort4 # CHECK-NEXT: [5] - SBPort5 # CHECK-NEXT: [6.0] - SBPort23 # CHECK-NEXT: [6.1] - SBPort23 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] # CHECK-NEXT: - - 75.67 88.67 5.00 168.67 78.50 78.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: # CHECK-NEXT: - - - - - 1.00 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: - - - - 1.00 - 0.50 0.50 vextracti128 $1, %ymm0, (%rax) # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vinserti128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vmovntdqa (%rax), %ymm0 # CHECK-NEXT: - - 1.00 1.00 - 1.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 1.00 - 1.00 0.50 0.50 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: - - - - - 1.00 0.50 0.50 vpackssdw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpacksswb (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpackusdw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 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: - - - - - 1.00 0.50 0.50 vpalignr $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpand %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 vpand (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 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.50 - 0.50 - - vpblendd $11, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpblendd $11, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpblendd $11, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpblendd $11, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vpblendvb %ymm3, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpblendw $11, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpblendw $11, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpbroadcastb %xmm0, %xmm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpbroadcastb (%rax), %xmm0 # CHECK-NEXT: - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpbroadcastb (%rax), %ymm0 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpbroadcastd %xmm0, %xmm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpbroadcastd (%rax), %xmm0 # CHECK-NEXT: - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpbroadcastd (%rax), %ymm0 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpbroadcastq %xmm0, %xmm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpbroadcastq (%rax), %xmm0 # CHECK-NEXT: - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpbroadcastq (%rax), %ymm0 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpbroadcastw %xmm0, %xmm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpbroadcastw (%rax), %xmm0 # CHECK-NEXT: - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 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: - - - 0.50 - 0.50 - - vpcmpgtq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 - 0.50 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: - - - - - 1.00 0.50 0.50 vperm2i128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermpd $1, (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermq $1, (%rax), %ymm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqd %xmm0, (%rax,%ymm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 # CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphaddw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphaddw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphsubd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphsubd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphsubsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 vphsubsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 - - vphsubw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.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: - - 1.00 - - 1.00 0.50 0.50 vpmaskmovd (%rax), %xmm0, %xmm2 # CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 vpmaskmovd (%rax), %ymm0, %ymm2 # CHECK-NEXT: - - 0.50 0.50 1.00 - 0.50 0.50 vpmaskmovd %xmm0, %xmm1, (%rax) # CHECK-NEXT: - - 0.50 0.50 1.00 - 0.50 0.50 vpmaskmovd %ymm0, %ymm1, (%rax) # CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 vpmaskmovq (%rax), %xmm0, %xmm2 # CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 vpmaskmovq (%rax), %ymm0, %ymm2 # CHECK-NEXT: - - 0.50 0.50 1.00 - 0.50 0.50 vpmaskmovq %xmm0, %xmm1, (%rax) # CHECK-NEXT: - - 0.50 0.50 1.00 - 0.50 0.50 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: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbq (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbw (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxdq (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwd (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbq (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbw (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxdq (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwd (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 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: - - 1.00 - - - - - vpmulld %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.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.33 0.50 0.50 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: - - - 0.50 - 0.50 - - vpshufb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufd $1, (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $1, (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 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 0.50 - 0.50 - - vpslld %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 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 0.50 - 0.50 - - vpsllq %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 vpsllq (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - - - vpsllvd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpsllvd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 1.00 - - - - - vpsllvd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 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 0.50 - 0.50 - - vpsllw %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 vpsllw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - - - vpsrad $1, %ymm0, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 - - vpsrad %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 vpsrad (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - - - vpsravd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpsravd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 1.00 - - - - - vpsravd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpsravd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - - - vpsraw $1, %ymm0, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 - - vpsraw %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 vpsraw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - - - vpsrld $1, %ymm0, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 - - vpsrld %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 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 0.50 - 0.50 - - vpsrlq %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 vpsrlq (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - - - vpsrlvd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpsrlvd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 1.00 - - - - - vpsrlvd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 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 0.50 - 0.50 - - vpsrlw %xmm0, %ymm1, %ymm2 # CHECK-NEXT: - - 1.00 0.50 - 0.50 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: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhdq (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhqdq (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckldq (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklqdq (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 vpxor (%rax), %ymm1, %ymm2