Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit fddfd5d

Browse files
committed
[llvm-mca][X86] Add missing vperm2i128 tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351828 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 6db2a26 commit fddfd5d

File tree

6 files changed

+48
-6
lines changed

6 files changed

+48
-6
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ vpcmpgtq (%rax), %ymm1, %ymm2
149149
vpcmpgtw %ymm0, %ymm1, %ymm2
150150
vpcmpgtw (%rax), %ymm1, %ymm2
151151

152+
vperm2i128 $1, %ymm0, %ymm1, %ymm2
153+
vperm2i128 $1, (%rax), %ymm1, %ymm2
154+
152155
vpermd %ymm0, %ymm1, %ymm2
153156
vpermd (%rax), %ymm1, %ymm2
154157

@@ -555,6 +558,8 @@ vpxor (%rax), %ymm1, %ymm2
555558
# CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
556559
# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
557560
# CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
561+
# CHECK-NEXT: 1 3 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
562+
# CHECK-NEXT: 2 9 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
558563
# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
559564
# CHECK-NEXT: 2 9 1.00 * vpermd (%rax), %ymm1, %ymm2
560565
# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
@@ -771,7 +776,7 @@ vpxor (%rax), %ymm1, %ymm2
771776

772777
# CHECK: Resource pressure per iteration:
773778
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
774-
# CHECK-NEXT: - - 94.67 58.67 85.17 85.17 13.00 235.67 2.00 1.67
779+
# CHECK-NEXT: - - 94.67 58.67 85.67 85.67 13.00 237.67 2.00 1.67
775780

776781
# CHECK: Resource pressure by instruction:
777782
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -873,6 +878,8 @@ vpxor (%rax), %ymm1, %ymm2
873878
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2
874879
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2
875880
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2
881+
# CHECK-NEXT: - - - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
882+
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
876883
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
877884
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
878885
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2

test/tools/llvm-mca/X86/Generic/resources-avx2.s

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ vpcmpgtq (%rax), %ymm1, %ymm2
149149
vpcmpgtw %ymm0, %ymm1, %ymm2
150150
vpcmpgtw (%rax), %ymm1, %ymm2
151151

152+
vperm2i128 $1, %ymm0, %ymm1, %ymm2
153+
vperm2i128 $1, (%rax), %ymm1, %ymm2
154+
152155
vpermd %ymm0, %ymm1, %ymm2
153156
vpermd (%rax), %ymm1, %ymm2
154157

@@ -555,6 +558,8 @@ vpxor (%rax), %ymm1, %ymm2
555558
# CHECK-NEXT: 2 8 0.50 * vpcmpgtq (%rax), %ymm1, %ymm2
556559
# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
557560
# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
561+
# CHECK-NEXT: 1 1 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
562+
# CHECK-NEXT: 2 8 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
558563
# CHECK-NEXT: 1 1 1.00 vpermd %ymm0, %ymm1, %ymm2
559564
# CHECK-NEXT: 2 8 1.00 * vpermd (%rax), %ymm1, %ymm2
560565
# CHECK-NEXT: 1 1 1.00 vpermpd $1, %ymm0, %ymm2
@@ -769,7 +774,7 @@ vpxor (%rax), %ymm1, %ymm2
769774

770775
# CHECK: Resource pressure per iteration:
771776
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
772-
# CHECK-NEXT: - - 75.67 88.67 5.00 166.67 78.00 78.00
777+
# CHECK-NEXT: - - 75.67 88.67 5.00 168.67 78.50 78.50
773778

774779
# CHECK: Resource pressure by instruction:
775780
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -871,6 +876,8 @@ vpxor (%rax), %ymm1, %ymm2
871876
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpgtq (%rax), %ymm1, %ymm2
872877
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2
873878
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpgtw (%rax), %ymm1, %ymm2
879+
# CHECK-NEXT: - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
880+
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vperm2i128 $1, (%rax), %ymm1, %ymm2
874881
# CHECK-NEXT: - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
875882
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermd (%rax), %ymm1, %ymm2
876883
# CHECK-NEXT: - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2

test/tools/llvm-mca/X86/Haswell/resources-avx2.s

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ vpcmpgtq (%rax), %ymm1, %ymm2
149149
vpcmpgtw %ymm0, %ymm1, %ymm2
150150
vpcmpgtw (%rax), %ymm1, %ymm2
151151

152+
vperm2i128 $1, %ymm0, %ymm1, %ymm2
153+
vperm2i128 $1, (%rax), %ymm1, %ymm2
154+
152155
vpermd %ymm0, %ymm1, %ymm2
153156
vpermd (%rax), %ymm1, %ymm2
154157

@@ -555,6 +558,8 @@ vpxor (%rax), %ymm1, %ymm2
555558
# CHECK-NEXT: 2 12 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
556559
# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
557560
# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
561+
# CHECK-NEXT: 1 3 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
562+
# CHECK-NEXT: 2 10 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
558563
# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
559564
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2
560565
# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
@@ -771,7 +776,7 @@ vpxor (%rax), %ymm1, %ymm2
771776

772777
# CHECK: Resource pressure per iteration:
773778
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
774-
# CHECK-NEXT: - - 202.67 89.67 97.17 97.17 5.00 280.67 28.00 1.67
779+
# CHECK-NEXT: - - 202.67 89.67 97.67 97.67 5.00 282.67 28.00 1.67
775780

776781
# CHECK: Resource pressure by instruction:
777782
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -873,6 +878,8 @@ vpxor (%rax), %ymm1, %ymm2
873878
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2
874879
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2
875880
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2
881+
# CHECK-NEXT: - - - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
882+
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
876883
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
877884
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
878885
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2

