diff options
author | Craig Topper <craig.topper@intel.com> | 2019-02-24 19:23:39 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-02-24 19:23:39 +0000 |
commit | ce2bd19c49bf7541cb8c1a072332db0f9cc277d3 (patch) | |
tree | f2a784246b8211b4dfd364c3d4b7a221af5a1850 /llvm | |
parent | be3348573ec101bb9b5e088d47fd3713ca78f088 (diff) | |
download | bcm5719-llvm-ce2bd19c49bf7541cb8c1a072332db0f9cc277d3.tar.gz bcm5719-llvm-ce2bd19c49bf7541cb8c1a072332db0f9cc277d3.zip |
[X86] Correct some ADC/SBB with immediate scheduler data for Broadwell and Skylake.
Summary:
The AX/EAX/RAX with immediate forms are 2 uops just like the AL with immediate.
The modrm form with r8 and immediate is a single uop just like r16/r32/r64 with immediate.
Reviewers: RKSimon, andreadb
Reviewed By: RKSimon
Subscribers: gbedwell, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D58581
llvm-svn: 354754
Diffstat (limited to 'llvm')
6 files changed, 64 insertions, 61 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td index 821948d2d85..fe96f203d3a 100644 --- a/llvm/lib/Target/X86/X86SchedBroadwell.td +++ b/llvm/lib/Target/X86/X86SchedBroadwell.td @@ -733,10 +733,11 @@ def BWWriteResGroup20 : SchedWriteRes<[BWPort06,BWPort0156]> { } def: InstRW<[BWWriteResGroup20], (instrs CWD, JCXZ, JECXZ, JRCXZ, - ADC8i8, SBB8i8)>; -def: InstRW<[BWWriteResGroup20], (instregex "ADC8ri", - "SBB8ri", - "SET(A|BE)r")>; + ADC8i8, SBB8i8, + ADC16i16, SBB16i16, + ADC32i32, SBB32i32, + ADC64i32, SBB64i32)>; +def: InstRW<[BWWriteResGroup20], (instregex "SET(A|BE)r")>; def BWWriteResGroup22 : SchedWriteRes<[BWPort4,BWPort6,BWPort237]> { let Latency = 2; diff --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td index 71045897376..9e5f7958460 100644 --- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td +++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td @@ -736,9 +736,10 @@ def SKLWriteResGroup23 : SchedWriteRes<[SKLPort06,SKLPort0156]> { } def: InstRW<[SKLWriteResGroup23], (instrs CWD, JCXZ, JECXZ, JRCXZ, - ADC8i8, SBB8i8)>; -def: InstRW<[SKLWriteResGroup23], (instregex "ADC8ri", - "SBB8ri")>; + ADC8i8, SBB8i8, + ADC16i16, SBB16i16, + ADC32i32, SBB32i32, + ADC64i32, SBB64i32)>; def SKLWriteResGroup25 : SchedWriteRes<[SKLPort4,SKLPort6,SKLPort237]> { let Latency = 2; diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td index 8bd80078891..4747dafb857 100644 --- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td +++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td @@ -760,9 +760,10 @@ def SKXWriteResGroup23 : SchedWriteRes<[SKXPort06,SKXPort0156]> { } def: InstRW<[SKXWriteResGroup23], (instrs CWD, JCXZ, JECXZ, JRCXZ, - ADC8i8, SBB8i8)>; -def: InstRW<[SKXWriteResGroup23], (instregex "ADC8ri", - "SBB8ri")>; + ADC8i8, SBB8i8, + ADC16i16, SBB16i16, + ADC32i32, SBB32i32, + ADC64i32, SBB64i32)>; def SKXWriteResGroup25 : SchedWriteRes<[SKXPort4,SKXPort6,SKXPort237]> { let Latency = 2; 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 d55c4a342cb..9b283a82194 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 @@ -876,12 +876,12 @@ xorq (%rax), %rdi # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 2 2 0.50 adcb $7, %al -# CHECK-NEXT: 2 2 0.50 adcb $7, %dil +# CHECK-NEXT: 1 1 0.50 adcb $7, %dil # CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) # CHECK-NEXT: 1 1 0.50 adcb %sil, %dil # CHECK-NEXT: 6 8 1.00 * * adcb %sil, (%rax) # CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 2 2 0.50 adcw $511, %ax # CHECK-NEXT: 1 1 0.50 adcw $511, %di # CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) # CHECK-NEXT: 1 1 0.50 adcw $7, %di @@ -889,7 +889,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 adcw %si, %di # CHECK-NEXT: 6 8 1.00 * * adcw %si, (%rax) # CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 2 2 0.50 adcl $665536, %eax # CHECK-NEXT: 1 1 0.50 adcl $665536, %edi # CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcl $7, %edi @@ -897,7 +897,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 adcl %esi, %edi # CHECK-NEXT: 6 8 1.00 * * adcl %esi, (%rax) # CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 2 2 0.50 adcq $665536, %rax # CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi # CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcq $7, %rdi @@ -1427,12 +1427,12 @@ xorq (%rax), %rdi # CHECK-NEXT: 6 8 1.00 * * shlq %cl, (%rax) # CHECK-NEXT: 6 8 1.00 * * shrq %cl, (%rax) # CHECK-NEXT: 2 2 0.50 sbbb $7, %al -# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil +# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil # CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) # CHECK-NEXT: 1 1 0.50 sbbb %sil, %dil # CHECK-NEXT: 6 8 1.00 * * sbbb %sil, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 2 2 0.50 sbbw $511, %ax # CHECK-NEXT: 1 1 0.50 sbbw $511, %di # CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) # CHECK-NEXT: 1 1 0.50 sbbw $7, %di @@ -1440,7 +1440,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 sbbw %si, %di # CHECK-NEXT: 6 8 1.00 * * sbbw %si, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 2 2 0.50 sbbl $665536, %eax # CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi # CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbl $7, %edi @@ -1448,7 +1448,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 sbbl %esi, %edi # CHECK-NEXT: 6 8 1.00 * * sbbl %esi, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 2 2 0.50 sbbq $665536, %rax # CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi # CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi @@ -1645,17 +1645,17 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: 50.00 - 503.00 343.00 262.67 262.67 206.00 255.50 536.50 82.67 +# CHECK-NEXT: 50.00 - 504.00 344.00 262.67 262.67 206.00 256.50 537.50 82.67 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb $7, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %sil, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %sil, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $511, %ax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di @@ -1663,7 +1663,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %si, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %si, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $665536, %eax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi @@ -1671,7 +1671,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %esi, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %esi, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $665536, %rax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi @@ -2201,12 +2201,12 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlq %cl, (%rax) # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrq %cl, (%rax) # CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb $7, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %sil, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %sil, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $511, %ax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di @@ -2214,7 +2214,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %si, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %si, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $665536, %eax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi @@ -2222,7 +2222,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %esi, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %esi, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $665536, %rax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi 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 963b8c90e9c..209522d84c4 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 @@ -876,12 +876,12 @@ xorq (%rax), %rdi # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 2 2 0.50 adcb $7, %al -# CHECK-NEXT: 2 2 0.50 adcb $7, %dil +# CHECK-NEXT: 1 1 0.50 adcb $7, %dil # CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) # CHECK-NEXT: 1 1 0.50 adcb %sil, %dil # CHECK-NEXT: 6 8 1.00 * * adcb %sil, (%rax) # CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 2 2 0.50 adcw $511, %ax # CHECK-NEXT: 1 1 0.50 adcw $511, %di # CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) # CHECK-NEXT: 1 1 0.50 adcw $7, %di @@ -889,7 +889,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 adcw %si, %di # CHECK-NEXT: 6 8 1.00 * * adcw %si, (%rax) # CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 2 2 0.50 adcl $665536, %eax # CHECK-NEXT: 1 1 0.50 adcl $665536, %edi # CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcl $7, %edi @@ -897,7 +897,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 adcl %esi, %edi # CHECK-NEXT: 6 8 1.00 * * adcl %esi, (%rax) # CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 2 2 0.50 adcq $665536, %rax # CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi # CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcq $7, %rdi @@ -1427,12 +1427,12 @@ xorq (%rax), %rdi # CHECK-NEXT: 6 8 1.50 * * shlq %cl, (%rax) # CHECK-NEXT: 6 8 1.50 * * shrq %cl, (%rax) # CHECK-NEXT: 2 2 0.50 sbbb $7, %al -# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil +# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil # CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) # CHECK-NEXT: 1 1 0.50 sbbb %sil, %dil # CHECK-NEXT: 6 8 1.00 * * sbbb %sil, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 2 2 0.50 sbbw $511, %ax # CHECK-NEXT: 1 1 0.50 sbbw $511, %di # CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) # CHECK-NEXT: 1 1 0.50 sbbw $7, %di @@ -1440,7 +1440,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 sbbw %si, %di # CHECK-NEXT: 6 8 1.00 * * sbbw %si, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 2 2 0.50 sbbl $665536, %eax # CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi # CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbl $7, %edi @@ -1448,7 +1448,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 sbbl %esi, %edi # CHECK-NEXT: 6 8 1.00 * * sbbl %esi, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 2 2 0.50 sbbq $665536, %rax # CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi # CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi @@ -1645,17 +1645,17 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: 60.00 - 573.25 322.75 262.67 262.67 206.00 290.25 629.75 82.67 +# CHECK-NEXT: 60.00 - 574.25 323.75 262.67 262.67 206.00 291.25 630.75 82.67 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb $7, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %sil, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %sil, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $511, %ax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di @@ -1663,7 +1663,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %si, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %si, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $665536, %eax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi @@ -1671,7 +1671,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %esi, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %esi, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $665536, %rax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi @@ -2201,12 +2201,12 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlq %cl, (%rax) # CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrq %cl, (%rax) # CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb $7, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %sil, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %sil, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $511, %ax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di @@ -2214,7 +2214,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %si, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %si, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $665536, %eax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi @@ -2222,7 +2222,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %esi, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %esi, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $665536, %rax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi 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 e11f6a177c8..694a28394f1 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 @@ -876,12 +876,12 @@ xorq (%rax), %rdi # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 2 2 0.50 adcb $7, %al -# CHECK-NEXT: 2 2 0.50 adcb $7, %dil +# CHECK-NEXT: 1 1 0.50 adcb $7, %dil # CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) # CHECK-NEXT: 1 1 0.50 adcb %sil, %dil # CHECK-NEXT: 6 8 1.00 * * adcb %sil, (%rax) # CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 2 2 0.50 adcw $511, %ax # CHECK-NEXT: 1 1 0.50 adcw $511, %di # CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) # CHECK-NEXT: 1 1 0.50 adcw $7, %di @@ -889,7 +889,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 adcw %si, %di # CHECK-NEXT: 6 8 1.00 * * adcw %si, (%rax) # CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 2 2 0.50 adcl $665536, %eax # CHECK-NEXT: 1 1 0.50 adcl $665536, %edi # CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcl $7, %edi @@ -897,7 +897,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 adcl %esi, %edi # CHECK-NEXT: 6 8 1.00 * * adcl %esi, (%rax) # CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 2 2 0.50 adcq $665536, %rax # CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi # CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 adcq $7, %rdi @@ -1427,12 +1427,12 @@ xorq (%rax), %rdi # CHECK-NEXT: 6 8 1.50 * * shlq %cl, (%rax) # CHECK-NEXT: 6 8 1.50 * * shrq %cl, (%rax) # CHECK-NEXT: 2 2 0.50 sbbb $7, %al -# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil +# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil # CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) # CHECK-NEXT: 1 1 0.50 sbbb %sil, %dil # CHECK-NEXT: 6 8 1.00 * * sbbb %sil, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 2 2 0.50 sbbw $511, %ax # CHECK-NEXT: 1 1 0.50 sbbw $511, %di # CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) # CHECK-NEXT: 1 1 0.50 sbbw $7, %di @@ -1440,7 +1440,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 sbbw %si, %di # CHECK-NEXT: 6 8 1.00 * * sbbw %si, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 2 2 0.50 sbbl $665536, %eax # CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi # CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbl $7, %edi @@ -1448,7 +1448,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 sbbl %esi, %edi # CHECK-NEXT: 6 8 1.00 * * sbbl %esi, (%rax) # CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 2 2 0.50 sbbq $665536, %rax # CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi # CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) # CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi @@ -1645,17 +1645,17 @@ xorq (%rax), %rdi # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] -# CHECK-NEXT: 60.00 - 573.50 323.00 262.67 262.67 206.00 290.50 630.00 82.67 +# CHECK-NEXT: 60.00 - 574.50 324.00 262.67 262.67 206.00 291.50 631.00 82.67 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb $7, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %sil, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %sil, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $511, %ax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di @@ -1663,7 +1663,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %si, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %si, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $665536, %eax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi @@ -1671,7 +1671,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %esi, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %esi, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $665536, %rax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi @@ -2201,12 +2201,12 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlq %cl, (%rax) # CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrq %cl, (%rax) # CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb $7, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %sil, %dil # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %sil, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $511, %ax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di @@ -2214,7 +2214,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %si, %di # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %si, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $665536, %eax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi @@ -2222,7 +2222,7 @@ xorq (%rax), %rdi # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %esi, %edi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %esi, (%rax) # CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $665536, %rax # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi # CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) # CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi |