From 18d025a7326930060b7f0dc95f0dcb9358fe67fa Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Wed, 1 Aug 2018 11:00:11 +0000 Subject: [PATCH] [llvm-mca][x86] Add STC + STD instruction resource tests llvm-svn: 338514 --- llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s | 9 ++++++++- .../test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s | 9 ++++++++- llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s | 9 ++++++++- llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s | 9 ++++++++- llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s | 9 ++++++++- llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s | 9 ++++++++- .../tools/llvm-mca/X86/SandyBridge/resources-x86_64.s | 9 ++++++++- .../tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s | 9 ++++++++- .../tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s | 9 ++++++++- llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s | 9 ++++++++- 10 files changed, 80 insertions(+), 10 deletions(-) diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s index 32823eff8471..f4c65726e0eb 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 9 4.50 shrdq $7, %rsi, %rdi # CHECK-NEXT: 1 9 4.50 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 1 9 4.50 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 U stc +# CHECK-NEXT: 1 21 10.50 U std # CHECK-NEXT: 1 1 0.50 subb $7, %al # CHECK-NEXT: 1 1 0.50 subb $7, %dil # CHECK-NEXT: 1 1 1.00 * * subb $7, (%rax) @@ -1322,7 +1327,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] -# CHECK-NEXT: 1418.00 1088.00 +# CHECK-NEXT: 1429.00 1099.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] Instructions: @@ -1882,6 +1887,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 4.50 4.50 shrdq $7, %rsi, %rdi # CHECK-NEXT: 4.50 4.50 shldq $7, %rsi, (%rax) # CHECK-NEXT: 4.50 4.50 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 stc +# CHECK-NEXT: 10.50 10.50 std # CHECK-NEXT: 0.50 0.50 subb $7, %al # CHECK-NEXT: 0.50 0.50 subb $7, %dil # CHECK-NEXT: 1.00 - subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s index ea6d7c6052b0..cfc946a0acd4 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi # CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 U stc +# CHECK-NEXT: 6 6 1.50 U std # CHECK-NEXT: 1 1 0.25 subb $7, %al # CHECK-NEXT: 1 1 0.25 subb $7, %dil # CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) @@ -1330,7 +1335,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: 50.00 - 377.00 267.50 218.00 218.00 167.00 161.00 343.50 69.00 +# CHECK-NEXT: 50.00 - 378.50 269.00 218.00 218.00 167.00 162.50 346.00 69.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -1890,6 +1895,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc +# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil # CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s index 8a99598a5762..baa48480362d 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 6 3 3.00 shrdq $7, %rsi, %rdi # CHECK-NEXT: 8 9 11.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 8 9 11.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 U stc +# CHECK-NEXT: 1 1 0.50 U std # CHECK-NEXT: 1 1 0.50 subb $7, %al # CHECK-NEXT: 1 1 0.50 subb $7, %dil # CHECK-NEXT: 2 5 1.00 * * subb $7, (%rax) @@ -1334,7 +1339,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: 493.00 543.00 380.00 - - - - 295.00 64.00 195.00 - - - - +# CHECK-NEXT: 494.00 544.00 380.00 - - - - 295.00 64.00 195.00 - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: @@ -1894,6 +1899,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shrdq $7, %rsi, %rdi # CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldq $7, %rsi, (%rax) # CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - stc +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - std # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %al # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %dil # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s index e27b322fa9b1..64d323a1ed30 100644 --- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 2 2 0.67 shrdq $7, %rsi, %rdi # CHECK-NEXT: 5 8 1.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 5 8 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.33 U stc +# CHECK-NEXT: 1 1 0.33 U std # CHECK-NEXT: 1 1 0.33 subb $7, %al # CHECK-NEXT: 1 1 0.33 subb $7, %dil # CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) @@ -1328,7 +1333,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] -# CHECK-NEXT: 160.00 - 365.50 171.00 210.00 356.50 254.00 254.00 +# CHECK-NEXT: 160.00 - 366.17 171.67 210.00 357.17 254.00 254.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: @@ -1888,6 +1893,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdq $7, %rsi, %rdi # CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldq $7, %rsi, (%rax) # CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - stc +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - std # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %al # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %dil # CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s index 7a48e799abc2..d46873fb858c 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi # CHECK-NEXT: 4 10 1.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 4 10 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 U stc +# CHECK-NEXT: 6 6 1.50 U std # CHECK-NEXT: 1 1 0.25 subb $7, %al # CHECK-NEXT: 1 1 0.25 subb $7, %dil # CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) @@ -1330,7 +1335,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: 80.00 - 428.00 288.50 209.00 209.00 158.00 184.00 423.50 66.00 +# CHECK-NEXT: 80.00 - 429.50 290.00 209.00 209.00 158.00 185.50 426.00 66.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -1890,6 +1895,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc +# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil # CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s index 0c50dd08bc23..50f67be511e0 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 1.00 shrdq $7, %rsi, %rdi # CHECK-NEXT: 2 4 2.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 2 4 2.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 U stc +# CHECK-NEXT: 1 1 0.50 U std # CHECK-NEXT: 1 1 0.50 subb $7, %al # CHECK-NEXT: 1 1 0.50 subb $7, %dil # CHECK-NEXT: 2 5 2.00 * * subb $7, (%rax) @@ -1328,7 +1333,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] -# CHECK-NEXT: 400.00 - - - - 544.00 386.00 502.00 +# CHECK-NEXT: 400.00 - - - - 545.00 387.00 502.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: @@ -1888,6 +1893,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - - - - 1.00 - - shrdq $7, %rsi, %rdi # CHECK-NEXT: - - - - - 1.00 - 2.00 shldq $7, %rsi, (%rax) # CHECK-NEXT: - - - - - 1.00 - 2.00 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - stc +# CHECK-NEXT: - - - - - 0.50 0.50 - std # CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %al # CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %dil # CHECK-NEXT: - - - - - 1.00 1.00 2.00 subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s index a9627e85b60f..0395f5a35445 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 2 2 0.67 shrdq $7, %rsi, %rdi # CHECK-NEXT: 5 8 1.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 5 8 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.33 U stc +# CHECK-NEXT: 1 1 0.33 U std # CHECK-NEXT: 1 1 0.33 subb $7, %al # CHECK-NEXT: 1 1 0.33 subb $7, %dil # CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) @@ -1328,7 +1333,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] -# CHECK-NEXT: 160.00 - 365.50 171.00 210.00 356.50 254.00 254.00 +# CHECK-NEXT: 160.00 - 366.17 171.67 210.00 357.17 254.00 254.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: @@ -1888,6 +1893,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdq $7, %rsi, %rdi # CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldq $7, %rsi, (%rax) # CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - stc +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - std # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %al # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %dil # CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s index e21c4085aad2..cd10c6397632 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi # CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 U stc +# CHECK-NEXT: 6 6 1.50 U std # CHECK-NEXT: 1 1 0.25 subb $7, %al # CHECK-NEXT: 1 1 0.25 subb $7, %dil # CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) @@ -1330,7 +1335,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: 60.00 - 444.50 248.50 218.00 218.00 167.00 197.00 430.00 69.00 +# CHECK-NEXT: 60.00 - 446.00 250.00 218.00 218.00 167.00 198.50 432.50 69.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -1890,6 +1895,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc +# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil # CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s index 7671bb0e21ea..4a8b21f8954c 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi # CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 U stc +# CHECK-NEXT: 6 6 1.50 U std # CHECK-NEXT: 1 1 0.25 subb $7, %al # CHECK-NEXT: 1 1 0.25 subb $7, %dil # CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) @@ -1330,7 +1335,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: 60.00 - 444.75 248.75 218.00 218.00 167.00 197.25 430.25 69.00 +# CHECK-NEXT: 60.00 - 446.25 250.25 218.00 218.00 167.00 198.75 432.75 69.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: @@ -1890,6 +1895,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) # CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc +# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil # CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s index 261328b15dc5..21a7903470b3 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s @@ -622,6 +622,9 @@ shrdq $7, %rsi, %rdi shldq $7, %rsi, (%rax) shrdq $7, %rsi, (%rax) +stc +std + subb $7, %al subb $7, %dil subb $7, (%rax) @@ -1255,6 +1258,8 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.25 shrdq $7, %rsi, %rdi # CHECK-NEXT: 2 5 0.50 * * shldq $7, %rsi, (%rax) # CHECK-NEXT: 2 5 0.50 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 U stc +# CHECK-NEXT: 1 1 0.25 U std # CHECK-NEXT: 1 1 0.25 subb $7, %al # CHECK-NEXT: 1 1 0.25 subb $7, %dil # CHECK-NEXT: 2 5 0.50 * * subb $7, (%rax) @@ -1332,7 +1337,7 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: 147.50 147.50 131.00 165.00 147.00 131.00 392.00 - - - - 34.00 +# CHECK-NEXT: 147.50 147.50 131.50 165.50 147.50 131.50 392.00 - - - - 34.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -1892,6 +1897,8 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrdq $7, %rsi, %rdi # CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shldq $7, %rsi, (%rax) # CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - stc +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - std # CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %al # CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %dil # CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb $7, (%rax)