test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ vpcmpgtq (%rax), %ymm1, %ymm2
149149
vpcmpgtw %ymm0, %ymm1, %ymm2
150150
vpcmpgtw (%rax), %ymm1, %ymm2
151151

152+
vperm2i128 $1, %ymm0, %ymm1, %ymm2
153+
vperm2i128 $1, (%rax), %ymm1, %ymm2
154+
152155
vpermd %ymm0, %ymm1, %ymm2
153156
vpermd (%rax), %ymm1, %ymm2
154157

@@ -555,6 +558,8 @@ vpxor (%rax), %ymm1, %ymm2
555558
# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
556559
# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
557560
# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
561+
# CHECK-NEXT: 1 3 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
562+
# CHECK-NEXT: 2 10 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
558563
# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
559564
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2
560565
# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
@@ -771,7 +776,7 @@ vpxor (%rax), %ymm1, %ymm2
771776

772777
# CHECK: Resource pressure per iteration:
773778
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
774-
# CHECK-NEXT: - - 110.33 89.33 85.17 85.17 1.00 162.33 - 1.67
779+
# CHECK-NEXT: - - 110.33 89.33 85.67 85.67 1.00 164.33 - 1.67
775780

776781
# CHECK: Resource pressure by instruction:
777782
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -873,6 +878,8 @@ vpxor (%rax), %ymm1, %ymm2
873878
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2
874879
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2
875880
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2
881+
# CHECK-NEXT: - - - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
882+
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
876883
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
877884
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
878885
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2

test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ vpcmpgtq (%rax), %ymm1, %ymm2
149149
vpcmpgtw %ymm0, %ymm1, %ymm2
150150
vpcmpgtw (%rax), %ymm1, %ymm2
151151

152+
vperm2i128 $1, %ymm0, %ymm1, %ymm2
153+
vperm2i128 $1, (%rax), %ymm1, %ymm2
154+
152155
vpermd %ymm0, %ymm1, %ymm2
153156
vpermd (%rax), %ymm1, %ymm2
154157

@@ -555,6 +558,8 @@ vpxor (%rax), %ymm1, %ymm2
555558
# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
556559
# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
557560
# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
561+
# CHECK-NEXT: 1 3 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
562+
# CHECK-NEXT: 2 10 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
558563
# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2
559564
# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2
560565
# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2
@@ -771,7 +776,7 @@ vpxor (%rax), %ymm1, %ymm2
771776

772777
# CHECK: Resource pressure per iteration:
773778
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
774-
# CHECK-NEXT: - - 110.33 89.33 85.17 85.17 1.00 162.33 - 1.67
779+
# CHECK-NEXT: - - 110.33 89.33 85.67 85.67 1.00 164.33 - 1.67
775780

776781
# CHECK: Resource pressure by instruction:
777782
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -873,6 +878,8 @@ vpxor (%rax), %ymm1, %ymm2
873878
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2
874879
# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2
875880
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2
881+
# CHECK-NEXT: - - - - - - - 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
882+
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
876883
# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2
877884
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2
878885
# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2

test/tools/llvm-mca/X86/Znver1/resources-avx2.s

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ vpcmpgtq (%rax), %ymm1, %ymm2
149149
vpcmpgtw %ymm0, %ymm1, %ymm2
150150
vpcmpgtw (%rax), %ymm1, %ymm2
151151

152+
vperm2i128 $1, %ymm0, %ymm1, %ymm2
153+
vperm2i128 $1, (%rax), %ymm1, %ymm2
154+
152155
vpermd %ymm0, %ymm1, %ymm2
153156
vpermd (%rax), %ymm1, %ymm2
154157

@@ -555,6 +558,8 @@ vpxor (%rax), %ymm1, %ymm2
555558
# CHECK-NEXT: 2 8 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
556559
# CHECK-NEXT: 1 1 0.25 vpcmpgtw %ymm0, %ymm1, %ymm2
557560
# CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
561+
# CHECK-NEXT: 1 2 0.25 vperm2i128 $1, %ymm0, %ymm1, %ymm2
562+
# CHECK-NEXT: 1 9 0.50 * vperm2i128 $1, (%rax), %ymm1, %ymm2
558563
# CHECK-NEXT: 1 2 0.25 vpermd %ymm0, %ymm1, %ymm2
559564
# CHECK-NEXT: 1 9 0.50 * vpermd (%rax), %ymm1, %ymm2
560565
# CHECK-NEXT: 1 100 0.25 vpermpd $1, %ymm0, %ymm2
@@ -773,7 +778,7 @@ vpxor (%rax), %ymm1, %ymm2
773778

774779
# CHECK: Resource pressure per iteration:
775780
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
776-
# CHECK-NEXT: 63.50 63.50 - - - - - 72.67 75.17 84.50 42.67 -
781+
# CHECK-NEXT: 64.00 64.00 - - - - - 73.17 75.67 85.00 43.17 -
777782

778783
# CHECK: Resource pressure by instruction:
779784
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -875,6 +880,8 @@ vpxor (%rax), %ymm1, %ymm2
875880
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vpcmpgtq (%rax), %ymm1, %ymm2
876881
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %ymm0, %ymm1, %ymm2
877882
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %ymm1, %ymm2
883+
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vperm2i128 $1, %ymm0, %ymm1, %ymm2
884+
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vperm2i128 $1, (%rax), %ymm1, %ymm2
878885
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermd %ymm0, %ymm1, %ymm2
879886
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermd (%rax), %ymm1, %ymm2
880887
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, %ymm0, %ymm2

0 commit comments

Comments
 (0)