[llvm] r346650 - [llvm-mca] Correctly update the resource strategy for processor resources with multiple units.
Andrea Di Biagio via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 12 05:09:39 PST 2018
Author: adibiagio
Date: Mon Nov 12 05:09:39 2018
New Revision: 346650
URL: http://llvm.org/viewvc/llvm-project?rev=346650&view=rev
Log:
[llvm-mca] Correctly update the resource strategy for processor resources with multiple units.
When looking at the tests committed by Roman at r346587, I noticed that numbers
reported by the resource pressure for PdAGU01 were wrong.
In particular, according to the aut-generated CHECK lines in tests
memcpy-like-test.s and store-throughput.s, resource pressure for PdAGU01
was not uniformly distributed among the two AGEN pipes.
It turns out that the reason why pressure was not correctly distributed, was
because the "resource selection strategy" object associated with PdAGU01 was not
correctly updated on the event of AGEN pipe used.
As a result, llvm-mca was not simulating a round-robin pipeline allocation for
PdAGU01. Instead, PdAGU1 was always prioritized over PdAGU0.
This patch fixes the issue; now processor resource strategy objects for
resources declaring multiple units, are correctly notified in the event of
"resource used".
Modified:
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/store-throughput.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s
llvm/trunk/tools/llvm-mca/lib/HardwareUnits/ResourceManager.cpp
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s Mon Nov 12 05:09:39 2018
@@ -67,8 +67,8 @@ vpcmpeqq %xmm3, %xmm3, %xmm0
# 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:
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 - - - - - - - - vpcmpeqb %xmm0, %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - vpcmpeqw %xmm1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpcmpeqb %xmm0, %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpcmpeqw %xmm1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpcmpeqd %xmm2, %xmm2, %xmm3
# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpcmpeqq %xmm3, %xmm3, %xmm0
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s Mon Nov 12 05:09:39 2018
@@ -64,14 +64,14 @@ vpcmpgtq %xmm3, %xmm3, %xmm0
# 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: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - - -
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.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:
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %xmm0, %xmm0, %xmm1
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %xmm1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %xmm2, %xmm2, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm0
# CHECK: Timeline view:
# CHECK-NEXT: Index 0123456
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s Mon Nov 12 05:09:39 2018
@@ -55,13 +55,13 @@ vpaddd %xmm0, %xmm0, %xmm3
# 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: - - - - - - - - - - - 2.00 1.00 - 1.50 1.50 - - - - - - -
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 1.00 - 1.50 1.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:
# CHECK-NEXT: - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - - vpmuldq %xmm0, %xmm0, %xmm1
# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - - - vpaddd %xmm1, %xmm1, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpaddd %xmm0, %xmm0, %xmm3
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - vpaddd %xmm0, %xmm0, %xmm3
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 0123456789 0123456789
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s Mon Nov 12 05:09:39 2018
@@ -55,13 +55,13 @@ vhaddps %xmm3, %xmm3, %xmm4
# 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: - - - - - - - - 1.49 1.51 - - - - 2.00 1.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 2.00 1.00 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3
-# CHECK-NEXT: - - - - - - - - 0.49 0.51 - - - - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4
+# CHECK-NEXT: - - - - - - - - 0.49 0.51 - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.51 0.49 - - - - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 012
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s Mon Nov 12 05:09:39 2018
@@ -65,18 +65,18 @@ vmovaps %xmm0, 48(%rdi)
# 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: - 8.00 - - - - - - - 4.00 - - - 4.00 3.99 4.01 - - - - 4.00 - 4.00
+# CHECK-NEXT: 4.00 4.00 - - - - - - 2.00 2.00 - - - 4.00 3.99 4.01 - - - 2.00 2.00 - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - 0.99 0.01 - - - - 1.00 - - vmovaps (%rsi), %xmm0
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, (%rdi)
-# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - 1.00 - - - - - 1.00 - - vmovaps 16(%rsi), %xmm0
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 16(%rdi)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, (%rdi)
+# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - vmovaps 16(%rsi), %xmm0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 16(%rdi)
# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - 1.00 - - - - - 1.00 - - vmovaps 32(%rsi), %xmm0
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 32(%rdi)
-# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - 1.00 - - - - - 1.00 - - vmovaps 48(%rsi), %xmm0
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 48(%rdi)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 32(%rdi)
+# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - vmovaps 48(%rsi), %xmm0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 48(%rdi)
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789
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=346650&r1=346649&r2=346650&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 Mon Nov 12 05:09:39 2018
@@ -126,8 +126,8 @@ vmovaps (%rbx), %ymm3
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movb (%rax), %spl
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movb (%rcx), %bpl
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movb (%rdx), %sil
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movb (%rbx), %dil
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movb (%rdx), %sil
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movb (%rbx), %dil
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
@@ -225,8 +225,8 @@ vmovaps (%rbx), %ymm3
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movw (%rax), %sp
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movw (%rcx), %bp
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movw (%rdx), %si
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movw (%rbx), %di
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movw (%rdx), %si
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movw (%rbx), %di
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
@@ -324,8 +324,8 @@ vmovaps (%rbx), %ymm3
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movl (%rax), %esp
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movl (%rcx), %ebp
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movl (%rdx), %esi
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movl (%rbx), %edi
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movl (%rdx), %esi
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movl (%rbx), %edi
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
@@ -423,8 +423,8 @@ vmovaps (%rbx), %ymm3
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movq (%rax), %rsp
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movq (%rcx), %rbp
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movq (%rdx), %rsi
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movq (%rbx), %rdi
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - movq (%rdx), %rsi
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - 1.00 - - - movq (%rbx), %rdi
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
@@ -522,8 +522,8 @@ vmovaps (%rbx), %ymm3
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - 1.00 - - - 1.00 - - - - 1.00 - - movd (%rax), %mm0
# CHECK-NEXT: 1.00 - - - - - - - - - 1.00 - - - 1.00 - - - - 1.00 - - - movd (%rcx), %mm1
-# CHECK-NEXT: 1.00 - - - - - - - - - 1.00 - - - - 1.00 - - - 1.00 - - - movd (%rdx), %mm2
-# CHECK-NEXT: - 1.00 - - - - - - - - - 1.00 - - 1.00 - - - - - 1.00 - - movd (%rbx), %mm3
+# CHECK-NEXT: - 1.00 - - - - - - - - - 1.00 - - - 1.00 - - - - 1.00 - - movd (%rdx), %mm2
+# CHECK-NEXT: 1.00 - - - - - - - - - 1.00 - - - 1.00 - - - - 1.00 - - - movd (%rbx), %mm3
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
@@ -621,8 +621,8 @@ vmovaps (%rbx), %ymm3
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - movaps (%rax), %xmm0
# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - movaps (%rcx), %xmm1
-# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - - 1.00 - - - 1.00 - - - movaps (%rdx), %xmm2
-# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - 1.00 - - - - - 1.00 - - movaps (%rbx), %xmm3
+# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - movaps (%rdx), %xmm2
+# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - movaps (%rbx), %xmm3
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
@@ -720,8 +720,8 @@ vmovaps (%rbx), %ymm3
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - vmovaps (%rax), %ymm0
# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - vmovaps (%rcx), %ymm1
-# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - - 1.00 - - - 1.00 - - - vmovaps (%rdx), %ymm2
-# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - 1.00 - - - - - 1.00 - - vmovaps (%rbx), %ymm3
+# CHECK-NEXT: - 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - vmovaps (%rdx), %ymm2
+# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - vmovaps (%rbx), %ymm3
# CHECK: Timeline view:
# CHECK-NEXT: Index 012345678
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s Mon Nov 12 05:09:39 2018
@@ -65,17 +65,17 @@ vmovaps %xmm0, 48(%rdi)
# 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: 4.05 3.95 - - - - - - 3.95 0.05 - - - 4.00 3.95 4.05 - - - 3.95 0.05 - 4.00
+# CHECK-NEXT: 4.00 4.00 - - - - - - 2.00 2.00 - - - 4.00 3.95 4.05 - - - 2.00 2.00 - 4.00
# 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:
-# CHECK-NEXT: - 1.00 - - - - - - 0.97 0.03 - - - - 0.97 0.03 - - - 0.97 0.03 - - vmovaps (%rsi), %xmm0
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, (%rdi)
+# CHECK-NEXT: 0.97 0.03 - - - - - - - 1.00 - - - - 0.97 0.03 - - - - 1.00 - - vmovaps (%rsi), %xmm0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, (%rdi)
# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - vmovaps 16(%rsi), %xmm0
# CHECK-NEXT: 0.02 0.98 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 16(%rdi)
-# CHECK-NEXT: 0.02 0.98 - - - - - - 1.00 - - - - - 0.98 0.02 - - - 1.00 - - - vmovaps 32(%rsi), %xmm0
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 32(%rdi)
-# CHECK-NEXT: 0.98 0.02 - - - - - - 0.98 0.02 - - - - 1.00 - - - - 0.98 0.02 - - vmovaps 48(%rsi), %xmm0
+# CHECK-NEXT: 0.98 0.02 - - - - - - - 1.00 - - - - 0.98 0.02 - - - - 1.00 - - vmovaps 32(%rsi), %xmm0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 32(%rdi)
+# CHECK-NEXT: 1.00 - - - - - - - 1.00 - - - - - 1.00 - - - - 1.00 - - - vmovaps 48(%rsi), %xmm0
# CHECK-NEXT: 0.03 0.97 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %xmm0, 48(%rdi)
# CHECK: Timeline view:
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s Mon Nov 12 05:09:39 2018
@@ -112,10 +112,10 @@ vpcmpeqw %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - pcmpeqw %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - pcmpeqb %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - pcmpeqd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - 1.00 - - - - - - - pcmpeqq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - pcmpeqq %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - pcmpeqw %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - vpcmpeqb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 1.00 - - - - - - - - vpcmpeqd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpcmpeqd %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - vpcmpeqq %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - vpcmpeqw %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - vpcmpeqb %xmm3, %xmm3, %xmm5
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s Mon Nov 12 05:09:39 2018
@@ -61,13 +61,13 @@ lzcnt 2(%rsp), %cx
# 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: - 2.00 - - - 1.50 1.50 - - - - - - - - - - - - - 2.00 1.00 -
+# CHECK-NEXT: 1.00 1.00 - - - 1.50 1.50 - - - - - - - - - - - - 1.00 1.00 1.00 -
# 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:
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - - - - - - - - 1.00 - imull %edx, %ecx
# CHECK-NEXT: - 1.00 - - - 1.00 - - - - - - - - - - - - - - 1.00 - - lzcntw (%rsp), %cx
-# CHECK-NEXT: - 1.00 - - - 0.50 0.50 - - - - - - - - - - - - - 1.00 - - lzcntw 2(%rsp), %cx
+# CHECK-NEXT: 1.00 - - - - 0.50 0.50 - - - - - - - - - - - - 1.00 - - - lzcntw 2(%rsp), %cx
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s Mon Nov 12 05:09:39 2018
@@ -72,18 +72,18 @@ vsqrtps %ymm0, %ymm2
# 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: - - - - - - - - 32.71 32.29 - 2.00 3.00 1.00 6.00 6.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 32.29 32.71 1.00 1.00 3.00 1.00 6.00 6.00 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - - - - 1.00 2.00 - 2.00 1.00 - - - - - - - vpmulld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpand %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.02 0.98 2.00 - 2.00 1.00 - - - - - - - vpmulld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.98 0.02 - - - 1.00 - - - - - - - vpand %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - vcvttps2dq %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - - vpclmulqdq $0, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 10.71 10.29 - - - - - 1.00 - - - - - - - vsqrtps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 21.00 21.00 - - - - - 2.00 - - - - - - - vsqrtps %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - - - 20.58 21.42 - - - - - 2.00 - - - - - - - vsqrtps %ymm0, %ymm2
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 0123456789 012345678
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s Mon Nov 12 05:09:39 2018
@@ -72,13 +72,13 @@ vaddps %xmm1, %xmm1, %xmm2
# 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: - - - - - - - - 0.67 1.33 - - - - 1.00 1.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - - -
# 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:
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %xmm0, %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - 0.33 0.67 - - - - - 1.00 - - - - - - - vmovaps %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 0.33 0.67 - - - - 1.00 - - - - - - - - vaddps %xmm1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - 1.00 - - - - - - - vmovaps %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - 1.00 - - - - - - - - vaddps %xmm1, %xmm1, %xmm2
# CHECK: Timeline view:
# CHECK-NEXT: 0
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s Mon Nov 12 05:09:39 2018
@@ -82,18 +82,18 @@ movdqu %xmm5, %xmm0
# 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: - - - - - - - - 2.67 1.33 - 3.00 - - 3.33 3.67 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 1.33 1.67 - - 3.33 3.67 - - - - - - -
# 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:
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - pxor %mm0, %mm0
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - movq %mm0, %mm1
+# CHECK-NEXT: - - - - - - - - - - 0.67 0.33 - - - 1.00 - - - - - - - movq %mm0, %mm1
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - xorps %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - 0.67 0.33 - - - - 0.33 0.67 - - - - - - - movaps %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 0.67 0.33 - - - - 0.33 0.67 - - - - - - - movups %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.67 0.33 - - - - 1.00 - - - - - - - - movapd %xmm2, %xmm3
-# CHECK-NEXT: - - - - - - - - 0.67 0.33 - - - - 0.33 0.67 - - - - - - - movupd %xmm3, %xmm4
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 - - - - - - - - movdqa %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 0.33 0.67 - - - - - - - movaps %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - 0.33 0.67 - - - - - - - movups %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - - movapd %xmm2, %xmm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - 0.33 0.67 - - - - - - - movupd %xmm3, %xmm4
+# CHECK-NEXT: - - - - - - - - - - 0.67 0.33 - - 1.00 - - - - - - - - movdqa %xmm4, %xmm5
# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.33 0.67 - - - - - - - movdqu %xmm5, %xmm0
# CHECK: Timeline view:
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s Mon Nov 12 05:09:39 2018
@@ -77,17 +77,17 @@ vmovdqu %xmm5, %xmm0
# 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: - - - - - - - - 2.00 2.00 1.33 0.67 - - 3.00 3.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 1.00 1.00 - - 3.00 3.00 - - - - - - -
# 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:
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vxorps %xmm0, %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - 0.67 0.33 - - - - 0.67 0.33 - - - - - - - vmovaps %xmm0, %xmm1
-# CHECK-NEXT: - - - - - - - - 0.33 0.67 - - - - 0.67 0.33 - - - - - - - vmovups %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.33 0.67 - - - - 0.33 0.67 - - - - - - - vmovapd %xmm2, %xmm3
+# CHECK-NEXT: - - - - - - - - 0.33 0.67 - - - - 0.67 0.33 - - - - - - - vmovaps %xmm0, %xmm1
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - 0.67 0.33 - - - - - - - vmovups %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 0.33 0.67 - - - - - - - vmovapd %xmm2, %xmm3
# CHECK-NEXT: - - - - - - - - 0.67 0.33 - - - - 0.33 0.67 - - - - - - - vmovupd %xmm3, %xmm4
-# CHECK-NEXT: - - - - - - - - - - 0.67 0.33 - - 0.33 0.67 - - - - - - - vmovdqa %xmm4, %xmm5
-# CHECK-NEXT: - - - - - - - - - - 0.67 0.33 - - 0.67 0.33 - - - - - - - vmovdqu %xmm5, %xmm0
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.33 0.67 - - - - - - - vmovdqa %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 0.67 0.33 - - - - - - - vmovdqu %xmm5, %xmm0
# CHECK: Timeline view:
# CHECK-NEXT: 0123456
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s Mon Nov 12 05:09:39 2018
@@ -69,12 +69,12 @@ vmulps %xmm0, %xmm0, %xmm0
# 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: - - - - - - - - - 2.00 - - - - 1.00 1.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - - -
# 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:
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - - vaddps %xmm0, %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm0, %xmm0
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 0123456789 012
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s Mon Nov 12 05:09:39 2018
@@ -69,12 +69,12 @@ vmulps %xmm0, %xmm0, %xmm0
# 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: - - - - - - - - - 2.00 - - - - 1.00 1.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - - -
# 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:
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - - vaddps %xmm0, %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm0, %xmm0
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 0123456789 012
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=346650&r1=346649&r2=346650&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 Mon Nov 12 05:09:39 2018
@@ -120,14 +120,14 @@ vmovaps %ymm3, (%rbx)
# 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: - 4.00 - - - - - - - - - - - - - - - - - - - - 4.00
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movb %spl, (%rax)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movb %bpl, (%rcx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movb %bpl, (%rcx)
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movb %sil, (%rdx)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movb %dil, (%rbx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movb %dil, (%rbx)
# CHECK: Timeline view:
# CHECK-NEXT: Index 0123456
@@ -219,14 +219,14 @@ vmovaps %ymm3, (%rbx)
# 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: - 4.00 - - - - - - - - - - - - - - - - - - - - 4.00
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movw %sp, (%rax)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movw %bp, (%rcx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movw %bp, (%rcx)
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movw %si, (%rdx)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movw %di, (%rbx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movw %di, (%rbx)
# CHECK: Timeline view:
# CHECK-NEXT: Index 0123456
@@ -318,14 +318,14 @@ vmovaps %ymm3, (%rbx)
# 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: - 4.00 - - - - - - - - - - - - - - - - - - - - 4.00
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movl %esp, (%rax)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movl %ebp, (%rcx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movl %ebp, (%rcx)
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movl %esi, (%rdx)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movl %edi, (%rbx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movl %edi, (%rbx)
# CHECK: Timeline view:
# CHECK-NEXT: Index 0123456
@@ -417,14 +417,14 @@ vmovaps %ymm3, (%rbx)
# 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: - 4.00 - - - - - - - - - - - - - - - - - - - - 4.00
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movq %rsp, (%rax)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movq %rbp, (%rcx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movq %rbp, (%rcx)
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movq %rsi, (%rdx)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movq %rdi, (%rbx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movq %rdi, (%rbx)
# CHECK: Timeline view:
# CHECK-NEXT: Index 0123456
@@ -516,14 +516,14 @@ vmovaps %ymm3, (%rbx)
# 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: - 4.00 - - - - - - - - - - - 4.00 - 4.00 - - - - - - 4.00
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - 4.00 - 4.00 - - - - - - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movd %mm0, (%rax)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movd %mm1, (%rcx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movd %mm1, (%rcx)
# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movd %mm2, (%rdx)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movd %mm3, (%rbx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movd %mm3, (%rbx)
# CHECK: Timeline view:
# CHECK-NEXT: 0
@@ -616,14 +616,14 @@ vmovaps %ymm3, (%rbx)
# 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: - 4.00 - - - - - - - - - - - 4.00 - 4.00 - - - - - - 4.00
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - 4.00 - 4.00 - - - - - - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movaps %xmm0, (%rax)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movaps %xmm1, (%rcx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movaps %xmm1, (%rcx)
# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movaps %xmm2, (%rdx)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movaps %xmm3, (%rbx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 movaps %xmm3, (%rbx)
# CHECK: Timeline view:
# CHECK-NEXT: Index 0123456
@@ -715,14 +715,14 @@ vmovaps %ymm3, (%rbx)
# 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: - 4.00 - - - - - - - - - - - 4.00 - 4.00 - - - - - - 4.00
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - 4.00 - 4.00 - - - - - - 4.00
# 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:
# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %ymm0, (%rax)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %ymm1, (%rcx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %ymm1, (%rcx)
# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %ymm2, (%rdx)
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %ymm3, (%rbx)
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - 1.00 - - - - - - 1.00 vmovaps %ymm3, (%rbx)
# CHECK: Timeline view:
# CHECK-NEXT: Index 0123456
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s Mon Nov 12 05:09:39 2018
@@ -53,12 +53,12 @@ vbroadcastss (%rax), %ymm0
# 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: - 1.00 - - - 0.50 0.50 - 2.00 2.00 - - - - 1.00 1.00 - - - - 1.00 - -
+# CHECK-NEXT: 0.50 0.50 - - - 0.50 0.50 - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.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:
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 8(%rsp,%rdi,2), %rax
-# CHECK-NEXT: - 1.00 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - 1.00 - - vbroadcastss (%rax), %ymm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.50 - - vbroadcastss (%rax), %ymm0
# CHECK: Timeline view:
# CHECK-NEXT: 012
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s Mon Nov 12 05:09:39 2018
@@ -61,16 +61,16 @@
# 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: - - - - - - - - 0.04 4.96 - - - 1.00 4.00 7.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - 1.00 4.00 7.00 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - 2.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.66 0.34 - - - - - 2.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - vfrczpd %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.01 0.99 - - - - - 2.00 - - - - - - - vmulps %ymm2, %ymm3, %ymm4
-# CHECK-NEXT: - - - - - - - - 0.01 0.99 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm6
-# CHECK-NEXT: - - - - - - - - 0.02 0.98 - - - - - 2.00 - - - - - - - vmulps %ymm6, %ymm3, %ymm4
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.34 0.66 - - - - - 2.00 - - - - - - - vmulps %ymm2, %ymm3, %ymm4
+# CHECK-NEXT: - - - - - - - - 0.66 0.34 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 2.00 - - - - - - - vmulps %ymm6, %ymm3, %ymm4
+# CHECK-NEXT: - - - - - - - - 0.34 0.66 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm0
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 0123456789
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s Mon Nov 12 05:09:39 2018
@@ -61,16 +61,16 @@
# 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: - - - - - - - - 4.54 4.46 - - - - 4.99 6.01 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 4.42 4.58 - - - - 4.99 6.01 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - 0.52 0.48 - - - - - 2.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 0.99 0.01 - - - - - - - vpermil2pd $16, %xmm3, %xmm5, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 2.00 - - - - - - - vmulps %ymm2, %ymm3, %ymm4
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm6
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 2.00 - - - - - - - vmulps %ymm6, %ymm3, %ymm4
-# CHECK-NEXT: - - - - - - - - 0.52 0.48 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm0
+# CHECK-NEXT: - - - - - - - - 0.77 0.23 - - - - - 2.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.64 2.36 - - - - 0.99 0.01 - - - - - - - vpermil2pd $16, %xmm3, %xmm5, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.99 0.01 - - - - - 2.00 - - - - - - - vmulps %ymm2, %ymm3, %ymm4
+# CHECK-NEXT: - - - - - - - - 0.01 0.99 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm6
+# CHECK-NEXT: - - - - - - - - 0.80 0.20 - - - - - 2.00 - - - - - - - vmulps %ymm6, %ymm3, %ymm4
+# CHECK-NEXT: - - - - - - - - 0.21 0.79 - - - - 2.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm0
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 012
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s Mon Nov 12 05:09:39 2018
@@ -88,13 +88,13 @@ vaddps %ymm1, %ymm1, %ymm0
# 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: - - - - - - - - 2.52 2.48 - - - - 3.00 3.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 2.01 2.99 - - - - 3.00 3.00 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm0, %ymm1
+# CHECK-NEXT: - - - - - - - - 0.99 0.01 - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm0, %ymm1
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.98 1.02 - - - - - - - vxorps %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - - - - - - 1.02 0.98 - - - - 0.02 1.98 - - - - - - - vblendps $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.02 1.98 - - - - 0.02 1.98 - - - - - - - vblendps $2, %ymm1, %ymm2, %ymm3
# CHECK: Timeline view:
# CHECK-NEXT: 012
@@ -173,13 +173,13 @@ vaddps %ymm1, %ymm1, %ymm0
# 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: - - - - - - - - 2.52 2.48 - - - - 3.00 3.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 2.01 2.99 - - - - 3.00 3.00 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vaddpd %ymm0, %ymm0, %ymm1
+# CHECK-NEXT: - - - - - - - - 0.99 0.01 - - - - 2.00 - - - - - - - - vaddpd %ymm0, %ymm0, %ymm1
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.98 1.02 - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - - - - - - 1.02 0.98 - - - - 0.02 1.98 - - - - - - - vblendpd $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: - - - - - - - - 0.02 1.98 - - - - 0.02 1.98 - - - - - - - vblendpd $2, %ymm1, %ymm2, %ymm3
# CHECK: Timeline view:
# CHECK-NEXT: 012
@@ -257,12 +257,12 @@ vaddps %ymm1, %ymm1, %ymm0
# 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: - - - - - - - - 1.50 1.50 - - - - 2.00 2.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 2.00 1.00 - - - - 2.00 2.00 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - 2.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - 2.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm3
# CHECK: Timeline view:
# CHECK-NEXT: 01
@@ -336,12 +336,12 @@ vaddps %ymm1, %ymm1, %ymm0
# 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: - - - - - - - - 1.50 1.50 - - - - 2.00 2.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 2.00 1.00 - - - - 2.00 2.00 - - - - - - -
# 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:
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - 2.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - - - 2.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm3
# CHECK: Timeline view:
# CHECK-NEXT: 01
@@ -415,12 +415,12 @@ vaddps %ymm1, %ymm1, %ymm0
# 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: - - - - - - - - - 2.00 - - - - 2.00 1.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 2.00 1.00 - - - - - - -
# 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:
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - - 1.00 - - - - - - - vperm2f128 $136, %ymm0, %ymm0, %ymm1
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - 2.00 - - - - - - - - vaddps %ymm1, %ymm1, %ymm0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - 2.00 - - - - - - - - vaddps %ymm1, %ymm1, %ymm0
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s Mon Nov 12 05:09:39 2018
@@ -220,7 +220,7 @@ vpxor %xmm3, %xmm3, %xmm5
# 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: - - - - - - - - - - 8.00 11.00 - - 9.00 10.00 - - - - - - -
+# CHECK-NEXT: - - - - - - - - - - 9.00 10.00 - - 9.00 10.00 - - - - - - -
# 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:
@@ -237,7 +237,7 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - pcmpgtw %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
@@ -259,22 +259,22 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 - - - - - - - - psubsb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - psubsb %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - psubsw %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - psubsb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - psubsw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 - - - - - - - - vpsubsb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - psubsw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpsubsb %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpsubsw %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpsubsb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - vpsubsw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 - - - - - - - - psubusb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpsubsw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - psubusb %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - psubusw %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - psubusb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - psubusw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 - - - - - - - - vpsubusb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - psubusw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpsubusb %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpsubusw %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - - vpsubsb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - 1.00 - - - - - - - vpsubsw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - 1.00 - - - - - - - vpsubsw %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - andnps %xmm0, %xmm0
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - andnpd %xmm1, %xmm1
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vandnps %xmm2, %xmm2, %xmm2
Modified: llvm/trunk/tools/llvm-mca/lib/HardwareUnits/ResourceManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mca/lib/HardwareUnits/ResourceManager.cpp?rev=346650&r1=346649&r2=346650&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-mca/lib/HardwareUnits/ResourceManager.cpp (original)
+++ llvm/trunk/tools/llvm-mca/lib/HardwareUnits/ResourceManager.cpp Mon Nov 12 05:09:39 2018
@@ -147,8 +147,14 @@ ResourceRef ResourceManager::selectPipe(
void ResourceManager::use(const ResourceRef &RR) {
// Mark the sub-resource referenced by RR as used.
- ResourceState &RS = *Resources[getResourceStateIndex(RR.first)];
+ unsigned RSID = getResourceStateIndex(RR.first);
+ ResourceState &RS = *Resources[RSID];
RS.markSubResourceAsUsed(RR.second);
+ // Remember to update the resource strategy for non-group resources with
+ // multiple units.
+ if (RS.getNumUnits() > 1)
+ Strategies[RSID]->used(RR.second);
+
// If there are still available units in RR.first,
// then we are done.
if (RS.isReady())
More information about the llvm-commits
mailing list