[llvm] r346425 - [NFC][BdVer2] Load and store throughput tests: also check sched stats (PR39465)

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 8 10:15:59 PST 2018


Author: lebedevri
Date: Thu Nov  8 10:15:58 2018
New Revision: 346425

URL: http://llvm.org/viewvc/llvm-project?rev=346425&view=rev
Log:
[NFC][BdVer2] Load and store throughput tests: also check sched stats (PR39465)

As noted by Andrea Di Biagio in https://bugs.llvm.org/show_bug.cgi?id=39465
both the loads and stores occupy both the store and load queues.
This is clearly wrong.

Modified:
    llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
    llvm/trunk/test/tools/llvm-mca/X86/BdVer2/store-throughput.s

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-throughput.s?rev=346425&r1=346424&r2=346425&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-throughput.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-throughput.s Thu Nov  8 10:15:58 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -scheduler-stats -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s
 
 # LLVM-MCA-BEGIN
 movb (%rax), %spl
@@ -76,6 +76,23 @@ vmovaps (%rbx), %ymm3
 # CHECK-NEXT:  1      5     0.50    *                   movb	(%rdx), %sil
 # CHECK-NEXT:  1      5     0.50    *                   movb	(%rbx), %dil
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          7  (3.4%)
+# CHECK-NEXT:  2,          200  (96.6%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -155,6 +172,23 @@ vmovaps (%rbx), %ymm3
 # CHECK-NEXT:  1      5     0.50    *                   movw	(%rdx), %si
 # CHECK-NEXT:  1      5     0.50    *                   movw	(%rbx), %di
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          7  (3.4%)
+# CHECK-NEXT:  2,          200  (96.6%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -234,6 +268,23 @@ vmovaps (%rbx), %ymm3
 # CHECK-NEXT:  1      5     0.50    *                   movl	(%rdx), %esi
 # CHECK-NEXT:  1      5     0.50    *                   movl	(%rbx), %edi
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          7  (3.4%)
+# CHECK-NEXT:  2,          200  (96.6%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -313,6 +364,23 @@ vmovaps (%rbx), %ymm3
 # CHECK-NEXT:  1      5     0.50    *                   movq	(%rdx), %rsi
 # CHECK-NEXT:  1      5     0.50    *                   movq	(%rbx), %rdi
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          7  (3.4%)
+# CHECK-NEXT:  2,          200  (96.6%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -392,6 +460,23 @@ vmovaps (%rbx), %ymm3
 # CHECK-NEXT:  1      5     0.50    *                   movd	(%rdx), %mm2
 # CHECK-NEXT:  1      5     0.50    *                   movd	(%rbx), %mm3
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          7  (3.4%)
+# CHECK-NEXT:  2,          200  (96.6%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            22         24         64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -471,6 +556,23 @@ vmovaps (%rbx), %ymm3
 # CHECK-NEXT:  1      5     0.50    *                   movaps	(%rdx), %xmm2
 # CHECK-NEXT:  1      5     0.50    *                   movaps	(%rbx), %xmm3
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          7  (3.4%)
+# CHECK-NEXT:  2,          200  (96.6%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            22         24         64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -550,6 +652,23 @@ vmovaps (%rbx), %ymm3
 # CHECK-NEXT:  2      5     0.50    *                   vmovaps	(%rdx), %ymm2
 # CHECK-NEXT:  2      5     0.50    *                   vmovaps	(%rbx), %ymm3
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          7  (3.4%)
+# CHECK-NEXT:  2,          200  (96.6%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             1          2          40
+# CHECK-NEXT: PdFPU            1          2          64
+# CHECK-NEXT: PdLoad           1          2          40
+# CHECK-NEXT: PdStore          1          2          24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/store-throughput.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/store-throughput.s?rev=346425&r1=346424&r2=346425&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/store-throughput.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/store-throughput.s Thu Nov  8 10:15:58 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -scheduler-stats -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s
 
 # LLVM-MCA-BEGIN
 movb %spl, (%rax)
