[llvm] r346650 - [llvm-mca] Correctly update the resource strategy for processor resources with multiple units.

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 12 05:13:58 PST 2018


Thanks!
On Mon, Nov 12, 2018 at 4:12 PM Andrea Di Biagio via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
>
> 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())
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list