Index: lib/Target/X86/X86ScheduleBtVer2.td =================================================================== --- lib/Target/X86/X86ScheduleBtVer2.td +++ lib/Target/X86/X86ScheduleBtVer2.td @@ -501,14 +501,14 @@ defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; -defm : X86WriteRes; -defm : X86WriteRes; +defm : X86WriteRes; +defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; -defm : X86WriteRes; +defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; @@ -657,8 +657,8 @@ //////////////////////////////////////////////////////////////////////////////// defm : X86WriteRes; -defm : X86WriteRes; -defm : X86WriteRes; +defm : X86WriteRes; +defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; @@ -666,7 +666,7 @@ defm : X86WriteRes; defm : X86WriteRes; -defm : X86WriteRes; +defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; Index: test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s =================================================================== --- test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s +++ test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s @@ -83,17 +83,17 @@ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: - - - 2.00 2.00 4.00 4.00 4.00 - 4.00 4.00 - - - +# CHECK-NEXT: - - - - - - 4.00 4.00 - 4.00 4.00 - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovaps (%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps (%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, (%rdi) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 16(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 32(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovaps 48(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 48(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 48(%rdi) # CHECK: Timeline view: Index: test/tools/llvm-mca/X86/BtVer2/load-store-alias.s =================================================================== --- test/tools/llvm-mca/X86/BtVer2/load-store-alias.s +++ test/tools/llvm-mca/X86/BtVer2/load-store-alias.s @@ -56,17 +56,17 @@ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: - - - 2.00 2.00 3.99 4.01 4.00 - 4.00 4.00 - - - +# CHECK-NEXT: - - - - - - 4.00 4.00 - 4.00 4.00 - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - vmovaps (%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps (%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, (%rdi) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 16(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 32(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovaps 48(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 48(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 48(%rdi) # CHECK: Timeline view: Index: test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s =================================================================== --- test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s +++ test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s @@ -56,17 +56,17 @@ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: - - - 2.00 2.00 3.97 4.03 4.00 - 4.00 4.00 - - - +# CHECK-NEXT: - - - - - - 4.00 4.00 - 4.00 4.00 - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - 1.00 0.98 0.02 1.00 - - - - - - vmovaps (%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps (%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, (%rdi) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 16(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 32(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovaps 48(%rsi), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps 48(%rsi), %xmm0 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, 48(%rdi) # CHECK: Timeline view: Index: test/tools/llvm-mca/X86/BtVer2/resources-avx1.s =================================================================== --- test/tools/llvm-mca/X86/BtVer2/resources-avx1.s +++ test/tools/llvm-mca/X86/BtVer2/resources-avx1.s @@ -1217,7 +1217,7 @@ # CHECK-NEXT: 1 1 0.50 vinsertps $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %ymm2 +# CHECK-NEXT: 2 5 2.00 * vlddqu (%rax), %ymm2 # CHECK-NEXT: 1 3 1.00 * U vldmxcsr (%rax) # CHECK-NEXT: 63 34 21.00 * * U vmaskmovdqu %xmm0, %xmm1 # CHECK-NEXT: 1 6 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2 @@ -1256,14 +1256,14 @@ # CHECK-NEXT: 1 1 1.00 * vmovapd %xmm0, (%rax) # CHECK-NEXT: 1 5 1.00 * vmovapd (%rax), %xmm2 # CHECK-NEXT: 2 1 1.00 vmovapd %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovapd %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovapd (%rax), %ymm2 +# CHECK-NEXT: 2 1 2.00 * vmovapd %ymm0, (%rax) +# CHECK-NEXT: 2 5 2.00 * vmovapd (%rax), %ymm2 # CHECK-NEXT: 1 1 0.50 vmovaps %xmm0, %xmm2 # CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rax) # CHECK-NEXT: 1 5 1.00 * vmovaps (%rax), %xmm2 # CHECK-NEXT: 2 1 1.00 vmovaps %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovaps %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovaps (%rax), %ymm2 +# CHECK-NEXT: 2 1 2.00 * vmovaps %ymm0, (%rax) +# CHECK-NEXT: 2 5 2.00 * vmovaps (%rax), %ymm2 # CHECK-NEXT: 2 8 0.50 vmovd %eax, %xmm2 # CHECK-NEXT: 1 5 1.00 * vmovd (%rax), %xmm2 # CHECK-NEXT: 1 4 1.00 vmovd %xmm0, %ecx @@ -1276,14 +1276,14 @@ # CHECK-NEXT: 1 1 1.00 * vmovdqa %xmm0, (%rax) # CHECK-NEXT: 1 5 1.00 * vmovdqa (%rax), %xmm2 # CHECK-NEXT: 2 1 1.00 vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovdqa %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovdqa (%rax), %ymm2 +# CHECK-NEXT: 2 1 2.00 * vmovdqa %ymm0, (%rax) +# CHECK-NEXT: 2 5 2.00 * vmovdqa (%rax), %ymm2 # CHECK-NEXT: 1 1 0.50 vmovdqu %xmm0, %xmm2 # CHECK-NEXT: 1 1 1.00 * vmovdqu %xmm0, (%rax) # CHECK-NEXT: 1 5 1.00 * vmovdqu (%rax), %xmm2 # CHECK-NEXT: 2 1 1.00 vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovdqu %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovdqu (%rax), %ymm2 +# CHECK-NEXT: 2 1 2.00 * vmovdqu %ymm0, (%rax) +# CHECK-NEXT: 2 5 2.00 * vmovdqu (%rax), %ymm2 # CHECK-NEXT: 1 1 0.50 vmovhlps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.50 vmovlhps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 2 1.00 * vmovhpd %xmm0, (%rax) @@ -1329,14 +1329,14 @@ # CHECK-NEXT: 1 1 1.00 * vmovupd %xmm0, (%rax) # CHECK-NEXT: 1 5 1.00 * vmovupd (%rax), %xmm2 # CHECK-NEXT: 2 1 1.00 vmovupd %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovupd %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovupd (%rax), %ymm2 +# CHECK-NEXT: 2 1 2.00 * vmovupd %ymm0, (%rax) +# CHECK-NEXT: 2 5 2.00 * vmovupd (%rax), %ymm2 # CHECK-NEXT: 1 1 0.50 vmovups %xmm0, %xmm2 # CHECK-NEXT: 1 1 1.00 * vmovups %xmm0, (%rax) # CHECK-NEXT: 1 5 1.00 * vmovups (%rax), %xmm2 # CHECK-NEXT: 2 1 1.00 vmovups %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovups %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovups (%rax), %ymm2 +# CHECK-NEXT: 2 1 2.00 * vmovups %ymm0, (%rax) +# CHECK-NEXT: 2 5 2.00 * vmovups (%rax), %ymm2 # CHECK-NEXT: 3 3 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 3 8 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 2.00 vmulpd %xmm0, %xmm1, %xmm2 @@ -1740,7 +1740,7 @@ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 86.00 30.00 - 362.00 907.00 449.50 480.50 414.00 - 78.00 154.00 135.50 159.50 38.00 +# CHECK-NEXT: 86.00 30.00 - 358.00 903.00 442.50 479.50 421.00 - 84.00 160.00 132.50 156.50 38.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: @@ -1930,8 +1930,8 @@ # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vinsertf128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vlddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - - - - - vlddqu (%rax), %ymm2 # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax) # CHECK-NEXT: 21.00 21.00 - 1.00 - 1.00 2.00 2.00 - 16.00 2.00 - - - vmaskmovdqu %xmm0, %xmm1 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2 @@ -1968,16 +1968,16 @@ # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovapd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovapd (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovapd %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovapd %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - - - - - vmovapd (%rax), %ymm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovaps %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovaps (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovaps %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovaps %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - - - - - vmovaps (%rax), %ymm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovd %eax, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovd (%rax), %xmm2 # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovd %xmm0, %ecx @@ -1988,16 +1988,16 @@ # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 2.00 - - - - - - vmovddup (%rax), %ymm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqa %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovdqa (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 - vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %ymm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovdqa %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - - - - - vmovdqa (%rax), %ymm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqu %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovdqu (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 - vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %ymm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovdqu %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - - - - - vmovdqu (%rax), %ymm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovhpd %xmm0, (%rax) @@ -2041,16 +2041,16 @@ # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovss (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovupd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovupd (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovupd %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovupd %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - - - - - vmovupd (%rax), %ymm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovups %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovups (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovups %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovups %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - - - - - vmovups (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 vmpsadbw $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulpd %xmm0, %xmm1, %xmm2 Index: test/tools/llvm-mca/X86/BtVer2/resources-sse1.s =================================================================== --- test/tools/llvm-mca/X86/BtVer2/resources-sse1.s +++ test/tools/llvm-mca/X86/BtVer2/resources-sse1.s @@ -337,7 +337,7 @@ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 15.00 - - 47.00 184.00 58.50 66.50 58.00 - 9.00 25.00 9.50 9.50 2.00 +# CHECK-NEXT: 15.00 - - 46.00 183.00 57.50 65.50 58.00 - 9.00 25.00 9.50 9.50 2.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: @@ -389,7 +389,7 @@ # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minss (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movaps %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movaps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movaps (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movhlps %xmm0, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movlhps %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movhps %xmm0, (%rax) @@ -404,7 +404,7 @@ # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movss (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movups %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movups %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movups (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movups (%rax), %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulps %xmm0, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulps (%rax), %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulss %xmm0, %xmm2 Index: test/tools/llvm-mca/X86/BtVer2/resources-sse2.s =================================================================== --- test/tools/llvm-mca/X86/BtVer2/resources-sse2.s +++ test/tools/llvm-mca/X86/BtVer2/resources-sse2.s @@ -693,7 +693,7 @@ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 38.00 21.00 - 50.00 204.00 129.50 142.50 120.00 - 31.00 55.00 67.50 67.50 12.00 +# CHECK-NEXT: 38.00 21.00 - 49.00 203.00 127.50 140.50 120.00 - 31.00 55.00 66.50 66.50 12.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: @@ -767,17 +767,17 @@ # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movapd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movapd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movapd (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movd %eax, %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movd (%rax), %xmm2 # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movd %xmm0, %ecx # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movd %xmm0, (%rax) # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqa %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqa (%rax), %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqu %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqu (%rax), %xmm2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdq2q %xmm0, %mm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movhpd %xmm0, (%rax) # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhpd (%rax), %xmm2 @@ -799,7 +799,7 @@ # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movsd (%rax), %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movupd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movupd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movupd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movupd (%rax), %xmm2 # CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulpd %xmm0, %xmm2 # CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulpd (%rax), %xmm2 # CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulsd %xmm0, %xmm2 Index: test/tools/llvm-mca/X86/BtVer2/resources-sse3.s =================================================================== --- test/tools/llvm-mca/X86/BtVer2/resources-sse3.s +++ test/tools/llvm-mca/X86/BtVer2/resources-sse3.s @@ -83,7 +83,7 @@ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 1.00 1.00 - 15.00 3.00 15.50 3.50 10.00 - - - 0.50 0.50 - +# CHECK-NEXT: 1.00 1.00 - 15.00 3.00 15.00 3.00 10.00 - - - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: @@ -99,7 +99,7 @@ # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubpd (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubps %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - lddqu (%rax), %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - monitor # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movddup (%rax), %xmm2