@@ -76,6 +76,23 @@ vmovaps %ymm3, (%rbx)
 # CHECK-NEXT:  1      1     0.50           *            movb	%sil, (%rdx)
 # CHECK-NEXT:  1      1     0.50           *            movb	%dil, (%rbx)
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          3  (0.7%)
+# CHECK-NEXT:  1,          400  (99.3%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -155,6 +172,23 @@ vmovaps %ymm3, (%rbx)
 # CHECK-NEXT:  1      1     0.50           *            movw	%si, (%rdx)
 # CHECK-NEXT:  1      1     0.50           *            movw	%di, (%rbx)
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          3  (0.7%)
+# CHECK-NEXT:  1,          400  (99.3%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -234,6 +268,23 @@ vmovaps %ymm3, (%rbx)
 # CHECK-NEXT:  1      1     0.50           *            movl	%esi, (%rdx)
 # CHECK-NEXT:  1      1     0.50           *            movl	%edi, (%rbx)
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          3  (0.7%)
+# CHECK-NEXT:  1,          400  (99.3%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -313,6 +364,23 @@ vmovaps %ymm3, (%rbx)
 # CHECK-NEXT:  1      1     0.50           *            movq	%rsi, (%rdx)
 # CHECK-NEXT:  1      1     0.50           *            movq	%rdi, (%rbx)
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          3  (0.7%)
+# CHECK-NEXT:  1,          400  (99.3%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            0          0          64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -392,6 +460,23 @@ vmovaps %ymm3, (%rbx)
 # CHECK-NEXT:  1      2     1.00           *      U     movd	%mm2, (%rdx)
 # CHECK-NEXT:  1      2     1.00           *      U     movd	%mm3, (%rbx)
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          403  (50.2%)
+# CHECK-NEXT:  1,          400  (49.8%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             23         24         40
+# CHECK-NEXT: PdFPU            23         24         64
+# CHECK-NEXT: PdLoad           23         24         40
+# CHECK-NEXT: PdStore          23         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -472,6 +557,23 @@ vmovaps %ymm3, (%rbx)
 # CHECK-NEXT:  1      1     1.00           *            movaps	%xmm2, (%rdx)
 # CHECK-NEXT:  1      1     1.00           *            movaps	%xmm3, (%rbx)
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          3  (0.7%)
+# CHECK-NEXT:  1,          400  (99.3%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             22         24         40
+# CHECK-NEXT: PdFPU            22         24         64
+# CHECK-NEXT: PdLoad           22         24         40
+# CHECK-NEXT: PdStore          22         24         24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01
@@ -551,6 +653,23 @@ vmovaps %ymm3, (%rbx)
 # CHECK-NEXT:  4      1     1.00           *            vmovaps	%ymm2, (%rdx)
 # CHECK-NEXT:  4      1     1.00           *            vmovaps	%ymm3, (%rbx)
 
+# CHECK:      Schedulers - number of cycles where we saw N instructions issued:
+# CHECK-NEXT: [# issued], [# cycles]
+# CHECK-NEXT:  0,          3  (0.7%)
+# CHECK-NEXT:  1,          400  (99.3%)
+
+# CHECK:      Scheduler's queue usage:
+# CHECK-NEXT: [1] Resource name.
+# CHECK-NEXT: [2] Average number of used buffer entries.
+# CHECK-NEXT: [3] Maximum number of used buffer entries.
+# CHECK-NEXT: [4] Total number of buffer entries.
+
+# CHECK:       [1]            [2]        [3]        [4]
+# CHECK-NEXT: PdEX             1          1          40
+# CHECK-NEXT: PdFPU            1          1          64
+# CHECK-NEXT: PdLoad           1          1          40
+# CHECK-NEXT: PdStore          1          1          24
+
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01
 # CHECK-NEXT: [0.1] - PdAGLU01




More information about the llvm-commits mailing list