From: Craig Topper Date: Sun, 24 Feb 2019 19:23:39 +0000 (+0000) Subject: [X86] Correct some ADC/SBB with immediate scheduler data for Broadwell and Skylake. X-Git-Tag: llvmorg-9.0.0-rc1~11358 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ce2bd19c49bf7541cb8c1a072332db0f9cc277d3;p=platform%2Fupstream%2Fllvm.git [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 --- diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td index 821948d2d859..fe96f203d3a0 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 71045897376f..9e5f79584603 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 8bd80078891d..4747dafb8571 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 d55c4a342cb6..9b283a821942 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 963b8c90e9c2..209522d84c4e 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 e11f6a177c83..694a28394f12 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