]> granicus.if.org Git - llvm/commitdiff
[llvm-mca][X86] Add missing vperm2i128 tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 22 Jan 2019 14:54:24 +0000 (14:54 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 22 Jan 2019 14:54:24 +0000 (14:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351828 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
test/tools/llvm-mca/X86/Generic/resources-avx2.s
test/tools/llvm-mca/X86/Haswell/resources-avx2.s
test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
test/tools/llvm-mca/X86/Znver1/resources-avx2.s

index 7dc3b71474113faf3183020e8c59e695adbf4b55..6286511acd0ed31d9e5a5ec8f5a871fca465a680 100644 (file)
@@ -149,6 +149,9 @@ 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
 
@@ -555,6 +558,8 @@ vpxor           (%rax), %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
@@ -771,7 +776,7 @@ vpxor           (%rax), %ymm1, %ymm2
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     94.67  58.67  85.17  85.17  13.00  235.67 2.00   1.67
+# CHECK-NEXT:  -      -     94.67  58.67  85.67  85.67  13.00  237.67 2.00   1.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -873,6 +878,8 @@ vpxor           (%rax), %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
index f01f92909134bd37b9ce1c352e38fd4aaf1464c6..301292d3f2f94f83402a908c145a65ad51d41ada 100644 (file)
@@ -149,6 +149,9 @@ 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
 
@@ -555,6 +558,8 @@ vpxor           (%rax), %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
@@ -769,7 +774,7 @@ vpxor           (%rax), %ymm1, %ymm2
 
 # 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   166.67 78.00  78.00
+# 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:
@@ -871,6 +876,8 @@ vpxor           (%rax), %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
index 7f76dba9320ce38ceaf667239a923f50c0a165be..b7223d31c877b91befd46b5ac8299f46f5347d17 100644 (file)
@@ -149,6 +149,9 @@ 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
 
@@ -555,6 +558,8 @@ vpxor           (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  2      12    1.00    *                   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      3     1.00                        vperm2i128     $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vperm2i128     $1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      3     1.00                        vpermd %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   vpermd (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      3     1.00                        vpermpd        $1, %ymm0, %ymm2
@@ -771,7 +776,7 @@ vpxor           (%rax), %ymm1, %ymm2
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     202.67 89.67  97.17  97.17  5.00   280.67 28.00  1.67
+# CHECK-NEXT:  -      -     202.67 89.67  97.67  97.67  5.00   282.67 28.00  1.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -873,6 +878,8 @@ vpxor           (%rax), %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
index 6804bcc13e42a3f11b43f120b7b003bbcc67974a..26b5ef97dc0fea7d7470f6b821ac66de50ee3665 100644 (file)
@@ -149,6 +149,9 @@ 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
 
@@ -555,6 +558,8 @@ vpxor           (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   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      3     1.00                        vperm2i128     $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vperm2i128     $1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      3     1.00                        vpermd %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   vpermd (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      3     1.00                        vpermpd        $1, %ymm0, %ymm2
@@ -771,7 +776,7 @@ vpxor           (%rax), %ymm1, %ymm2
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     110.33 89.33  85.17  85.17  1.00   162.33  -     1.67
+# CHECK-NEXT:  -      -     110.33 89.33  85.67  85.67  1.00   164.33  -     1.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -873,6 +878,8 @@ vpxor           (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     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
index 7842bcac9db097828368453278f1b30b6e571736..823ed8e7e093ca0df8ccb9739c48b570e78056c2 100644 (file)
@@ -149,6 +149,9 @@ 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
 
@@ -555,6 +558,8 @@ vpxor           (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   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      3     1.00                        vperm2i128     $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vperm2i128     $1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      3     1.00                        vpermd %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      10    1.00    *                   vpermd (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      3     1.00                        vpermpd        $1, %ymm0, %ymm2
@@ -771,7 +776,7 @@ vpxor           (%rax), %ymm1, %ymm2
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -      -     110.33 89.33  85.17  85.17  1.00   162.33  -     1.67
+# CHECK-NEXT:  -      -     110.33 89.33  85.67  85.67  1.00   164.33  -     1.67
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -873,6 +878,8 @@ vpxor           (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     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
index 230244b2a52f867a9155b3bf338c6c032889563c..79eb2a44fcf6b122eb0747a6bd3c637024a1dec1 100644 (file)
@@ -149,6 +149,9 @@ 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
 
@@ -555,6 +558,8 @@ vpxor           (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  2      8     1.00    *                   vpcmpgtq       (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      1     0.25                        vpcmpgtw       %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  1      8     0.50    *                   vpcmpgtw       (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.25                        vperm2i128     $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  1      9     0.50    *                   vperm2i128     $1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      2     0.25                        vpermd %ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  1      9     0.50    *                   vpermd (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      100   0.25                        vpermpd        $1, %ymm0, %ymm2
@@ -773,7 +778,7 @@ vpxor           (%rax), %ymm1, %ymm2
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
-# CHECK-NEXT: 63.50  63.50   -      -      -      -      -     72.67  75.17  84.50  42.67   -
+# CHECK-NEXT: 64.00  64.00   -      -      -      -      -     73.17  75.67  85.00  43.17   -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
@@ -875,6 +880,8 @@ vpxor           (%rax), %ymm1, %ymm2
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -     1.00    -     vpcmpgtq     (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpgtw     %ymm0, %ymm1, %ymm2
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpcmpgtw     (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vperm2i128   $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.25   0.25   0.25   0.25    -     vperm2i128   $1, (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpermd       %ymm0, %ymm1, %ymm2
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpermd       (%rax), %ymm1, %ymm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     vpermpd      $1, %ymm0, %ymm2