From 896557e129c2ca74c8f87ed56e4fc37958eaa130 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sun, 15 May 2022 21:28:20 +0100 Subject: [PATCH] [X86] Adjust fadd costs to match SoG znver1/2 models were incorrectly modelling these on fpupipe 0 instead of 2/3 and znver1 ymm variants also require double pumping. Now matches AMD SoG, Agner and instlatx64 numbers. Thanks to @fabian-r for the report --- llvm/lib/Target/X86/X86ScheduleZnver1.td | 12 +- llvm/lib/Target/X86/X86ScheduleZnver2.td | 12 +- .../llvm-mca/X86/Znver1/resources-avx1.s | 130 +++++++++--------- .../llvm-mca/X86/Znver1/resources-sse1.s | 34 ++--- .../llvm-mca/X86/Znver1/resources-sse2.s | 34 ++--- .../llvm-mca/X86/Znver1/resources-sse3.s | 18 +-- .../tools/llvm-mca/X86/Znver1/resources-x87.s | 98 ++++++------- .../llvm-mca/X86/Znver2/resources-avx1.s | 130 +++++++++--------- .../llvm-mca/X86/Znver2/resources-sse1.s | 34 ++--- .../llvm-mca/X86/Znver2/resources-sse2.s | 34 ++--- .../llvm-mca/X86/Znver2/resources-sse3.s | 18 +-- .../tools/llvm-mca/X86/Znver2/resources-x87.s | 98 ++++++------- .../tools/llvm-mca/X86/fma3-read-after-ld-1.s | 2 +- .../tools/llvm-mca/X86/fma3-read-after-ld-2.s | 2 +- .../X86/variable-blend-read-after-ld-1.s | 4 +- .../X86/variable-blend-read-after-ld-2.s | 4 +- 16 files changed, 332 insertions(+), 332 deletions(-) diff --git a/llvm/lib/Target/X86/X86ScheduleZnver1.td b/llvm/lib/Target/X86/X86ScheduleZnver1.td index 805ba115e0695..c1be7141dfb6c 100644 --- a/llvm/lib/Target/X86/X86ScheduleZnver1.td +++ b/llvm/lib/Target/X86/X86ScheduleZnver1.td @@ -276,13 +276,13 @@ defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteResUnsupported; -defm : ZnWriteResFpuPair; -defm : ZnWriteResFpuPair; -defm : ZnWriteResFpuPair; +defm : ZnWriteResFpuPair; +defm : ZnWriteResFpuPair; +defm : ZnWriteResFpuPair; defm : X86WriteResPairUnsupported; -defm : ZnWriteResFpuPair; -defm : ZnWriteResFpuPair; -defm : ZnWriteResFpuPair; +defm : ZnWriteResFpuPair; +defm : ZnWriteResFpuPair; +defm : ZnWriteResFpuPair; defm : X86WriteResPairUnsupported; defm : ZnWriteResFpuPair; defm : ZnWriteResFpuPair; diff --git a/llvm/lib/Target/X86/X86ScheduleZnver2.td b/llvm/lib/Target/X86/X86ScheduleZnver2.td index 4cf4d0f08a594..0c28830074aaf 100644 --- a/llvm/lib/Target/X86/X86ScheduleZnver2.td +++ b/llvm/lib/Target/X86/X86ScheduleZnver2.td @@ -275,13 +275,13 @@ defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteResUnsupported; -defm : Zn2WriteResFpuPair; -defm : Zn2WriteResFpuPair; -defm : Zn2WriteResFpuPair; +defm : Zn2WriteResFpuPair; +defm : Zn2WriteResFpuPair; +defm : Zn2WriteResFpuPair; defm : X86WriteResPairUnsupported; -defm : Zn2WriteResFpuPair; -defm : Zn2WriteResFpuPair; -defm : Zn2WriteResFpuPair; +defm : Zn2WriteResFpuPair; +defm : Zn2WriteResFpuPair; +defm : Zn2WriteResFpuPair; defm : X86WriteResPairUnsupported; defm : Zn2WriteResFpuPair; defm : Zn2WriteResFpuPair; 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 1f10df4a1cbb6..77e9c01139584 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s @@ -1030,26 +1030,26 @@ vzeroupper # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vaddsubps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 0.50 vaesdec %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 0.50 * vaesdec (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 0.50 vaesdeclast %xmm0, %xmm1, %xmm2 @@ -1671,18 +1671,18 @@ vzeroupper # CHECK-NEXT: 1 20 20.00 vsqrtss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 27 20.00 * vsqrtss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 100 0.25 * U 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 -# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vtestpd %xmm0, %xmm1 # CHECK-NEXT: 1 8 0.50 * vtestpd (%rax), %xmm1 # CHECK-NEXT: 1 1 0.25 vtestpd %ymm0, %ymm1 @@ -1738,30 +1738,30 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: 175.00 175.00 - - - - - 178.58 171.08 176.25 505.08 - +# CHECK-NEXT: 175.00 175.00 - - - - - 146.58 171.08 198.25 527.08 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vaddsubps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesdec %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesdec (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesdeclast %xmm0, %xmm1, %xmm2 @@ -2383,18 +2383,18 @@ vzeroupper # CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - - - - vstmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - vsubss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %xmm0, %xmm1 # CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestpd (%rax), %xmm1 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %ymm0, %ymm1 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 9ab0ec579993b..ea4bafe3332d8 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s @@ -194,10 +194,10 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addss (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andnps %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * andnps (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andps %xmm0, %xmm2 @@ -306,10 +306,10 @@ xorps (%rax), %xmm2 # CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtss (%rax), %xmm2 # CHECK-NEXT: 1 100 0.25 * U 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 -# CHECK-NEXT: 1 10 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subss (%rax), %xmm2 # CHECK-NEXT: 2 3 1.00 ucomiss %xmm0, %xmm1 # CHECK-NEXT: 2 10 1.00 * ucomiss (%rax), %xmm1 # CHECK-NEXT: 1 1 0.50 unpckhps %xmm0, %xmm2 @@ -335,14 +335,14 @@ xorps (%rax), %xmm2 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: 32.50 32.50 - - - - - 33.00 29.50 26.00 108.50 - +# CHECK-NEXT: 32.50 32.50 - - - - - 25.00 29.50 30.00 112.50 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - addps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - addps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - addss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - addss (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andnps %xmm0, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andnps (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andps %xmm0, %xmm2 @@ -451,10 +451,10 @@ xorps (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtss %xmm0, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtss (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - - stmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - subps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - subps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - subss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - subss (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 0.50 0.50 1.00 - - ucomiss %xmm0, %xmm1 # CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 1.00 - - ucomiss (%rax), %xmm1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpckhps %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 09fd7cb7ed724..e5ba24e3a3bcc 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s @@ -407,10 +407,10 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addsd (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andnpd %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * andnpd (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andpd %xmm0, %xmm2 @@ -662,10 +662,10 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtpd (%rax), %xmm2 # CHECK-NEXT: 1 20 20.00 sqrtsd %xmm0, %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subsd (%rax), %xmm2 # CHECK-NEXT: 2 3 1.00 ucomisd %xmm0, %xmm1 # CHECK-NEXT: 2 10 1.00 * ucomisd (%rax), %xmm1 # CHECK-NEXT: 1 1 0.50 unpckhpd %xmm0, %xmm2 @@ -691,14 +691,14 @@ xorpd (%rax), %xmm2 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: 66.50 66.50 - - - - - 64.92 48.42 75.75 153.92 - +# CHECK-NEXT: 66.50 66.50 - - - - - 56.92 48.42 79.75 157.92 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - addpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - addpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - addsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - addsd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andnpd %xmm0, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andnpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andpd %xmm0, %xmm2 @@ -950,10 +950,10 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtsd %xmm0, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - subpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - subpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - subsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - subsd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 0.50 0.50 1.00 - - ucomisd %xmm0, %xmm1 # CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 1.00 - - ucomisd (%rax), %xmm1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpckhpd %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 8e05fcfc9df62..dc81366a94cff 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s @@ -43,10 +43,10 @@ mwait # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %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 3 0.50 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addsubps (%rax), %xmm2 # CHECK-NEXT: 1 7 0.25 haddpd %xmm0, %xmm2 # CHECK-NEXT: 1 14 0.50 * haddpd (%rax), %xmm2 # CHECK-NEXT: 1 7 0.25 haddps %xmm0, %xmm2 @@ -81,14 +81,14 @@ mwait # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: 4.50 4.50 - - - - - 4.00 2.00 2.00 - - +# CHECK-NEXT: 4.50 4.50 - - - - - - 2.00 4.00 2.00 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - addsubps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - addsubps (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - - haddpd %xmm0, %xmm2 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - haddpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - - haddps %xmm0, %xmm2 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 0f7807eb3e79d..d6781fc1d78fe 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s @@ -208,14 +208,14 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.25 U f2xm1 # CHECK-NEXT: 1 2 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st -# CHECK-NEXT: 1 10 1.00 * U fadds (%ecx) -# CHECK-NEXT: 1 10 1.00 * U faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2) -# CHECK-NEXT: 1 10 1.00 * U fiadds (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fiaddl (%ecx) +# CHECK-NEXT: 1 3 0.50 U fadd %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fadd %st(2), %st +# CHECK-NEXT: 1 10 0.50 * U fadds (%ecx) +# CHECK-NEXT: 1 10 0.50 * U faddl (%ecx) +# CHECK-NEXT: 1 3 0.50 U faddp %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U faddp %st, %st(2) +# CHECK-NEXT: 1 10 0.50 * U fiadds (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fiaddl (%ecx) # CHECK-NEXT: 1 100 0.25 * U fbld (%ecx) # CHECK-NEXT: 1 100 0.25 * U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs @@ -321,22 +321,22 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 * U frstor (%eax) # CHECK-NEXT: 1 1 1.00 U wait # CHECK-NEXT: 1 100 0.25 * U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st -# CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2) -# CHECK-NEXT: 1 10 1.00 * U fisubs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st -# CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2) -# CHECK-NEXT: 1 10 1.00 * U fisubrs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fisubrl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsub %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsub %st(2), %st +# CHECK-NEXT: 1 10 0.50 * U fsubs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fsubl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsubp %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsubp %st, %st(2) +# CHECK-NEXT: 1 10 0.50 * U fisubs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fisubl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsubr %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsubr %st(2), %st +# CHECK-NEXT: 1 10 0.50 * U fsubrs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fsubrl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsubrp %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsubrp %st, %st(2) +# CHECK-NEXT: 1 10 0.50 * U fisubrs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fisubrl (%eax) # CHECK-NEXT: 1 1 1.00 U ftst # CHECK-NEXT: 1 1 1.00 U fucom %st(1) # CHECK-NEXT: 1 1 1.00 U fucom %st(3) @@ -371,20 +371,20 @@ fyl2xp1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: 32.50 32.50 - - - - - 54.50 6.00 8.00 64.50 - +# CHECK-NEXT: 32.50 32.50 - - - - - 30.50 6.00 20.00 76.50 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: # CHECK-NEXT: - - - - - - - - - - - - f2xm1 # CHECK-NEXT: - - - - - - - - - - 1.00 - fabs -# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st, %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(2), %st -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fadds (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - faddl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st, %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st, %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiadds (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiaddl (%ecx) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fadd %st, %st(1) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fadd %st(2), %st +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fadds (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - faddl (%ecx) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - faddp %st, %st(1) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - faddp %st, %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fiadds (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fiaddl (%ecx) # CHECK-NEXT: - - - - - - - - - - - - fbld (%ecx) # CHECK-NEXT: - - - - - - - - - - - - fbstp (%eax) # CHECK-NEXT: - - - - - - - - - - 1.00 - fchs @@ -490,22 +490,22 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - - - frstor (%eax) # CHECK-NEXT: - - - - - - - 1.00 - - - - wait # CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st, %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(2), %st -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st, %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st, %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st, %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(2), %st -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st, %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st, %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrl (%eax) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsub %st, %st(1) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsub %st(2), %st +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubl (%eax) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubp %st, %st(1) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubp %st, %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubl (%eax) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubr %st, %st(1) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubr %st(2), %st +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubrs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubrl (%eax) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubrp %st, %st(1) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubrp %st, %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubrs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubrl (%eax) # CHECK-NEXT: - - - - - - - 1.00 - - - - ftst # CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(3) diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s index 16003db96e666..d2565a2d967e4 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s @@ -1030,26 +1030,26 @@ vzeroupper # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 0.50 * vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 0.50 * vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 0.50 * vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 0.50 * vaddsubps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 0.50 vaesdec %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 0.50 * vaesdec (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 0.50 vaesdeclast %xmm0, %xmm1, %xmm2 @@ -1671,18 +1671,18 @@ vzeroupper # CHECK-NEXT: 1 20 20.00 vsqrtss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 27 20.00 * vsqrtss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 100 0.25 * U 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 -# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 0.50 * vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 0.50 * vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 0.50 * vsubss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 1 0.25 vtestpd %xmm0, %xmm1 # CHECK-NEXT: 1 8 0.33 * vtestpd (%rax), %xmm1 # CHECK-NEXT: 1 1 0.25 vtestpd %ymm0, %ymm1 @@ -1739,30 +1739,30 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] -# CHECK-NEXT: 117.00 117.00 117.00 0.25 0.25 0.25 0.25 - 169.92 165.42 178.25 455.42 - +# CHECK-NEXT: 117.00 117.00 117.00 0.25 0.25 0.25 0.25 - 137.92 165.42 194.25 471.42 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions: -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vaddsubps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vaesdec %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vaesdec (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vaesdeclast %xmm0, %xmm1, %xmm2 @@ -2384,18 +2384,18 @@ vzeroupper # CHECK-NEXT: - - - - - - - - - - - 20.00 - vsqrtss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - 20.00 - vsqrtss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - - - - - vstmxcsr (%rax) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - vsubss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %xmm0, %xmm1 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vtestpd (%rax), %xmm1 # CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %ymm0, %ymm1 diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s index 5228dc7e1084a..34d2df5ccca36 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s @@ -194,10 +194,10 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addss (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andnps %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.33 * andnps (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andps %xmm0, %xmm2 @@ -306,10 +306,10 @@ xorps (%rax), %xmm2 # CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtss (%rax), %xmm2 # CHECK-NEXT: 1 100 0.25 * U 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 -# CHECK-NEXT: 1 10 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subss (%rax), %xmm2 # CHECK-NEXT: 2 3 1.00 ucomiss %xmm0, %xmm1 # CHECK-NEXT: 2 10 1.00 * ucomiss (%rax), %xmm1 # CHECK-NEXT: 1 1 0.50 unpckhps %xmm0, %xmm2 @@ -336,14 +336,14 @@ xorps (%rax), %xmm2 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] -# CHECK-NEXT: 21.67 21.67 21.67 - - - - - 33.00 29.50 26.00 108.50 - +# CHECK-NEXT: 21.67 21.67 21.67 - - - - - 25.00 29.50 30.00 112.50 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions: -# CHECK-NEXT: - - - - - - - - 1.00 - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - addps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - addss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - addps %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - addps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - addss %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - addss (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - andnps %xmm0, %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - andnps (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - andps %xmm0, %xmm2 @@ -452,10 +452,10 @@ xorps (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - 20.00 - sqrtss %xmm0, %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - 20.00 - sqrtss (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - - - stmxcsr (%rax) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - subps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - subss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - subps %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - subps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - subss %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - subss (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - - ucomiss %xmm0, %xmm1 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 1.00 - - ucomiss (%rax), %xmm1 # CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - unpckhps %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s index defe7e6c155c5..60eea89f7f538 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s @@ -407,10 +407,10 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addsd (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andnpd %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.33 * andnpd (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andpd %xmm0, %xmm2 @@ -662,10 +662,10 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtpd (%rax), %xmm2 # CHECK-NEXT: 1 20 20.00 sqrtsd %xmm0, %xmm2 # CHECK-NEXT: 1 27 20.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 subsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * subsd (%rax), %xmm2 # CHECK-NEXT: 2 3 1.00 ucomisd %xmm0, %xmm1 # CHECK-NEXT: 2 10 1.00 * ucomisd (%rax), %xmm1 # CHECK-NEXT: 1 1 0.50 unpckhpd %xmm0, %xmm2 @@ -692,14 +692,14 @@ xorpd (%rax), %xmm2 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] -# CHECK-NEXT: 44.33 44.33 44.33 - - - - - 63.92 49.92 77.25 152.92 - +# CHECK-NEXT: 44.33 44.33 44.33 - - - - - 55.92 49.92 81.25 156.92 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions: -# CHECK-NEXT: - - - - - - - - 1.00 - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - addpd %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - addpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - addsd %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - addsd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - andnpd %xmm0, %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - andnpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - andpd %xmm0, %xmm2 @@ -951,10 +951,10 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - 20.00 - sqrtpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - 20.00 - sqrtsd %xmm0, %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - 20.00 - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - subsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - subpd %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - subpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - subsd %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - subsd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - - ucomisd %xmm0, %xmm1 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 1.00 - - ucomisd (%rax), %xmm1 # CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - unpckhpd %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse3.s index 4c250d4b3a49e..fa1b2387aabfd 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse3.s @@ -43,10 +43,10 @@ mwait # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %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 3 0.50 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 0.50 * addsubps (%rax), %xmm2 # CHECK-NEXT: 1 7 0.25 haddpd %xmm0, %xmm2 # CHECK-NEXT: 1 14 0.33 * haddpd (%rax), %xmm2 # CHECK-NEXT: 1 7 0.25 haddps %xmm0, %xmm2 @@ -82,14 +82,14 @@ mwait # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] -# CHECK-NEXT: 3.00 3.00 3.00 - - - - - 4.00 2.00 2.00 - - +# CHECK-NEXT: 3.00 3.00 3.00 - - - - - - 2.00 4.00 2.00 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions: -# CHECK-NEXT: - - - - - - - - 1.00 - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - addsubps %xmm0, %xmm2 +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - addsubps (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - - - haddpd %xmm0, %xmm2 # CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - haddpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - - - - - haddps %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s index 55e646c79275a..d9f7e01e074fe 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s @@ -208,14 +208,14 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.25 U f2xm1 # CHECK-NEXT: 1 2 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st -# CHECK-NEXT: 1 10 1.00 * U fadds (%ecx) -# CHECK-NEXT: 1 10 1.00 * U faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2) -# CHECK-NEXT: 1 10 1.00 * U fiadds (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fiaddl (%ecx) +# CHECK-NEXT: 1 3 0.50 U fadd %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fadd %st(2), %st +# CHECK-NEXT: 1 10 0.50 * U fadds (%ecx) +# CHECK-NEXT: 1 10 0.50 * U faddl (%ecx) +# CHECK-NEXT: 1 3 0.50 U faddp %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U faddp %st, %st(2) +# CHECK-NEXT: 1 10 0.50 * U fiadds (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fiaddl (%ecx) # CHECK-NEXT: 1 100 0.25 * U fbld (%ecx) # CHECK-NEXT: 1 100 0.25 * U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs @@ -321,22 +321,22 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 * U frstor (%eax) # CHECK-NEXT: 1 1 1.00 U wait # CHECK-NEXT: 1 100 0.25 * U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st -# CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2) -# CHECK-NEXT: 1 10 1.00 * U fisubs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st -# CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1) -# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2) -# CHECK-NEXT: 1 10 1.00 * U fisubrs (%ecx) -# CHECK-NEXT: 1 10 1.00 * U fisubrl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsub %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsub %st(2), %st +# CHECK-NEXT: 1 10 0.50 * U fsubs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fsubl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsubp %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsubp %st, %st(2) +# CHECK-NEXT: 1 10 0.50 * U fisubs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fisubl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsubr %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsubr %st(2), %st +# CHECK-NEXT: 1 10 0.50 * U fsubrs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fsubrl (%eax) +# CHECK-NEXT: 1 3 0.50 U fsubrp %st, %st(1) +# CHECK-NEXT: 1 3 0.50 U fsubrp %st, %st(2) +# CHECK-NEXT: 1 10 0.50 * U fisubrs (%ecx) +# CHECK-NEXT: 1 10 0.50 * U fisubrl (%eax) # CHECK-NEXT: 1 1 1.00 U ftst # CHECK-NEXT: 1 1 1.00 U fucom %st(1) # CHECK-NEXT: 1 1 1.00 U fucom %st(3) @@ -372,20 +372,20 @@ fyl2xp1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] -# CHECK-NEXT: 21.67 21.67 21.67 - - - - - 54.50 6.00 8.00 64.50 - +# CHECK-NEXT: 21.67 21.67 21.67 - - - - - 30.50 6.00 20.00 76.50 - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions: # CHECK-NEXT: - - - - - - - - - - - - - f2xm1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fabs -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fadd %st, %st(1) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fadd %st(2), %st -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fadds (%ecx) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - faddl (%ecx) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - faddp %st, %st(1) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - faddp %st, %st(2) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fiadds (%ecx) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fiaddl (%ecx) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fadd %st, %st(1) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fadd %st(2), %st +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fadds (%ecx) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - faddl (%ecx) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - faddp %st, %st(1) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - faddp %st, %st(2) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fiadds (%ecx) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fiaddl (%ecx) # CHECK-NEXT: - - - - - - - - - - - - - fbld (%ecx) # CHECK-NEXT: - - - - - - - - - - - - - fbstp (%eax) # CHECK-NEXT: - - - - - - - - - - - 1.00 - fchs @@ -491,22 +491,22 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - - - - frstor (%eax) # CHECK-NEXT: - - - - - - - - 1.00 - - - - wait # CHECK-NEXT: - - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsub %st, %st(1) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsub %st(2), %st -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fsubs (%ecx) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fsubl (%eax) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsubp %st, %st(1) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsubp %st, %st(2) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fisubs (%ecx) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsubr %st, %st(1) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsubr %st(2), %st -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fsubrs (%ecx) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fsubrl (%eax) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsubrp %st, %st(1) -# CHECK-NEXT: - - - - - - - - 1.00 - - - - fsubrp %st, %st(2) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fisubrs (%ecx) -# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - fisubrl (%eax) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsub %st, %st(1) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsub %st(2), %st +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fsubs (%ecx) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fsubl (%eax) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsubp %st, %st(1) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsubp %st, %st(2) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fisubs (%ecx) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fisubl (%eax) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsubr %st, %st(1) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsubr %st(2), %st +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fsubrs (%ecx) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fsubrl (%eax) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsubrp %st, %st(1) +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fsubrp %st, %st(2) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fisubrs (%ecx) +# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 0.50 0.50 - fisubrl (%eax) # CHECK-NEXT: - - - - - - - - 1.00 - - - - ftst # CHECK-NEXT: - - - - - - - - 1.00 - - - - fucom %st(1) # CHECK-NEXT: - - - - - - - - 1.00 - - - - fucom %st(3) diff --git a/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s b/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s index e0aeca6ecb7a3..09a47e7747e44 100644 --- a/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s +++ b/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s @@ -47,7 +47,7 @@ vfmadd213ps (%rdi), %xmm1, %xmm2 # ZNVER1: Dispatch Width: 4 # ZNVER1-NEXT: uOps Per Cycle: 0.13 # ZNVER1-NEXT: IPC: 0.13 -# ZNVER1-NEXT: Block RThroughput: 1.0 +# ZNVER1-NEXT: Block RThroughput: 0.5 # ALL: Timeline view: diff --git a/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s b/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s index 55c217c17493c..cf1d6847384df 100644 --- a/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s +++ b/llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s @@ -47,7 +47,7 @@ vfmadd213ps (%rdi), %xmm1, %xmm2 # ZNVER1: Dispatch Width: 4 # ZNVER1-NEXT: uOps Per Cycle: 0.13 # ZNVER1-NEXT: IPC: 0.13 -# ZNVER1-NEXT: Block RThroughput: 1.0 +# ZNVER1-NEXT: Block RThroughput: 0.5 # ALL: Timeline view: diff --git a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s index 596c758c3ca36..bcf9e155943dc 100644 --- a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s +++ b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s @@ -90,12 +90,12 @@ vblendvps %xmm1, (%rdi), %xmm2, %xmm3 # ZNVER1: Dispatch Width: 4 # ZNVER1-NEXT: uOps Per Cycle: 0.18 # ZNVER1-NEXT: IPC: 0.18 -# ZNVER1-NEXT: Block RThroughput: 1.0 +# ZNVER1-NEXT: Block RThroughput: 0.5 # ZNVER2: Dispatch Width: 4 # ZNVER2-NEXT: uOps Per Cycle: 0.18 # ZNVER2-NEXT: IPC: 0.18 -# ZNVER2-NEXT: Block RThroughput: 1.0 +# ZNVER2-NEXT: Block RThroughput: 0.5 # BDVER2: Timeline view: # BDVER2-NEXT: Index 0123456789 diff --git a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s index dbbd54b6970df..56e5693c1fdd7 100644 --- a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s +++ b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s @@ -90,12 +90,12 @@ vblendvps %xmm1, (%rdi), %xmm2, %xmm3 # ZNVER1: Dispatch Width: 4 # ZNVER1-NEXT: uOps Per Cycle: 0.18 # ZNVER1-NEXT: IPC: 0.18 -# ZNVER1-NEXT: Block RThroughput: 1.0 +# ZNVER1-NEXT: Block RThroughput: 0.5 # ZNVER2: Dispatch Width: 4 # ZNVER2-NEXT: uOps Per Cycle: 0.18 # ZNVER2-NEXT: IPC: 0.18 -# ZNVER2-NEXT: Block RThroughput: 1.0 +# ZNVER2-NEXT: Block RThroughput: 0.5 # BDVER2: Timeline view: # BDVER2-NEXT: Index 0123456789