From: Simon Pilgrim Date: Tue, 22 Jan 2019 14:53:52 +0000 (+0000) Subject: [llvm-mca][X86] Add missing tzcntw tests X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6db2a26cbd2406839ff81a5af9703e584efbed96;p=llvm [llvm-mca][X86] Add missing tzcntw tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351827 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s b/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s index c67d73cd43e..34f4e6ced7f 100644 --- a/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx # CHECK-NEXT: 2 2 0.50 blsrq %rax, %rcx # CHECK-NEXT: 2 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 2 2 1.00 tzcntw %ax, %cx +# CHECK-NEXT: 2 6 1.00 * tzcntw (%rax), %cx # CHECK-NEXT: 2 2 1.00 tzcntl %eax, %ecx # CHECK-NEXT: 2 6 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 2 2 1.00 tzcntq %rax, %rcx @@ -98,7 +103,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] -# CHECK-NEXT: 6.00 6.00 - - - 14.00 14.00 - - - - - - - - - - - - 6.00 6.00 - - +# CHECK-NEXT: 6.50 6.50 - - - 16.00 16.00 - - - - - - - - - - - - 6.50 6.50 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions: @@ -122,6 +127,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 0.50 0.50 - - - 0.50 0.50 - - - - - - - - - - - - 0.50 0.50 - - blsrl (%rax), %ecx # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - blsrq %rax, %rcx # CHECK-NEXT: 0.50 0.50 - - - 0.50 0.50 - - - - - - - - - - - - 0.50 0.50 - - blsrq (%rax), %rcx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - tzcntw %ax, %cx +# CHECK-NEXT: 0.50 0.50 - - - 1.00 1.00 - - - - - - - - - - - - 0.50 0.50 - - tzcntw (%rax), %cx # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - tzcntl %eax, %ecx # CHECK-NEXT: 0.50 0.50 - - - 1.00 1.00 - - - - - - - - - - - - 0.50 0.50 - - tzcntl (%rax), %ecx # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - tzcntq %rax, %rcx diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s b/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s index b2f16ff3b08..31e8095137f 100644 --- a/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx # CHECK-NEXT: 1 1 0.50 blsrq %rax, %rcx # CHECK-NEXT: 2 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 tzcntw %ax, %cx +# CHECK-NEXT: 2 8 1.00 * tzcntw (%rax), %cx # CHECK-NEXT: 1 3 1.00 tzcntl %eax, %ecx # CHECK-NEXT: 2 8 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 1 3 1.00 tzcntq %rax, %rcx @@ -85,7 +90,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - +# CHECK-NEXT: - - 2.00 16.00 6.50 6.50 - 10.00 2.00 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -109,6 +114,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrl (%rax), %ecx # CHECK-NEXT: - - - 0.50 - - - 0.50 - - blsrq %rax, %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrq (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - tzcntw %ax, %cx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntw (%rax), %cx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntl %eax, %ecx # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntl (%rax), %ecx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntq %rax, %rcx diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s b/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s index f2ea5ea89a1..3227ff8773a 100644 --- a/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 2 5 1.00 * blsrl (%rax), %ecx # CHECK-NEXT: 2 2 1.00 blsrq %rax, %rcx # CHECK-NEXT: 2 5 1.00 * blsrq (%rax), %rcx +# CHECK-NEXT: 2 2 1.00 tzcntw %ax, %cx +# CHECK-NEXT: 2 5 1.00 * tzcntw (%rax), %cx # CHECK-NEXT: 2 2 1.00 tzcntl %eax, %ecx # CHECK-NEXT: 2 5 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 2 2 1.00 tzcntq %rax, %rcx @@ -89,7 +94,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 20.00 20.00 - - - - - 12.00 - - - - - - +# CHECK-NEXT: 22.00 22.00 - - - - - 13.00 - - - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: @@ -113,6 +118,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - blsrl (%rax), %ecx # CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - blsrq %rax, %rcx # CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - blsrq (%rax), %rcx +# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - tzcntw %ax, %cx +# CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - tzcntw (%rax), %cx # CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - tzcntl %eax, %ecx # CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - tzcntl (%rax), %ecx # CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - tzcntq %rax, %rcx diff --git a/test/tools/llvm-mca/X86/Generic/resources-bmi1.s b/test/tools/llvm-mca/X86/Generic/resources-bmi1.s index 193f5537c7c..87b748414d3 100644 --- a/test/tools/llvm-mca/X86/Generic/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/Generic/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx # CHECK-NEXT: 1 1 0.33 blsrq %rax, %rcx # CHECK-NEXT: 2 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 tzcntw %ax, %cx +# CHECK-NEXT: 2 8 1.00 * tzcntw (%rax), %cx # CHECK-NEXT: 1 3 1.00 tzcntl %eax, %ecx # CHECK-NEXT: 2 8 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 1 3 1.00 tzcntq %rax, %rcx @@ -83,7 +88,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] -# CHECK-NEXT: - - 7.33 13.33 - 7.33 6.00 6.00 +# CHECK-NEXT: - - 7.33 15.33 - 7.33 6.50 6.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: @@ -107,6 +112,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 blsrl (%rax), %ecx # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - blsrq %rax, %rcx # CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 blsrq (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - tzcntw %ax, %cx +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 tzcntw (%rax), %cx # CHECK-NEXT: - - - 1.00 - - - - tzcntl %eax, %ecx # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 tzcntl (%rax), %ecx # CHECK-NEXT: - - - 1.00 - - - - tzcntq %rax, %rcx diff --git a/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s b/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s index 042d043bd23..9e3655bfb00 100644 --- a/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx # CHECK-NEXT: 1 1 0.50 blsrq %rax, %rcx # CHECK-NEXT: 2 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 tzcntw %ax, %cx +# CHECK-NEXT: 2 8 1.00 * tzcntw (%rax), %cx # CHECK-NEXT: 1 3 1.00 tzcntl %eax, %ecx # CHECK-NEXT: 2 8 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 1 3 1.00 tzcntq %rax, %rcx @@ -85,7 +90,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - +# CHECK-NEXT: - - 2.00 16.00 6.50 6.50 - 10.00 2.00 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -109,6 +114,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrl (%rax), %ecx # CHECK-NEXT: - - - 0.50 - - - 0.50 - - blsrq %rax, %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrq (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - tzcntw %ax, %cx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntw (%rax), %cx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntl %eax, %ecx # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntl (%rax), %ecx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntq %rax, %rcx diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s index 396e7a2a2a1..5be6f752f08 100644 --- a/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx # CHECK-NEXT: 1 1 0.50 blsrq %rax, %rcx # CHECK-NEXT: 2 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 tzcntw %ax, %cx +# CHECK-NEXT: 2 8 1.00 * tzcntw (%rax), %cx # CHECK-NEXT: 1 3 1.00 tzcntl %eax, %ecx # CHECK-NEXT: 2 8 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 1 3 1.00 tzcntq %rax, %rcx @@ -85,7 +90,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - +# CHECK-NEXT: - - 2.00 16.00 6.50 6.50 - 10.00 2.00 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -109,6 +114,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrl (%rax), %ecx # CHECK-NEXT: - - - 0.50 - - - 0.50 - - blsrq %rax, %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrq (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - tzcntw %ax, %cx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntw (%rax), %cx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntl %eax, %ecx # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntl (%rax), %ecx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntq %rax, %rcx diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s index af42e2bf499..0d1c4dbd879 100644 --- a/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx # CHECK-NEXT: 1 1 0.50 blsrq %rax, %rcx # CHECK-NEXT: 2 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 tzcntw %ax, %cx +# CHECK-NEXT: 2 8 1.00 * tzcntw (%rax), %cx # CHECK-NEXT: 1 3 1.00 tzcntl %eax, %ecx # CHECK-NEXT: 2 8 1.00 * tzcntl (%rax), %ecx # CHECK-NEXT: 1 3 1.00 tzcntq %rax, %rcx @@ -85,7 +90,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - +# CHECK-NEXT: - - 2.00 16.00 6.50 6.50 - 10.00 2.00 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -109,6 +114,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrl (%rax), %ecx # CHECK-NEXT: - - - 0.50 - - - 0.50 - - blsrq %rax, %rcx # CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - blsrq (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - tzcntw %ax, %cx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntw (%rax), %cx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntl %eax, %ecx # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - tzcntl (%rax), %ecx # CHECK-NEXT: - - - 1.00 - - - - - - tzcntq %rax, %rcx diff --git a/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s b/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s index 8b74a1d90f8..eebf53ea275 100644 --- a/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s +++ b/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s @@ -31,6 +31,9 @@ blsr (%rax), %ecx blsr %rax, %rcx blsr (%rax), %rcx +tzcnt %ax, %cx +tzcnt (%rax), %cx + tzcnt %eax, %ecx tzcnt (%rax), %ecx @@ -66,6 +69,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 1 6 0.50 * blsrl (%rax), %ecx # CHECK-NEXT: 1 2 0.25 blsrq %rax, %rcx # CHECK-NEXT: 1 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 2 0.25 tzcntw %ax, %cx +# CHECK-NEXT: 2 6 0.50 * tzcntw (%rax), %cx # CHECK-NEXT: 1 2 0.25 tzcntl %eax, %ecx # CHECK-NEXT: 2 6 0.50 * tzcntl (%rax), %ecx # CHECK-NEXT: 1 2 0.25 tzcntq %rax, %rcx @@ -87,7 +92,7 @@ tzcnt (%rax), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: 6.00 6.00 6.00 6.00 6.00 6.00 - - - - - - +# CHECK-NEXT: 6.50 6.50 6.50 6.50 6.50 6.50 - - - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -111,6 +116,8 @@ tzcnt (%rax), %rcx # CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsrl (%rax), %ecx # CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsrq %rax, %rcx # CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsrq (%rax), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - tzcntw %ax, %cx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - tzcntw (%rax), %cx # CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - tzcntl %eax, %ecx # CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - tzcntl (%rax), %ecx # CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - tzcntq %rax, %rcx