diff options
8 files changed, 231 insertions, 7 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s index aa3a1736c27..36ecc069cf6 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 2 6 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 6 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 8 18 4.00 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 23 4.00 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 24 4.00 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 6 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 6 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 9 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 @@ -1716,7 +1736,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - 257.00 186.67 234.67 174.17 174.17 38.00 428.67 1.00 12.67 +# CHECK-NEXT: - 257.00 216.33 236.33 176.17 176.17 38.00 442.33 2.00 12.67 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -2103,6 +2123,10 @@ vzeroupper # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2111,6 +2135,10 @@ vzeroupper # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s index f74baecbb73..149f2e4c7e2 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 1 6 1.00 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 6 1.00 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 9 14 5.00 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 19 5.00 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 14 5.00 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 19 5.00 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 6 1.00 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 1 6 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 6 1.00 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 8 2.00 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 13 2.00 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 2 1 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 6 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpermilpd $1, %xmm0, %xmm2 @@ -1720,7 +1740,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 48.00 - - 357.00 915.00 419.50 425.50 382.00 - 43.00 132.00 119.50 119.50 38.00 +# CHECK-NEXT: 56.00 - - 365.00 915.00 423.50 437.50 394.00 - 51.00 132.00 131.50 155.50 38.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: @@ -2107,6 +2127,10 @@ vzeroupper # CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2115,6 +2139,10 @@ vzeroupper # CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 2.00 - - - - - 2.00 - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 2.00 1.00 - - - - 2.00 - vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 2.00 - - - - - 2.00 - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 2.00 1.00 - - - - 2.00 - vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vpermilpd $1, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s index a12ca5acf4a..6e67fa89131 100644 --- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 2.67 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 2.33 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 11 2.67 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 11 2.33 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 @@ -1714,7 +1734,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] -# CHECK-NEXT: - 572.00 225.17 307.67 39.00 354.17 177.50 177.50 +# CHECK-NEXT: - 572.00 247.17 317.67 39.00 364.17 179.50 179.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: @@ -2101,6 +2121,10 @@ vzeroupper # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2109,6 +2133,10 @@ vzeroupper # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s index 3b16d35aa0b..0158e5322ff 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 8 18 4.00 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 24 4.00 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 25 4.00 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 10 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 @@ -1716,7 +1736,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - 336.00 186.00 236.00 174.17 174.17 38.00 432.00 1.00 12.67 +# CHECK-NEXT: - 336.00 215.67 237.67 176.17 176.17 38.00 445.67 2.00 12.67 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -2103,6 +2123,10 @@ vzeroupper # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2111,6 +2135,10 @@ vzeroupper # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s index 9b2d0199bf5..1620d8c8617 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 2.67 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 2.33 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 11 2.67 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 11 2.33 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 8 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 @@ -1714,7 +1734,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] -# CHECK-NEXT: - 572.00 225.17 307.67 39.00 354.17 177.50 177.50 +# CHECK-NEXT: - 572.00 247.17 317.67 39.00 364.17 179.50 179.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: @@ -2101,6 +2121,10 @@ vzeroupper # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2109,6 +2133,10 @@ vzeroupper # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s index f93ef08a3c8..2acf109a961 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 8 18 4.00 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 24 4.00 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 25 4.00 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 2 9 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 10 3.00 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 10 3.00 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 10 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 @@ -1716,7 +1736,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - 123.00 303.50 202.50 171.17 171.17 34.00 311.00 5.00 12.67 +# CHECK-NEXT: - 123.00 333.17 204.17 173.17 173.17 34.00 324.67 6.00 12.67 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -2103,6 +2123,10 @@ vzeroupper # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2111,6 +2135,10 @@ vzeroupper # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s index f62c1fcd420..07c4064a807 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 8 18 4.00 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 24 4.00 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 25 4.00 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 2 9 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 10 3.00 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 10 3.00 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 10 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 @@ -1716,7 +1736,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - 123.00 290.83 198.83 171.17 171.17 34.00 327.33 5.00 12.67 +# CHECK-NEXT: - 123.00 320.50 200.50 173.17 173.17 34.00 341.00 6.00 12.67 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -2103,6 +2123,10 @@ vzeroupper # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2111,6 +2135,10 @@ vzeroupper # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s index e9a93998a97..18befbff584 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s @@ -565,6 +565,12 @@ vpcmpeqq (%rax), %xmm1, %xmm2 vpcmpeqw %xmm0, %xmm1, %xmm2 vpcmpeqw (%rax), %xmm1, %xmm2 +vpcmpestri $1, %xmm0, %xmm2 +vpcmpestri $1, (%rax), %xmm2 + +vpcmpestrm $1, %xmm0, %xmm2 +vpcmpestrm $1, (%rax), %xmm2 + vpcmpgtb %xmm0, %xmm1, %xmm2 vpcmpgtb (%rax), %xmm1, %xmm2 @@ -577,6 +583,12 @@ vpcmpgtq (%rax), %xmm1, %xmm2 vpcmpgtw %xmm0, %xmm1, %xmm2 vpcmpgtw (%rax), %xmm1, %xmm2 +vpcmpistri $1, %xmm0, %xmm2 +vpcmpistri $1, (%rax), %xmm2 + +vpcmpistrm $1, %xmm0, %xmm2 +vpcmpistrm $1, (%rax), %xmm2 + vperm2f128 $1, %ymm0, %ymm1, %ymm2 vperm2f128 $1, (%rax), %ymm1, %ymm2 @@ -1401,6 +1413,10 @@ vzeroupper # CHECK-NEXT: 1 8 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -1409,6 +1425,10 @@ vzeroupper # CHECK-NEXT: 1 8 0.50 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 100 0.25 vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 1 100 0.25 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpermilpd $1, %xmm0, %xmm2 @@ -2105,6 +2125,10 @@ vzeroupper # CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpestrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %xmm0, %xmm1, %xmm2 @@ -2113,6 +2137,10 @@ vzeroupper # CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd $1, %xmm0, %xmm2 |