[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