diff options
Diffstat (limited to 'llvm/test/tools/llvm-mca')
23 files changed, 284 insertions, 282 deletions
diff --git a/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s b/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s index 090e76a5779..c35ddabea0e 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s +++ b/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s @@ -26,7 +26,9 @@ # ALL-NEXT: [6]: HasSideEffects # ALL: [1] [2] [3] [4] [5] [6] Instructions: -# ALL-NEXT: 1 0 - b t + +# M1-NEXT: 1 0 0.25 b t +# M3-NEXT: 1 0 0.17 b t # ALL: Timeline view: # ALL-NEXT: Index 01 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 0d5326c36b5..501acd75f52 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 @@ -747,7 +747,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) # CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) # CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 - * clc +# CHECK-NEXT: 1 1 0.25 * clc # CHECK-NEXT: 1 1 0.25 decb %dil # CHECK-NEXT: 3 7 1.00 * * decb (%rax) # CHECK-NEXT: 1 1 0.25 decw %di diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s index 0632a85aec8..72af683c1c7 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s @@ -1699,8 +1699,8 @@ vzeroupper # CHECK-NEXT: 1 6 1.00 * vxorps (%rax), %xmm1, %xmm2 # CHECK-NEXT: 2 1 1.00 vxorps %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 2 6 2.00 * vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 73 90 - * * * vzeroall -# CHECK-NEXT: 37 46 - * * * vzeroupper +# CHECK-NEXT: 73 90 36.50 * * * vzeroall +# CHECK-NEXT: 37 46 18.50 * * * vzeroupper # CHECK: Resources: # CHECK-NEXT: [0] - JALU0 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s b/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s index 04c47c18da3..f04767862f4 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s @@ -28,15 +28,15 @@ vpxor %xmm3, %xmm3, %xmm5 # CHECK-NEXT: [6]: HasSideEffects # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 0 - xorps %xmm0, %xmm0 -# CHECK-NEXT: 1 0 - xorpd %xmm1, %xmm1 -# CHECK-NEXT: 1 0 - vxorps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: 1 0 - vxorpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: 1 0 - pxor %xmm2, %xmm2 -# CHECK-NEXT: 1 0 - vpxor %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 1 0 - vxorps %xmm4, %xmm4, %xmm5 -# CHECK-NEXT: 1 0 - vxorpd %xmm1, %xmm1, %xmm3 -# CHECK-NEXT: 1 0 - vpxor %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 xorps %xmm0, %xmm0 +# CHECK-NEXT: 1 0 0.50 xorpd %xmm1, %xmm1 +# CHECK-NEXT: 1 0 0.50 vxorps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 vxorpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: 1 0 0.50 pxor %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 vpxor %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vxorps %xmm4, %xmm4, %xmm5 +# CHECK-NEXT: 1 0 0.50 vxorpd %xmm1, %xmm1, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpxor %xmm3, %xmm3, %xmm5 # CHECK: Register File statistics: # CHECK-NEXT: Total number of mappings created: 0 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 9aab69884ce..5d350ffe9ed 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 @@ -703,10 +703,10 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 btcw %si, %di # CHECK-NEXT: 1 1 0.50 btrw %si, %di # CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 10 1 - * btw %si, (%rax) -# CHECK-NEXT: 11 1 - * * btcw %si, (%rax) -# CHECK-NEXT: 11 1 - * * btrw %si, (%rax) -# CHECK-NEXT: 11 1 - * * btsw %si, (%rax) +# CHECK-NEXT: 10 1 2.50 * btw %si, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btcw %si, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btrw %si, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btsw %si, (%rax) # CHECK-NEXT: 1 1 0.50 btw $7, %di # CHECK-NEXT: 1 1 0.50 btcw $7, %di # CHECK-NEXT: 1 1 0.50 btrw $7, %di @@ -719,10 +719,10 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 btcl %esi, %edi # CHECK-NEXT: 1 1 0.50 btrl %esi, %edi # CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 10 1 - * btl %esi, (%rax) -# CHECK-NEXT: 11 1 - * * btcl %esi, (%rax) -# CHECK-NEXT: 11 1 - * * btrl %esi, (%rax) -# CHECK-NEXT: 11 1 - * * btsl %esi, (%rax) +# CHECK-NEXT: 10 1 2.50 * btl %esi, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btcl %esi, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btrl %esi, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btsl %esi, (%rax) # CHECK-NEXT: 1 1 0.50 btl $7, %edi # CHECK-NEXT: 1 1 0.50 btcl $7, %edi # CHECK-NEXT: 1 1 0.50 btrl $7, %edi @@ -735,10 +735,10 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi # CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi # CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 10 1 - * btq %rsi, (%rax) -# CHECK-NEXT: 11 1 - * * btcq %rsi, (%rax) -# CHECK-NEXT: 11 1 - * * btrq %rsi, (%rax) -# CHECK-NEXT: 11 1 - * * btsq %rsi, (%rax) +# CHECK-NEXT: 10 1 2.50 * btq %rsi, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btcq %rsi, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btrq %rsi, (%rax) +# CHECK-NEXT: 11 1 2.75 * * btsq %rsi, (%rax) # CHECK-NEXT: 1 1 0.50 btq $7, %rdi # CHECK-NEXT: 1 1 0.50 btcq $7, %rdi # CHECK-NEXT: 1 1 0.50 btrq $7, %rdi @@ -747,7 +747,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax) # CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax) # CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 - * clc +# CHECK-NEXT: 1 1 0.25 * clc # CHECK-NEXT: 1 1 0.25 decb %dil # CHECK-NEXT: 3 7 1.00 * * decb (%rax) # CHECK-NEXT: 1 1 0.25 decw %di diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s index e70fc4b6cd9..756e17195de 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s @@ -216,7 +216,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 * faddp %st(2) # CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) # CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) -# CHECK-NEXT: 43 47 - * fbld (%ecx) +# CHECK-NEXT: 43 47 10.75 * fbld (%ecx) # CHECK-NEXT: 2 1 1.00 * fbstp (%eax) # CHECK-NEXT: 1 1 1.00 * fchs # CHECK-NEXT: 4 4 1.00 * fnclex @@ -298,13 +298,13 @@ fyl2xp1 # CHECK-NEXT: 3 15 1.00 * * fimull (%eax) # CHECK-NEXT: 1 1 0.50 * fnop # CHECK-NEXT: 1 100 0.25 * fpatan -# CHECK-NEXT: 28 19 - * fprem -# CHECK-NEXT: 41 27 - * fprem1 +# CHECK-NEXT: 28 19 7.00 * fprem +# CHECK-NEXT: 41 27 10.25 * fprem1 # CHECK-NEXT: 1 100 0.25 * fptan -# CHECK-NEXT: 17 11 - * frndint -# CHECK-NEXT: 90 1 - * frstor (%eax) -# CHECK-NEXT: 147 1 - * fnsave (%eax) -# CHECK-NEXT: 50 75 - * fscale +# CHECK-NEXT: 17 11 4.25 * frndint +# CHECK-NEXT: 90 1 22.50 * frstor (%eax) +# CHECK-NEXT: 147 1 36.75 * fnsave (%eax) +# CHECK-NEXT: 50 75 12.50 * fscale # CHECK-NEXT: 1 100 0.25 * fsin # CHECK-NEXT: 1 100 0.25 * fsincos # CHECK-NEXT: 1 23 17.00 * fsqrt @@ -318,9 +318,9 @@ fyl2xp1 # CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) # CHECK-NEXT: 100 115 19.50 * fnstenv (%eax) # CHECK-NEXT: 3 4 1.00 * fnstsw (%eax) -# CHECK-NEXT: 90 1 - * frstor (%eax) +# CHECK-NEXT: 90 1 22.50 * frstor (%eax) # CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 147 1 - * fnsave (%eax) +# CHECK-NEXT: 147 1 36.75 * fnsave (%eax) # CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) # CHECK-NEXT: 1 3 1.00 * fsub %st(2) # CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) @@ -351,7 +351,7 @@ fyl2xp1 # CHECK-NEXT: 15 17 4.00 * fxch %st(3) # CHECK-NEXT: 90 64 16.50 * * * fxrstor (%eax) # CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) -# CHECK-NEXT: 17 15 - * fxtract +# CHECK-NEXT: 17 15 4.25 * fxtract # CHECK-NEXT: 1 100 0.25 * fyl2x # CHECK-NEXT: 1 100 0.25 * fyl2xp1 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 e0b36195473..28b56dcf9e7 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 @@ -822,13 +822,13 @@ xorq (%rax), %rdi # CHECK-NEXT: 2 5 2.00 * * negl (%rax) # CHECK-NEXT: 1 1 0.50 negq %rcx # CHECK-NEXT: 2 5 2.00 * * negq (%r10) -# CHECK-NEXT: 1 1 - nop -# CHECK-NEXT: 1 1 - nopw %di -# CHECK-NEXT: 1 1 - nopw (%rcx) -# CHECK-NEXT: 1 1 - nopl %esi -# CHECK-NEXT: 1 1 - nopl (%r8) -# CHECK-NEXT: 1 1 - nopq %rdx -# CHECK-NEXT: 1 1 - nopq (%r9) +# CHECK-NEXT: 1 1 0.50 nop +# CHECK-NEXT: 1 1 0.50 nopw %di +# CHECK-NEXT: 1 1 0.50 nopw (%rcx) +# CHECK-NEXT: 1 1 0.50 nopl %esi +# CHECK-NEXT: 1 1 0.50 nopl (%r8) +# CHECK-NEXT: 1 1 0.50 nopq %rdx +# CHECK-NEXT: 1 1 0.50 nopq (%r9) # CHECK-NEXT: 1 1 0.50 notb %dil # CHECK-NEXT: 2 5 2.00 * * notb (%r8) # CHECK-NEXT: 1 1 0.50 notw %si diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s index 407330e5d0c..511cab74827 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s @@ -296,7 +296,7 @@ fyl2xp1 # CHECK-NEXT: 1 5 2.00 * fmulp %st(2) # CHECK-NEXT: 1 8 2.00 * * fimuls (%ecx) # CHECK-NEXT: 1 8 2.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 - * fnop +# CHECK-NEXT: 1 1 0.50 * fnop # CHECK-NEXT: 1 100 1.00 * fpatan # CHECK-NEXT: 1 100 1.00 * fprem # CHECK-NEXT: 1 100 1.00 * fprem1 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 8f7a3d78d72..de07d0515a3 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 @@ -747,7 +747,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax) # CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax) # CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 - * clc +# CHECK-NEXT: 1 1 0.25 * clc # CHECK-NEXT: 1 1 0.33 decb %dil # CHECK-NEXT: 3 7 1.00 * * decb (%rax) # CHECK-NEXT: 1 1 0.33 decw %di @@ -822,13 +822,13 @@ xorq (%rax), %rdi # CHECK-NEXT: 3 7 1.00 * * negl (%rax) # CHECK-NEXT: 1 1 0.33 negq %rcx # CHECK-NEXT: 3 7 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 - nop -# CHECK-NEXT: 1 1 - nopw %di -# CHECK-NEXT: 1 1 - nopw (%rcx) -# CHECK-NEXT: 1 1 - nopl %esi -# CHECK-NEXT: 1 1 - nopl (%r8) -# CHECK-NEXT: 1 1 - nopq %rdx -# CHECK-NEXT: 1 1 - nopq (%r9) +# CHECK-NEXT: 1 1 0.25 nop +# CHECK-NEXT: 1 1 0.25 nopw %di +# CHECK-NEXT: 1 1 0.25 nopw (%rcx) +# CHECK-NEXT: 1 1 0.25 nopl %esi +# CHECK-NEXT: 1 1 0.25 nopl (%r8) +# CHECK-NEXT: 1 1 0.25 nopq %rdx +# CHECK-NEXT: 1 1 0.25 nopq (%r9) # CHECK-NEXT: 1 1 0.33 notb %dil # CHECK-NEXT: 3 7 1.00 * * notb (%r8) # CHECK-NEXT: 1 1 0.33 notw %si 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 b9f5f696c19..f2bbd5173bb 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 @@ -747,7 +747,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) # CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) # CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 - * clc +# CHECK-NEXT: 1 1 0.17 * clc # CHECK-NEXT: 1 1 0.25 decb %dil # CHECK-NEXT: 3 7 1.00 * * decb (%rax) # CHECK-NEXT: 1 1 0.25 decw %di 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 d091395a562..d87887cbb1f 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 @@ -747,7 +747,7 @@ xorq (%rax), %rdi # CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) # CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) # CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 - * clc +# CHECK-NEXT: 1 1 0.17 * clc # CHECK-NEXT: 1 1 0.25 decb %dil # CHECK-NEXT: 3 7 1.00 * * decb (%rax) # CHECK-NEXT: 1 1 0.25 decw %di diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s index a1454fb3b83..c215bef14f6 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s @@ -1174,40 +1174,40 @@ vzeroupper # CHECK-NEXT: 1 22 1.00 * vdivsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 15 1.00 vdivss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 22 1.00 * vdivss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vdppd $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vdppd $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vdpps $22, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.33 vextractf128 $1, %ymm0, %xmm2 # CHECK-NEXT: 2 8 0.50 * vextractf128 $1, %ymm0, (%rax) # CHECK-NEXT: 2 2 2.00 vextractps $1, %xmm0, %ecx # CHECK-NEXT: 2 5 2.50 * vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 100 - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vhsubps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 2 0.67 vinsertf128 $1, %xmm0, %ymm1, %ymm2 # CHECK-NEXT: 2 9 0.67 * vinsertf128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vinsertps $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vinsertps $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %xmm2 # CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %ymm2 -# CHECK-NEXT: 1 100 - * * * vldmxcsr (%rax) -# CHECK-NEXT: 1 100 - * * * vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 100 0.25 * * * vldmxcsr (%rax) +# CHECK-NEXT: 1 100 0.25 * * * vmaskmovdqu %xmm0, %xmm1 # CHECK-NEXT: 1 8 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2 # CHECK-NEXT: 2 8 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2 # CHECK-NEXT: 1 4 0.50 * * vmaskmovpd %xmm0, %xmm1, (%rax) @@ -1325,8 +1325,8 @@ vzeroupper # CHECK-NEXT: 1 1 0.25 vmovups %ymm0, %ymm2 # CHECK-NEXT: 1 1 0.50 * vmovups %ymm0, (%rax) # CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 1 100 - vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vmpsadbw $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 3 0.50 vmulpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 0.50 vmulpd %ymm0, %ymm1, %ymm2 @@ -1391,8 +1391,8 @@ vzeroupper # CHECK-NEXT: 1 8 1.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.33 vpblendw $11, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 2 8 0.50 * vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vpclmulqdq $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpclmulqdq $11, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpcmpeqb %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vpcmpeqb (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpcmpeqd %xmm0, %xmm1, %xmm2 @@ -1409,8 +1409,8 @@ vzeroupper # CHECK-NEXT: 1 8 0.50 * vpcmpgtq (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.50 vpermilpd $1, %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * vpermilpd $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 vpermilpd %xmm0, %xmm1, %xmm2 @@ -1435,20 +1435,20 @@ vzeroupper # CHECK-NEXT: 2 5 3.00 * vpextrq $1, %xmm0, (%rax) # CHECK-NEXT: 1 2 2.00 vpextrw $1, %xmm0, %ecx # CHECK-NEXT: 2 5 3.00 * vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 100 - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vphaddw (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vphminposuw %xmm0, %xmm2 # CHECK-NEXT: 1 11 1.00 * vphminposuw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vphsubw (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpinsrb $1, %eax, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vpinsrb $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vpinsrd $1, %eax, %xmm1, %xmm2 @@ -1650,7 +1650,7 @@ vzeroupper # CHECK-NEXT: 1 27 20.00 * vsqrtsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 20 20.00 vsqrtss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 27 20.00 * vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * * * vstmxcsr (%rax) +# CHECK-NEXT: 1 100 0.25 * * * vstmxcsr (%rax) # CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2 @@ -1699,8 +1699,8 @@ vzeroupper # CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vxorps %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * * * vzeroall -# CHECK-NEXT: 1 100 - * * * vzeroupper +# CHECK-NEXT: 1 100 0.25 * * * vzeroall +# CHECK-NEXT: 1 100 0.25 * * * vzeroupper # CHECK: Resources: # CHECK-NEXT: [0] - ZnAGU0 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s index ee85d1ae7b8..a334864e4b9 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s @@ -462,19 +462,19 @@ vpxor (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 100 0.25 vbroadcastss %xmm0, %ymm0 # CHECK-NEXT: 1 2 0.25 vextracti128 $1, %ymm0, %xmm2 # CHECK-NEXT: 1 1 0.50 * vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: 1 100 - * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 1 100 0.25 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 0.25 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 0.25 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 # CHECK-NEXT: 1 2 0.25 vinserti128 $1, %xmm0, %ymm1, %ymm2 # CHECK-NEXT: 1 9 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: 1 100 - vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vmpsadbw $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.25 vpabsb %ymm0, %ymm2 # CHECK-NEXT: 1 8 0.50 * vpabsb (%rax), %ymm2 # CHECK-NEXT: 1 1 0.25 vpabsd %ymm0, %ymm2 @@ -563,38 +563,38 @@ vpxor (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 107 0.50 * vpermps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 2 0.25 vpermq $1, %ymm0, %ymm2 # CHECK-NEXT: 1 9 0.50 * vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 0.25 vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vphsubw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 1 100 - * * vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 1 100 - * * vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 100 0.25 * vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 1 100 0.25 * * vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 1 100 0.25 * * vpmaskmovd %ymm0, %ymm1, (%rax) # CHECK-NEXT: 2 8 1.00 * vpmaskmovq (%rax), %xmm0, %xmm2 # CHECK-NEXT: 2 9 1.50 * vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 1 100 - * * vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 1 100 - * * vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 100 0.25 * * vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 1 100 0.25 * * vpmaskmovq %ymm0, %ymm1, (%rax) # CHECK-NEXT: 1 1 0.25 vpmaxsb %ymm0, %ymm1, %ymm2 # CHECK-NEXT: 1 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 1 0.25 vpmaxsd %ymm0, %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s index bcb6ffc6020..aa9fc5b1132 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s @@ -66,14 +66,14 @@ shrx %rax, (%rbx), %rcx # CHECK-NEXT: 1 8 2.00 * mulxl (%rax), %ebx, %ecx # CHECK-NEXT: 1 3 1.00 mulxq %rax, %rbx, %rcx # CHECK-NEXT: 1 8 1.00 * mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 100 - pdepl %eax, %ebx, %ecx -# CHECK-NEXT: 1 100 - * pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 100 - pdepq %rax, %rbx, %rcx -# CHECK-NEXT: 1 100 - * pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 100 - pextl %eax, %ebx, %ecx -# CHECK-NEXT: 1 100 - * pextl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 100 - pextq %rax, %rbx, %rcx -# CHECK-NEXT: 1 100 - * pextq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 100 0.25 pdepl %eax, %ebx, %ecx +# CHECK-NEXT: 1 100 0.25 * pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 100 0.25 pdepq %rax, %rbx, %rcx +# CHECK-NEXT: 1 100 0.25 * pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 100 0.25 pextl %eax, %ebx, %ecx +# CHECK-NEXT: 1 100 0.25 * pextl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 100 0.25 pextq %rax, %rbx, %rcx +# CHECK-NEXT: 1 100 0.25 * pextq (%rax), %rbx, %rcx # CHECK-NEXT: 1 1 0.25 rorxl $1, %eax, %ecx # CHECK-NEXT: 2 5 0.50 * rorxl $1, (%rax), %ecx # CHECK-NEXT: 1 1 0.25 rorxq $1, %rax, %rcx diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s index f245f246e90..f2700c41ac3 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s @@ -22,14 +22,14 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [6]: HasSideEffects # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: 1 100 - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: 1 100 - * vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: 1 100 - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: 1 100 - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: 1 100 - * vcvtps2ph $0, %ymm0, (%rax) +# CHECK-NEXT: 1 100 0.25 vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: 1 100 0.25 * vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: 1 100 0.25 vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: 1 100 0.25 vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * vcvtps2ph $0, %ymm0, (%rax) # CHECK: Resources: # CHECK-NEXT: [0] - ZnAGU0 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s index f784b7608da..9fa33ebec8c 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s @@ -230,8 +230,8 @@ xorps (%rax), %xmm2 # CHECK-NEXT: 1 22 1.00 * divps (%rax), %xmm2 # CHECK-NEXT: 1 15 1.00 divss %xmm0, %xmm2 # CHECK-NEXT: 1 22 1.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 1 100 - * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 100 - * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 100 0.25 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 100 0.25 * * * maskmovq %mm0, %mm1 # CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 # CHECK-NEXT: 1 10 1.00 * maxps (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 @@ -305,7 +305,7 @@ xorps (%rax), %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtps (%rax), %xmm2 # CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 100 - * * * stmxcsr (%rax) +# CHECK-NEXT: 1 100 0.25 * * * stmxcsr (%rax) # CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 # CHECK-NEXT: 1 10 1.00 * subps (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s index aa5b81b002e..7aff5afe5ea 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s @@ -460,7 +460,7 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: 1 15 1.00 divsd %xmm0, %xmm2 # CHECK-NEXT: 1 22 1.00 * divsd (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 * * * lfence -# CHECK-NEXT: 1 100 - * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 100 0.25 * * * maskmovdqu %xmm0, %xmm1 # CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 # CHECK-NEXT: 1 10 1.00 * maxpd (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s index a2496c3ffd3..cb3ee0b0eca 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s @@ -43,21 +43,21 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: 1 10 1.00 * addsubpd (%rax), %xmm2 # CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 # CHECK-NEXT: 1 10 1.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 1 100 - haddpd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * haddpd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - haddps %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * haddps (%rax), %xmm2 -# CHECK-NEXT: 1 100 - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - hsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 haddps %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * haddps (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * hsubps (%rax), %xmm2 # CHECK-NEXT: 1 8 0.50 * lddqu (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * movddup (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 100 - movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * movsldup (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * movsldup (%rax), %xmm2 # CHECK: Resources: # CHECK-NEXT: [0] - ZnAGU0 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s index ec15eac2d44..64ce0601131 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s @@ -163,17 +163,17 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: 1 8 0.50 * blendvpd %xmm0, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 blendvps %xmm0, %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * dpps $22, (%rax), %xmm2 # CHECK-NEXT: 2 2 2.00 extractps $1, %xmm0, %ecx # CHECK-NEXT: 2 5 2.50 * extractps $1, %xmm0, (%rax) # CHECK-NEXT: 1 1 0.50 insertps $1, %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * insertps $1, (%rax), %xmm2 # CHECK-NEXT: 1 8 0.50 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 1 100 - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * mpsadbw $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 packusdw %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * packusdw (%rax), %xmm2 # CHECK-NEXT: 1 1 1.00 pblendvb %xmm0, %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s index 28f4cc77a5c..e7221f1b407 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s @@ -50,14 +50,14 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: 1 10 1.00 * crc32b (%rax), %rcx # CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx # CHECK-NEXT: 1 10 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 1 100 - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * pcmpistrm $1, (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s index 49b9c023c0f..7f1a8b1c01c 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s @@ -122,30 +122,30 @@ psignw (%rax), %xmm2 # CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %mm2 # CHECK-NEXT: 1 1 0.25 palignr $1, %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phaddd %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phaddd (%rax), %mm2 -# CHECK-NEXT: 1 100 - phaddd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phaddd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phaddsw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phaddsw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phaddw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phaddw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phaddw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phaddw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phsubd %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phsubd (%rax), %mm2 -# CHECK-NEXT: 1 100 - phsubd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phsubd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phsubsw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phsubsw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phsubw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phsubw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phsubw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 phaddd %mm0, %mm2 +# CHECK-NEXT: 1 100 0.25 * phaddd (%rax), %mm2 +# CHECK-NEXT: 1 100 0.25 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 phaddsw %mm0, %mm2 +# CHECK-NEXT: 1 100 0.25 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 1 100 0.25 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 phaddw %mm0, %mm2 +# CHECK-NEXT: 1 100 0.25 * phaddw (%rax), %mm2 +# CHECK-NEXT: 1 100 0.25 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 phsubd %mm0, %mm2 +# CHECK-NEXT: 1 100 0.25 * phsubd (%rax), %mm2 +# CHECK-NEXT: 1 100 0.25 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 phsubsw %mm0, %mm2 +# CHECK-NEXT: 1 100 0.25 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 1 100 0.25 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 1 100 0.25 phsubw %mm0, %mm2 +# CHECK-NEXT: 1 100 0.25 * phsubw (%rax), %mm2 +# CHECK-NEXT: 1 100 0.25 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 0.25 * phsubw (%rax), %xmm2 # CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 # CHECK-NEXT: 1 11 1.00 * pmaddubsw (%rax), %mm2 # CHECK-NEXT: 1 4 1.00 pmaddubsw %xmm0, %xmm2 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 42e626795cc..13ad3a4747a 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 @@ -822,13 +822,13 @@ xorq (%rax), %rdi # CHECK-NEXT: 2 5 0.50 * * negl (%rax) # CHECK-NEXT: 1 1 0.25 negq %rcx # CHECK-NEXT: 2 5 0.50 * * negq (%r10) -# CHECK-NEXT: 1 1 - nop -# CHECK-NEXT: 1 1 - nopw %di -# CHECK-NEXT: 1 1 - nopw (%rcx) -# CHECK-NEXT: 1 1 - nopl %esi -# CHECK-NEXT: 1 1 - nopl (%r8) -# CHECK-NEXT: 1 1 - nopq %rdx -# CHECK-NEXT: 1 1 - nopq (%r9) +# CHECK-NEXT: 1 1 0.25 nop +# CHECK-NEXT: 1 1 0.25 nopw %di +# CHECK-NEXT: 1 1 0.25 nopw (%rcx) +# CHECK-NEXT: 1 1 0.25 nopl %esi +# CHECK-NEXT: 1 1 0.25 nopl (%r8) +# CHECK-NEXT: 1 1 0.25 nopq %rdx +# CHECK-NEXT: 1 1 0.25 nopq (%r9) # CHECK-NEXT: 1 1 0.25 notb %dil # CHECK-NEXT: 2 5 0.50 * * notb (%r8) # CHECK-NEXT: 1 1 0.25 notw %si @@ -869,52 +869,52 @@ xorq (%rax), %rdi # CHECK-NEXT: 2 5 0.50 * orq (%rax), %rdi # CHECK-NEXT: 1 1 0.25 rclb %dil # CHECK-NEXT: 1 1 0.25 rcrb %dil -# CHECK-NEXT: 1 100 - * rclb (%rax) -# CHECK-NEXT: 1 100 - * rcrb (%rax) +# CHECK-NEXT: 1 100 0.25 * rclb (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrb (%rax) # CHECK-NEXT: 1 1 0.25 rclb $7, %dil # CHECK-NEXT: 1 1 0.25 rcrb $7, %dil -# CHECK-NEXT: 1 100 - * rclb $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrb $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rclb $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrb $7, (%rax) # CHECK-NEXT: 1 1 0.25 rclb %cl, %dil # CHECK-NEXT: 1 1 0.25 rcrb %cl, %dil -# CHECK-NEXT: 1 100 - * rclb %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrb %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rclb %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrb %cl, (%rax) # CHECK-NEXT: 1 1 0.25 rclw %di # CHECK-NEXT: 1 1 0.25 rcrw %di -# CHECK-NEXT: 1 100 - * rclw (%rax) -# CHECK-NEXT: 1 100 - * rcrw (%rax) +# CHECK-NEXT: 1 100 0.25 * rclw (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrw (%rax) # CHECK-NEXT: 1 1 0.25 rclw $7, %di # CHECK-NEXT: 1 1 0.25 rcrw $7, %di -# CHECK-NEXT: 1 100 - * rclw $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrw $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rclw $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrw $7, (%rax) # CHECK-NEXT: 1 1 0.25 rclw %cl, %di # CHECK-NEXT: 1 1 0.25 rcrw %cl, %di -# CHECK-NEXT: 1 100 - * rclw %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrw %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rclw %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrw %cl, (%rax) # CHECK-NEXT: 1 1 0.25 rcll %edi # CHECK-NEXT: 1 1 0.25 rcrl %edi -# CHECK-NEXT: 1 100 - * rcll (%rax) -# CHECK-NEXT: 1 100 - * rcrl (%rax) +# CHECK-NEXT: 1 100 0.25 * rcll (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrl (%rax) # CHECK-NEXT: 1 1 0.25 rcll $7, %edi # CHECK-NEXT: 1 1 0.25 rcrl $7, %edi -# CHECK-NEXT: 1 100 - * rcll $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrl $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcll $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrl $7, (%rax) # CHECK-NEXT: 1 1 0.25 rcll %cl, %edi # CHECK-NEXT: 1 1 0.25 rcrl %cl, %edi -# CHECK-NEXT: 1 100 - * rcll %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrl %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcll %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrl %cl, (%rax) # CHECK-NEXT: 1 1 0.25 rclq %rdi # CHECK-NEXT: 1 1 0.25 rcrq %rdi -# CHECK-NEXT: 1 100 - * rclq (%rax) -# CHECK-NEXT: 1 100 - * rcrq (%rax) +# CHECK-NEXT: 1 100 0.25 * rclq (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrq (%rax) # CHECK-NEXT: 1 1 0.25 rclq $7, %rdi # CHECK-NEXT: 1 1 0.25 rcrq $7, %rdi -# CHECK-NEXT: 1 100 - * rclq $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrq $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rclq $7, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrq $7, (%rax) # CHECK-NEXT: 1 1 0.25 rclq %cl, %rdi # CHECK-NEXT: 1 1 0.25 rcrq %cl, %rdi -# CHECK-NEXT: 1 100 - * rclq %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrq %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rclq %cl, (%rax) +# CHECK-NEXT: 1 100 0.25 * rcrq %cl, (%rax) # CHECK-NEXT: 1 1 0.25 rolb %dil # CHECK-NEXT: 1 1 0.25 rorb %dil # CHECK-NEXT: 3 5 1.00 * * rolb (%rax) @@ -1065,26 +1065,26 @@ xorq (%rax), %rdi # CHECK-NEXT: 1 1 0.25 sbbq %rdi, %rdi # CHECK-NEXT: 2 5 0.50 * * sbbq %rdi, (%rax) # CHECK-NEXT: 2 5 0.50 * sbbq (%rax), %rdi -# CHECK-NEXT: 1 100 - shldw %cl, %si, %di -# CHECK-NEXT: 1 100 - shrdw %cl, %si, %di -# CHECK-NEXT: 1 100 - * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 1 100 - * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 100 0.25 shldw %cl, %si, %di +# CHECK-NEXT: 1 100 0.25 shrdw %cl, %si, %di +# CHECK-NEXT: 1 100 0.25 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 1 100 0.25 * * shrdw %cl, %si, (%rax) # CHECK-NEXT: 1 1 0.25 shldw $7, %si, %di # CHECK-NEXT: 1 1 0.25 shrdw $7, %si, %di # CHECK-NEXT: 2 5 0.50 * * shldw $7, %si, (%rax) # CHECK-NEXT: 2 5 0.50 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 1 100 - shldl %cl, %esi, %edi -# CHECK-NEXT: 1 100 - shrdl %cl, %esi, %edi -# CHECK-NEXT: 1 100 - * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 1 100 - * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 100 0.25 shldl %cl, %esi, %edi +# CHECK-NEXT: 1 100 0.25 shrdl %cl, %esi, %edi +# CHECK-NEXT: 1 100 0.25 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 1 100 0.25 * * shrdl %cl, %esi, (%rax) # CHECK-NEXT: 1 1 0.25 shldl $7, %esi, %edi # CHECK-NEXT: 1 1 0.25 shrdl $7, %esi, %edi # CHECK-NEXT: 2 5 0.50 * * shldl $7, %esi, (%rax) # CHECK-NEXT: 2 5 0.50 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 1 100 - shldq %cl, %rsi, %rdi -# CHECK-NEXT: 1 100 - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 1 100 - * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 100 - * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 100 0.25 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 1 100 0.25 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 1 100 0.25 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 100 0.25 * * shrdq %cl, %rsi, (%rax) # CHECK-NEXT: 1 1 0.25 shldq $7, %rsi, %rdi # CHECK-NEXT: 1 1 0.25 shrdq $7, %rsi, %rdi # CHECK-NEXT: 2 5 0.50 * * shldq $7, %rsi, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s index ff22036c940..737c6c78061 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s @@ -206,7 +206,7 @@ fyl2xp1 # CHECK-NEXT: [6]: HasSideEffects # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 - * f2xm1 +# CHECK-NEXT: 1 100 0.25 * f2xm1 # CHECK-NEXT: 1 2 1.00 * fabs # CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) # CHECK-NEXT: 1 3 1.00 * fadd %st(2) @@ -216,18 +216,18 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 * faddp %st(2) # CHECK-NEXT: 1 10 1.00 * * fiadds (%ecx) # CHECK-NEXT: 1 10 1.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 - * fbld (%ecx) -# CHECK-NEXT: 1 100 - * fbstp (%eax) +# CHECK-NEXT: 1 100 0.25 * fbld (%ecx) +# CHECK-NEXT: 1 100 0.25 * fbstp (%eax) # CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 1 100 - * fnclex -# CHECK-NEXT: 1 100 - * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fnclex +# CHECK-NEXT: 1 100 0.25 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 * fcmovu %st(1), %st(0) # CHECK-NEXT: 1 1 1.00 * fcom %st(1) # CHECK-NEXT: 1 1 1.00 * fcom %st(3) # CHECK-NEXT: 1 8 1.00 * fcoms (%ecx) @@ -239,7 +239,7 @@ fyl2xp1 # CHECK-NEXT: 1 1 1.00 * fcompp # CHECK-NEXT: 1 9 0.50 * fcomi %st(3) # CHECK-NEXT: 1 9 0.50 * fcompi %st(3) -# CHECK-NEXT: 1 100 - * fcos +# CHECK-NEXT: 1 100 0.25 * fcos # CHECK-NEXT: 1 11 1.00 * fdecstp # CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) # CHECK-NEXT: 1 15 1.00 * fdiv %st(2) @@ -266,7 +266,7 @@ fyl2xp1 # CHECK-NEXT: 2 11 1.00 * * fildl (%ecx) # CHECK-NEXT: 2 11 1.00 * * fildll (%eax) # CHECK-NEXT: 1 11 1.00 * fincstp -# CHECK-NEXT: 1 100 - * fninit +# CHECK-NEXT: 1 100 0.25 * fninit # CHECK-NEXT: 1 12 0.50 * * fists (%edx) # CHECK-NEXT: 1 12 0.50 * * fistl (%ecx) # CHECK-NEXT: 1 12 0.50 * * fistps (%edx) @@ -279,8 +279,8 @@ fyl2xp1 # CHECK-NEXT: 1 8 0.50 * * flds (%edx) # CHECK-NEXT: 1 8 0.50 * * fldl (%ecx) # CHECK-NEXT: 2 1 0.50 * * fldt (%eax) -# CHECK-NEXT: 1 100 - * * fldcw (%eax) -# CHECK-NEXT: 1 100 - * fldenv (%eax) +# CHECK-NEXT: 1 100 0.25 * * fldcw (%eax) +# CHECK-NEXT: 1 100 0.25 * fldenv (%eax) # CHECK-NEXT: 1 11 1.00 * fld1 # CHECK-NEXT: 1 11 1.00 * fldl2e # CHECK-NEXT: 1 11 1.00 * fldl2t @@ -297,16 +297,16 @@ fyl2xp1 # CHECK-NEXT: 2 10 0.50 * * fimuls (%ecx) # CHECK-NEXT: 2 10 0.50 * * fimull (%eax) # CHECK-NEXT: 1 1 1.00 * fnop -# CHECK-NEXT: 1 100 - * fpatan -# CHECK-NEXT: 1 100 - * fprem -# CHECK-NEXT: 1 100 - * fprem1 -# CHECK-NEXT: 1 100 - * fptan -# CHECK-NEXT: 1 100 - * frndint -# CHECK-NEXT: 1 100 - * frstor (%eax) -# CHECK-NEXT: 1 100 - * fnsave (%eax) -# CHECK-NEXT: 1 100 - * fscale -# CHECK-NEXT: 1 100 - * fsin -# CHECK-NEXT: 1 100 - * fsincos +# CHECK-NEXT: 1 100 0.25 * fpatan +# CHECK-NEXT: 1 100 0.25 * fprem +# CHECK-NEXT: 1 100 0.25 * fprem1 +# CHECK-NEXT: 1 100 0.25 * fptan +# CHECK-NEXT: 1 100 0.25 * frndint +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fscale +# CHECK-NEXT: 1 100 0.25 * fsin +# CHECK-NEXT: 1 100 0.25 * fsincos # CHECK-NEXT: 1 20 20.00 * fsqrt # CHECK-NEXT: 2 5 0.50 * fst %st(0) # CHECK-NEXT: 1 1 0.50 * * fsts (%edx) @@ -315,12 +315,12 @@ fyl2xp1 # CHECK-NEXT: 1 1 0.50 * * fstpl (%edx) # CHECK-NEXT: 1 1 0.50 * * fstpl (%ecx) # CHECK-NEXT: 1 5 0.50 * * fstpt (%eax) -# CHECK-NEXT: 1 100 - * * fnstcw (%eax) -# CHECK-NEXT: 1 100 - * fnstenv (%eax) -# CHECK-NEXT: 1 100 - * fnstsw (%eax) -# CHECK-NEXT: 1 100 - * frstor (%eax) +# CHECK-NEXT: 1 100 0.25 * * fnstcw (%eax) +# CHECK-NEXT: 1 100 0.25 * fnstenv (%eax) +# CHECK-NEXT: 1 100 0.25 * fnstsw (%eax) +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) # CHECK-NEXT: 1 1 1.00 * wait -# CHECK-NEXT: 1 100 - * fnsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) # CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) # CHECK-NEXT: 1 3 1.00 * fsub %st(2) # CHECK-NEXT: 1 10 1.00 * * fsubs (%ecx) @@ -349,11 +349,11 @@ fyl2xp1 # CHECK-NEXT: 1 1 1.00 * fxam # CHECK-NEXT: 1 1 0.25 * fxch %st(1) # CHECK-NEXT: 1 1 0.25 * fxch %st(3) -# CHECK-NEXT: 1 100 - * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 - * * * fxsave (%eax) -# CHECK-NEXT: 1 100 - * fxtract -# CHECK-NEXT: 1 100 - * fyl2x -# CHECK-NEXT: 1 100 - * fyl2xp1 +# CHECK-NEXT: 1 100 0.25 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fxtract +# CHECK-NEXT: 1 100 0.25 * fyl2x +# CHECK-NEXT: 1 100 0.25 * fyl2xp1 # CHECK: Resources: # CHECK-NEXT: [0] - ZnAGU0 |

