From 1e0ee9c9e0e8bc39bfc56f3a6d96562e88593a8b Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sat, 15 Jul 2023 15:46:16 +0100 Subject: [PATCH] [X86] Fix znver4 fcmp/fma throughputs Reported by SeeSpring - it looks like when the numbers were copied from the znver3 model, the resources were altered when it should have just been the latency. Now matches uops.info / Agner / AMD SoG Fixes #63877 --- llvm/lib/Target/X86/X86ScheduleZnver4.td | 18 +- .../tools/llvm-mca/X86/Znver4/resources-avx1.s | 70 +-- .../tools/llvm-mca/X86/Znver4/resources-avx512.s | 170 +++--- .../tools/llvm-mca/X86/Znver4/resources-avx512dq.s | 50 +- .../llvm-mca/X86/Znver4/resources-avx512dqvl.s | 74 +-- .../tools/llvm-mca/X86/Znver4/resources-avx512vl.s | 254 ++++----- .../test/tools/llvm-mca/X86/Znver4/resources-fma.s | 578 ++++++++++----------- .../tools/llvm-mca/X86/Znver4/resources-sse1.s | 10 +- .../tools/llvm-mca/X86/Znver4/resources-sse2.s | 10 +- 9 files changed, 617 insertions(+), 617 deletions(-) diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td index c3f0899..269d773 100644 --- a/llvm/lib/Target/X86/X86ScheduleZnver4.td +++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td @@ -908,13 +908,13 @@ defm : Zn4WriteResXMMPair; // Floating p defm : Zn4WriteResYMMPair; // Floating point double add/sub (YMM). defm : Zn4WriteResZMMPair; // Floating point double add/sub (ZMM). defm : Zn4WriteResXMMPair; // Floating point compare. -defm : Zn4WriteResXMMPair; // Floating point compare (XMM). -defm : Zn4WriteResYMMPair; // Floating point compare (YMM). -defm : Zn4WriteResZMMPair; // Floating point compare (ZMM). +defm : Zn4WriteResXMMPair; // Floating point compare (XMM). +defm : Zn4WriteResYMMPair; // Floating point compare (YMM). +defm : Zn4WriteResZMMPair; // Floating point compare (ZMM). defm : Zn4WriteResXMMPair; // Floating point double compare. -defm : Zn4WriteResXMMPair; // Floating point double compare (XMM). -defm : Zn4WriteResYMMPair; // Floating point double compare (YMM). -defm : Zn4WriteResZMMPair; // Floating point double compare (ZMM). +defm : Zn4WriteResXMMPair; // Floating point double compare (XMM). +defm : Zn4WriteResYMMPair; // Floating point double compare (YMM). +defm : Zn4WriteResZMMPair; // Floating point double compare (ZMM). defm : Zn4WriteResXMMPair; // FIXME: latency not from llvm-exegesis // Floating point compare to flags (X87). defm : Zn4WriteResXMMPair; // FIXME: latency not from llvm-exegesis // Floating point compare to flags (SSE). defm : Zn4WriteResXMMPair; // Floating point multiplication. @@ -951,9 +951,9 @@ defm : Zn4WriteResXMMPair; // Floating poi defm : Zn4WriteResYMMPair; // Floating point reciprocal square root estimate (YMM). defm : Zn4WriteResZMMPair; // Floating point reciprocal square root estimate (ZMM). defm : Zn4WriteResXMMPair; // Fused Multiply Add. -defm : Zn4WriteResXMMPair; // Fused Multiply Add (XMM). -defm : Zn4WriteResYMMPair; // Fused Multiply Add (YMM). -defm : Zn4WriteResZMMPair; // Fused Multiply Add (ZMM). +defm : Zn4WriteResXMMPair; // Fused Multiply Add (XMM). +defm : Zn4WriteResYMMPair; // Fused Multiply Add (YMM). +defm : Zn4WriteResZMMPair; // Fused Multiply Add (ZMM). defm : Zn4WriteResXMMPair; // Floating point double dot product. defm : Zn4WriteResXMMPair; // Floating point single dot product. defm : Zn4WriteResYMMPair; // Floating point single dot product (YMM). diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s index ab3d241..5a5cb30 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s @@ -1099,13 +1099,13 @@ vzeroupper # CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %xmm2 # CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %ymm2 # CHECK-NEXT: 1 2 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vcmpeqpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vcmpeqpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 0.50 vcmpeqpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 2 1.00 vcmpeqps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vcmpeqps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vcmpeqps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 0.50 vcmpeqps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 2 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vcmpeqsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 2 1.00 vcmpeqss %xmm0, %xmm1, %xmm2 @@ -1228,26 +1228,26 @@ vzeroupper # CHECK-NEXT: 1 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2 # CHECK-NEXT: 18 1 6.00 * * vmaskmovps %xmm0, %xmm1, (%rax) # CHECK-NEXT: 42 1 12.00 * * vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 1 0.50 vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.50 vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 0.50 vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.50 vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 0.50 vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 2 1.00 vmaxsd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vmaxsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 2 1.00 vmaxss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 9 1.00 * vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.50 vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 0.50 vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.50 vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 0.50 vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 2 1.00 vminsd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 8 0.50 * vminsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 2 1.00 vminss %xmm0, %xmm1, %xmm2 @@ -1749,7 +1749,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] -# CHECK-NEXT: 1.33 1.33 1.33 16.50 16.50 16.50 16.50 - 211.25 420.08 288.58 158.08 208.50 208.50 65.00 119.67 119.67 119.67 107.00 107.00 107.00 19.00 19.00 +# CHECK-NEXT: 1.33 1.33 1.33 16.50 16.50 16.50 16.50 - 205.25 414.08 288.58 158.08 208.50 208.50 65.00 119.67 119.67 119.67 107.00 107.00 107.00 19.00 19.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions: @@ -1823,12 +1823,12 @@ vzeroupper # CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2 @@ -1953,24 +1953,24 @@ vzeroupper # CHECK-NEXT: - - - - - - - - - - - - 6.00 6.00 12.00 0.33 0.33 0.33 - - - 0.50 0.50 vmaskmovps %ymm0, %ymm1, (%rax) # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxsd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminsd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminsd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminss %xmm0, %xmm1, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s index ea1b1da..4fb8964 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s @@ -1084,18 +1084,18 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: 3 9 1.00 * vbroadcastss (%rax), %zmm19 {%k1} # CHECK-NEXT: 1 2 1.00 vbroadcastss %xmm16, %zmm19 {%k1} {z} # CHECK-NEXT: 3 9 1.00 * vbroadcastss (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: 1 2 2.00 vcmpeqpd %zmm0, %zmm1, %k2 -# CHECK-NEXT: 1 9 2.00 * vcmpeqpd (%rax), %zmm1, %k2 -# CHECK-NEXT: 1 9 2.00 * vcmpeqpd (%rax){1to8}, %zmm1, %k2 -# CHECK-NEXT: 1 2 2.00 vcmpeqpd %zmm0, %zmm1, %k2 {%k3} -# CHECK-NEXT: 1 9 2.00 * vcmpeqpd (%rax), %zmm1, %k2 {%k3} -# CHECK-NEXT: 1 9 2.00 * vcmpeqpd (%rax){1to8}, %zmm1, %k2 {%k3} -# CHECK-NEXT: 1 2 2.00 vcmpeqps %zmm0, %zmm1, %k2 -# CHECK-NEXT: 1 9 2.00 * vcmpeqps (%rax), %zmm1, %k2 -# CHECK-NEXT: 1 9 2.00 * vcmpeqps (%rax){1to16}, %zmm1, %k2 -# CHECK-NEXT: 1 2 2.00 vcmpeqps %zmm0, %zmm1, %k2 {%k3} -# CHECK-NEXT: 1 9 2.00 * vcmpeqps (%rax), %zmm1, %k2 {%k3} -# CHECK-NEXT: 1 9 2.00 * vcmpeqps (%rax){1to16}, %zmm1, %k2 {%k3} +# CHECK-NEXT: 1 2 1.00 vcmpeqpd %zmm0, %zmm1, %k2 +# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax), %zmm1, %k2 +# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax){1to8}, %zmm1, %k2 +# CHECK-NEXT: 1 2 1.00 vcmpeqpd %zmm0, %zmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax), %zmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax){1to8}, %zmm1, %k2 {%k3} +# CHECK-NEXT: 1 2 1.00 vcmpeqps %zmm0, %zmm1, %k2 +# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax), %zmm1, %k2 +# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax){1to16}, %zmm1, %k2 +# CHECK-NEXT: 1 2 1.00 vcmpeqps %zmm0, %zmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax), %zmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax){1to16}, %zmm1, %k2 {%k3} # CHECK-NEXT: 1 2 1.00 vcmpeqsd %xmm0, %xmm1, %k2 # CHECK-NEXT: 1 9 1.00 * vcmpeqsd (%rax), %xmm1, %k2 # CHECK-NEXT: 1 2 1.00 vcmpeqsd %xmm0, %xmm1, %k2 {%k3} @@ -1279,41 +1279,41 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: 1 5 0.33 * vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1} # CHECK-NEXT: 1 5 0.33 * vgatherqps (%rax,%zmm1,2), %ymm2 {%k1} # CHECK-NEXT: 1 2 1.00 vmaxpd %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vmaxpd (%rax), %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 # CHECK-NEXT: 1 2 1.00 vmaxpd %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vmaxpd (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} # CHECK-NEXT: 1 2 1.00 vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 2 2.00 vmaxps %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vmaxps (%rax), %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 -# CHECK-NEXT: 1 2 2.00 vmaxps %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vmaxps (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 2 2.00 vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vmaxps (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 2 1.00 vmaxps %zmm16, %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax), %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 +# CHECK-NEXT: 1 2 1.00 vmaxps %zmm16, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 2 1.00 vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} # CHECK-NEXT: 1 2 1.00 vminpd %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vminpd (%rax), %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vminpd (%rax), %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 # CHECK-NEXT: 1 2 1.00 vminpd %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vminpd (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vminpd (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} # CHECK-NEXT: 1 2 1.00 vminpd %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vminpd (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 2 2.00 vminps %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vminps (%rax), %zmm17, %zmm19 -# CHECK-NEXT: 1 9 2.00 * vminps (%rax){1to16}, %zmm17, %zmm19 -# CHECK-NEXT: 1 2 2.00 vminps %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vminps (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 9 2.00 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: 1 2 2.00 vminps %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vminps (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: 1 9 2.00 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vminpd (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 2 1.00 vminps %zmm16, %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vminps (%rax), %zmm17, %zmm19 +# CHECK-NEXT: 1 9 1.00 * vminps (%rax){1to16}, %zmm17, %zmm19 +# CHECK-NEXT: 1 2 1.00 vminps %zmm16, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vminps (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 9 1.00 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: 1 2 1.00 vminps %zmm16, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vminps (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: 1 9 1.00 * vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} # CHECK-NEXT: 1 0 0.17 vmovapd %zmm16, %zmm19 # CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %zmm19 # CHECK-NEXT: 1 1 1.00 * vmovapd %zmm16, (%rax) @@ -1928,7 +1928,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] -# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 209.00 1048.50 618.00 352.50 277.50 277.50 16.00 187.67 187.67 187.67 182.33 182.33 182.33 8.00 8.00 +# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 167.00 1006.50 618.00 352.50 277.50 277.50 16.00 187.67 187.67 187.67 182.33 182.33 182.33 8.00 8.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions: @@ -2001,18 +2001,18 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %zmm19 {%k1} # CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vbroadcastss %xmm16, %zmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vbroadcastss (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %zmm1, %k2 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to8}, %zmm1, %k2 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %zmm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to8}, %zmm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %zmm1, %k2 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to16}, %zmm1, %k2 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %zmm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to16}, %zmm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %zmm1, %k2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to8}, %zmm1, %k2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %zmm0, %zmm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %zmm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to8}, %zmm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %zmm1, %k2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to16}, %zmm1, %k2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %zmm0, %zmm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %zmm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to16}, %zmm1, %k2 {%k3} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %k2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqsd (%rax), %xmm1, %k2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqsd %xmm0, %xmm1, %k2 {%k3} @@ -2196,41 +2196,41 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1} # CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqps (%rax,%zmm1,2), %ymm2 {%k1} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %zmm16, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %zmm16, %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %zmm17, %zmm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %zmm16, %zmm19 # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %zmm19 # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %zmm16, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s index 6eee1e4..4740080 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dq.s @@ -673,18 +673,18 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1} # CHECK-NEXT: 1 1 1.00 * vextracti64x2 $1, %zmm16, (%rax) {%k1} # CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 2 2.00 vfpclasspd $171, %zmm16, %k1 -# CHECK-NEXT: 1 9 2.00 * vfpclasspdz $171, (%rax), %k1 -# CHECK-NEXT: 1 9 2.00 * vfpclasspd $171, (%rax){1to8}, %k1 -# CHECK-NEXT: 1 2 2.00 vfpclasspd $171, %zmm16, %k1 {%k2} -# CHECK-NEXT: 1 9 2.00 * vfpclasspdz $171, (%rax), %k1 {%k2} -# CHECK-NEXT: 1 9 2.00 * vfpclasspd $171, (%rax){1to8}, %k1 {%k2} -# CHECK-NEXT: 1 2 2.00 vfpclassps $171, %zmm16, %k1 -# CHECK-NEXT: 1 9 2.00 * vfpclasspsz $171, (%rax), %k1 -# CHECK-NEXT: 1 9 2.00 * vfpclassps $171, (%rax){1to16}, %k1 -# CHECK-NEXT: 1 2 2.00 vfpclassps $171, %zmm16, %k1 {%k2} -# CHECK-NEXT: 1 9 2.00 * vfpclasspsz $171, (%rax), %k1 {%k2} -# CHECK-NEXT: 1 9 2.00 * vfpclassps $171, (%rax){1to16}, %k1 {%k2} +# CHECK-NEXT: 1 2 1.00 vfpclasspd $171, %zmm16, %k1 +# CHECK-NEXT: 1 9 1.00 * vfpclasspdz $171, (%rax), %k1 +# CHECK-NEXT: 1 9 1.00 * vfpclasspd $171, (%rax){1to8}, %k1 +# CHECK-NEXT: 1 2 1.00 vfpclasspd $171, %zmm16, %k1 {%k2} +# CHECK-NEXT: 1 9 1.00 * vfpclasspdz $171, (%rax), %k1 {%k2} +# CHECK-NEXT: 1 9 1.00 * vfpclasspd $171, (%rax){1to8}, %k1 {%k2} +# CHECK-NEXT: 1 2 1.00 vfpclassps $171, %zmm16, %k1 +# CHECK-NEXT: 1 9 1.00 * vfpclasspsz $171, (%rax), %k1 +# CHECK-NEXT: 1 9 1.00 * vfpclassps $171, (%rax){1to16}, %k1 +# CHECK-NEXT: 1 2 1.00 vfpclassps $171, %zmm16, %k1 {%k2} +# CHECK-NEXT: 1 9 1.00 * vfpclasspsz $171, (%rax), %k1 {%k2} +# CHECK-NEXT: 1 9 1.00 * vfpclassps $171, (%rax){1to16}, %k1 {%k2} # CHECK-NEXT: 1 2 1.00 vfpclasssd $171, %xmm16, %k1 # CHECK-NEXT: 1 9 1.00 * vfpclasssd $171, (%rax), %k1 # CHECK-NEXT: 1 2 1.00 vfpclasssd $171, %xmm16, %k1 {%k2} @@ -883,7 +883,7 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] -# CHECK-NEXT: 0.33 0.33 0.33 2.00 2.00 2.00 2.00 - 98.00 147.00 313.50 312.50 113.50 113.50 10.00 71.33 71.33 71.33 68.00 68.00 68.00 5.00 5.00 +# CHECK-NEXT: 0.33 0.33 0.33 2.00 2.00 2.00 2.00 - 86.00 135.00 313.50 312.50 113.50 113.50 10.00 71.33 71.33 71.33 68.00 68.00 68.00 5.00 5.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions: @@ -1093,18 +1093,18 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vextracti64x2 $1, %zmm16, (%rax) {%k1} # CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdz $171, (%rax), %k1 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to8}, %k1 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdz $171, (%rax), %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to8}, %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsz $171, (%rax), %k1 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to16}, %k1 -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsz $171, (%rax), %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to16}, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdz $171, (%rax), %k1 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to8}, %k1 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasspd $171, %zmm16, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdz $171, (%rax), %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to8}, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsz $171, (%rax), %k1 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to16}, %k1 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassps $171, %zmm16, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsz $171, (%rax), %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to16}, %k1 {%k2} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasssd $171, %xmm16, %k1 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasssd $171, (%rax), %k1 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasssd $171, %xmm16, %k1 {%k2} diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s index 37e42da..2183462 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512dqvl.s @@ -921,30 +921,30 @@ vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1} # CHECK-NEXT: 1 1 1.00 * vextracti64x2 $1, %ymm16, (%rax) {%k1} # CHECK-NEXT: 1 1 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 1 0.50 vfpclasspd $171, %xmm16, %k1 -# CHECK-NEXT: 1 8 0.50 * vfpclasspdx $171, (%rax), %k1 -# CHECK-NEXT: 1 8 0.50 * vfpclasspd $171, (%rax){1to2}, %k1 -# CHECK-NEXT: 1 1 0.50 vfpclasspd $171, %xmm16, %k1 {%k2} -# CHECK-NEXT: 1 8 0.50 * vfpclasspdx $171, (%rax), %k1 {%k2} -# CHECK-NEXT: 1 8 0.50 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2} -# CHECK-NEXT: 1 2 1.00 vfpclasspd $171, %ymm16, %k1 -# CHECK-NEXT: 1 9 1.00 * vfpclasspdy $171, (%rax), %k1 -# CHECK-NEXT: 1 9 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 -# CHECK-NEXT: 1 2 1.00 vfpclasspd $171, %ymm16, %k1 {%k2} -# CHECK-NEXT: 1 9 1.00 * vfpclasspdy $171, (%rax), %k1 {%k2} -# CHECK-NEXT: 1 9 1.00 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2} -# CHECK-NEXT: 1 1 0.50 vfpclassps $171, %xmm16, %k1 -# CHECK-NEXT: 1 8 0.50 * vfpclasspsx $171, (%rax), %k1 -# CHECK-NEXT: 1 8 0.50 * vfpclassps $171, (%rax){1to4}, %k1 -# CHECK-NEXT: 1 1 0.50 vfpclassps $171, %xmm16, %k1 {%k2} -# CHECK-NEXT: 1 8 0.50 * vfpclasspsx $171, (%rax), %k1 {%k2} -# CHECK-NEXT: 1 8 0.50 * vfpclassps $171, (%rax){1to4}, %k1 {%k2} -# CHECK-NEXT: 1 2 1.00 vfpclassps $171, %ymm16, %k1 -# CHECK-NEXT: 1 9 1.00 * vfpclasspsy $171, (%rax), %k1 -# CHECK-NEXT: 1 9 1.00 * vfpclassps $171, (%rax){1to8}, %k1 -# CHECK-NEXT: 1 2 1.00 vfpclassps $171, %ymm16, %k1 {%k2} -# CHECK-NEXT: 1 9 1.00 * vfpclasspsy $171, (%rax), %k1 {%k2} -# CHECK-NEXT: 1 9 1.00 * vfpclassps $171, (%rax){1to8}, %k1 {%k2} +# CHECK-NEXT: 1 2 0.50 vfpclasspd $171, %xmm16, %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclasspdx $171, (%rax), %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclasspd $171, (%rax){1to2}, %k1 +# CHECK-NEXT: 1 2 0.50 vfpclasspd $171, %xmm16, %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclasspdx $171, (%rax), %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclasspd $171, (%rax){1to2}, %k1 {%k2} +# CHECK-NEXT: 1 2 0.50 vfpclasspd $171, %ymm16, %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclasspdy $171, (%rax), %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclasspd $171, (%rax){1to4}, %k1 +# CHECK-NEXT: 1 2 0.50 vfpclasspd $171, %ymm16, %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclasspdy $171, (%rax), %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclasspd $171, (%rax){1to4}, %k1 {%k2} +# CHECK-NEXT: 1 2 0.50 vfpclassps $171, %xmm16, %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclasspsx $171, (%rax), %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclassps $171, (%rax){1to4}, %k1 +# CHECK-NEXT: 1 2 0.50 vfpclassps $171, %xmm16, %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclasspsx $171, (%rax), %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclassps $171, (%rax){1to4}, %k1 {%k2} +# CHECK-NEXT: 1 2 0.50 vfpclassps $171, %ymm16, %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclasspsy $171, (%rax), %k1 +# CHECK-NEXT: 1 9 0.50 * vfpclassps $171, (%rax){1to8}, %k1 +# CHECK-NEXT: 1 2 0.50 vfpclassps $171, %ymm16, %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclasspsy $171, (%rax), %k1 {%k2} +# CHECK-NEXT: 1 9 0.50 * vfpclassps $171, (%rax){1to8}, %k1 {%k2} # CHECK-NEXT: 1 2 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 # CHECK-NEXT: 3 9 1.00 * vinsertf64x2 $1, (%rax), %ymm16, %ymm19 # CHECK-NEXT: 1 2 1.00 vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} @@ -1149,7 +1149,7 @@ vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] -# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 72.00 102.00 240.00 240.00 167.50 167.50 4.00 111.67 111.67 111.67 110.33 110.33 110.33 2.00 2.00 +# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 66.00 96.00 240.00 240.00 167.50 167.50 4.00 111.67 111.67 111.67 110.33 110.33 110.33 2.00 2.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions: @@ -1481,24 +1481,24 @@ vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclasspd $171, %xmm16, %k1 {%k2} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdx $171, (%rax), %k1 {%k2} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to2}, %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdy $171, (%rax), %k1 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to4}, %k1 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdy $171, (%rax), %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdy $171, (%rax), %k1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to4}, %k1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclasspd $171, %ymm16, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspdy $171, (%rax), %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspd $171, (%rax){1to4}, %k1 {%k2} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %xmm16, %k1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsx $171, (%rax), %k1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to4}, %k1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %xmm16, %k1 {%k2} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsx $171, (%rax), %k1 {%k2} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to4}, %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsy $171, (%rax), %k1 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to8}, %k1 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsy $171, (%rax), %k1 {%k2} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to8}, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsy $171, (%rax), %k1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to8}, %k1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfpclassps $171, %ymm16, %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclasspsy $171, (%rax), %k1 {%k2} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfpclassps $171, (%rax){1to8}, %k1 {%k2} # CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 # CHECK-NEXT: - - - - - - - - - 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vinsertf64x2 $1, (%rax), %ymm16, %ymm19 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - - - - - - - - - - vinsertf64x2 $1, %xmm16, %ymm16, %ymm19 {%k1} diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s index 1408037..a1fd205 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s @@ -1685,30 +1685,30 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: 3 9 1.00 * vbroadcastss (%rax), %ymm19 {%k1} # CHECK-NEXT: 1 2 1.00 vbroadcastss %xmm16, %ymm19 {%k1} {z} # CHECK-NEXT: 3 9 1.00 * vbroadcastss (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: 1 1 0.50 vcmpeqpd %xmm0, %xmm1, %k2 -# CHECK-NEXT: 1 8 0.50 * vcmpeqpd (%rax), %xmm1, %k2 -# CHECK-NEXT: 1 8 0.50 * vcmpeqpd (%rax){1to2}, %xmm1, %k2 -# CHECK-NEXT: 1 1 0.50 vcmpeqpd %xmm0, %xmm1, %k2 {%k3} -# CHECK-NEXT: 1 8 0.50 * vcmpeqpd (%rax), %xmm1, %k2 {%k3} -# CHECK-NEXT: 1 8 0.50 * vcmpeqpd (%rax){1to2}, %xmm1, %k2 {%k3} -# CHECK-NEXT: 1 2 1.00 vcmpeqpd %ymm0, %ymm1, %k2 -# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax), %ymm1, %k2 -# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax){1to4}, %ymm1, %k2 -# CHECK-NEXT: 1 2 1.00 vcmpeqpd %ymm0, %ymm1, %k2 {%k3} -# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax), %ymm1, %k2 {%k3} -# CHECK-NEXT: 1 9 1.00 * vcmpeqpd (%rax){1to4}, %ymm1, %k2 {%k3} -# CHECK-NEXT: 1 1 0.50 vcmpeqps %xmm0, %xmm1, %k2 -# CHECK-NEXT: 1 8 0.50 * vcmpeqps (%rax), %xmm1, %k2 -# CHECK-NEXT: 1 8 0.50 * vcmpeqps (%rax){1to4}, %xmm1, %k2 -# CHECK-NEXT: 1 1 0.50 vcmpeqps %xmm0, %xmm1, %k2 {%k3} -# CHECK-NEXT: 1 8 0.50 * vcmpeqps (%rax), %xmm1, %k2 {%k3} -# CHECK-NEXT: 1 8 0.50 * vcmpeqps (%rax){1to4}, %xmm1, %k2 {%k3} -# CHECK-NEXT: 1 2 1.00 vcmpeqps %ymm0, %ymm1, %k2 -# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax), %ymm1, %k2 -# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax){1to8}, %ymm1, %k2 -# CHECK-NEXT: 1 2 1.00 vcmpeqps %ymm0, %ymm1, %k2 {%k3} -# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax), %ymm1, %k2 {%k3} -# CHECK-NEXT: 1 9 1.00 * vcmpeqps (%rax){1to8}, %ymm1, %k2 {%k3} +# CHECK-NEXT: 1 2 0.50 vcmpeqpd %xmm0, %xmm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax), %xmm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax){1to2}, %xmm1, %k2 +# CHECK-NEXT: 1 2 0.50 vcmpeqpd %xmm0, %xmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax), %xmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax){1to2}, %xmm1, %k2 {%k3} +# CHECK-NEXT: 1 2 0.50 vcmpeqpd %ymm0, %ymm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax), %ymm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax){1to4}, %ymm1, %k2 +# CHECK-NEXT: 1 2 0.50 vcmpeqpd %ymm0, %ymm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax), %ymm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqpd (%rax){1to4}, %ymm1, %k2 {%k3} +# CHECK-NEXT: 1 2 0.50 vcmpeqps %xmm0, %xmm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax), %xmm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax){1to4}, %xmm1, %k2 +# CHECK-NEXT: 1 2 0.50 vcmpeqps %xmm0, %xmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax), %xmm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax){1to4}, %xmm1, %k2 {%k3} +# CHECK-NEXT: 1 2 0.50 vcmpeqps %ymm0, %ymm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax), %ymm1, %k2 +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax){1to8}, %ymm1, %k2 +# CHECK-NEXT: 1 2 0.50 vcmpeqps %ymm0, %ymm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax), %ymm1, %k2 {%k3} +# CHECK-NEXT: 1 9 0.50 * vcmpeqps (%rax){1to8}, %ymm1, %k2 {%k3} # CHECK-NEXT: 1 3 0.50 vcvtdq2pd %xmm16, %xmm19 # CHECK-NEXT: 1 10 0.50 * vcvtdq2pd (%rax), %xmm19 # CHECK-NEXT: 1 10 0.50 * vcvtdq2pd (%rax){1to2}, %xmm19 @@ -1970,77 +1970,77 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: 1 5 0.33 * vgatherqpd (%rax,%xmm1,2), %xmm2 {%k1} # CHECK-NEXT: 1 5 0.33 * vgatherqps (%rax,%xmm1,2), %xmm2 {%k1} # CHECK-NEXT: 1 2 1.00 vmaxpd %xmm16, %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vmaxpd (%rax), %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 # CHECK-NEXT: 1 2 1.00 vmaxpd %xmm16, %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vmaxpd (%rax), %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} # CHECK-NEXT: 1 2 1.00 vmaxpd %xmm16, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: 1 2 1.00 vmaxpd %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 # CHECK-NEXT: 1 2 1.00 vmaxpd %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} # CHECK-NEXT: 1 2 1.00 vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 1 0.50 vmaxps %xmm16, %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vmaxps (%rax), %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 -# CHECK-NEXT: 1 1 0.50 vmaxps %xmm16, %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vmaxps (%rax), %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 1 0.50 vmaxps %xmm16, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vmaxps (%rax), %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 2 1.00 vmaxps %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax), %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax){1to8}, %ymm17, %ymm19 -# CHECK-NEXT: 1 2 1.00 vmaxps %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 2 1.00 vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 2 0.50 vmaxps %xmm16, %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 +# CHECK-NEXT: 1 2 0.50 vmaxps %xmm16, %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 2 0.50 vmaxps %xmm16, %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 2 0.50 vmaxps %ymm16, %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax){1to8}, %ymm17, %ymm19 +# CHECK-NEXT: 1 2 0.50 vmaxps %ymm16, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 2 0.50 vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} # CHECK-NEXT: 1 2 1.00 vminpd %xmm16, %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vminpd (%rax), %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 # CHECK-NEXT: 1 2 1.00 vminpd %xmm16, %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vminpd (%rax), %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} # CHECK-NEXT: 1 2 1.00 vminpd %xmm16, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vminpd (%rax), %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: 1 2 1.00 vminpd %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vminpd (%rax), %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vminpd (%rax){1to4}, %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax){1to4}, %ymm17, %ymm19 # CHECK-NEXT: 1 2 1.00 vminpd %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vminpd (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} # CHECK-NEXT: 1 2 1.00 vminpd %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vminpd (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 1 0.50 vminps %xmm16, %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vminps (%rax), %xmm17, %xmm19 -# CHECK-NEXT: 1 8 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 -# CHECK-NEXT: 1 1 0.50 vminps %xmm16, %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vminps (%rax), %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 8 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} -# CHECK-NEXT: 1 1 0.50 vminps %xmm16, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vminps (%rax), %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 8 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: 1 2 1.00 vminps %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vminps (%rax), %ymm17, %ymm19 -# CHECK-NEXT: 1 9 1.00 * vminps (%rax){1to8}, %ymm17, %ymm19 -# CHECK-NEXT: 1 2 1.00 vminps %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vminps (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 9 1.00 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: 1 2 1.00 vminps %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vminps (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: 1 9 1.00 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 2 0.50 vminps %xmm16, %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %xmm17, %xmm19 +# CHECK-NEXT: 1 9 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 +# CHECK-NEXT: 1 2 0.50 vminps %xmm16, %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} +# CHECK-NEXT: 1 2 0.50 vminps %xmm16, %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z} +# CHECK-NEXT: 1 2 0.50 vminps %ymm16, %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %ymm17, %ymm19 +# CHECK-NEXT: 1 9 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19 +# CHECK-NEXT: 1 2 0.50 vminps %ymm16, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: 1 2 0.50 vminps %ymm16, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: 1 9 0.50 * vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} # CHECK-NEXT: 1 0 0.17 vmovapd %xmm16, %xmm19 # CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %xmm19 # CHECK-NEXT: 1 1 1.00 * vmovapd %xmm16, (%rax) @@ -3015,7 +3015,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] -# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 175.00 945.00 531.50 261.50 442.50 442.50 32.00 300.33 300.33 300.33 289.67 289.67 289.67 16.00 16.00 +# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 154.00 924.00 531.50 261.50 442.50 442.50 32.00 300.33 300.33 300.33 289.67 289.67 289.67 16.00 16.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions: @@ -3121,24 +3121,24 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %xmm0, %xmm1, %k2 {%k3} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %xmm1, %k2 {%k3} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to2}, %xmm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %k2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to4}, %ymm1, %k2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to4}, %ymm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %k2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to4}, %ymm1, %k2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqpd %ymm0, %ymm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax), %ymm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqpd (%rax){1to4}, %ymm1, %k2 {%k3} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %k2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %xmm1, %k2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to4}, %xmm1, %k2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %xmm0, %xmm1, %k2 {%k3} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %xmm1, %k2 {%k3} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to4}, %xmm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %k2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to8}, %ymm1, %k2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %k2 {%k3} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to8}, %ymm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %k2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to8}, %ymm1, %k2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vcmpeqps %ymm0, %ymm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax), %ymm1, %k2 {%k3} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcmpeqps (%rax){1to8}, %ymm1, %k2 {%k3} # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - - - - - - vcvtdq2pd %xmm16, %xmm19 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax), %xmm19 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vcvtdq2pd (%rax){1to2}, %xmm19 @@ -3409,14 +3409,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxpd %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %xmm16, %xmm17, %xmm19 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %xmm17, %xmm19 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to4}, %xmm17, %xmm19 @@ -3426,15 +3426,15 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %xmm16, %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to8}, %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %ymm16, %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to8}, %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vmaxps %ymm16, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmaxps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %xmm16, %xmm17, %xmm19 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %xmm17, %xmm19 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to2}, %xmm17, %xmm19 @@ -3445,14 +3445,14 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminpd %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminpd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %xmm16, %xmm17, %xmm19 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %xmm17, %xmm19 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to4}, %xmm17, %xmm19 @@ -3462,15 +3462,15 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %xmm16, %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %xmm17, %xmm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %ymm16, %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to8}, %ymm17, %ymm19 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 {%k1} {z} -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %ymm16, %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to8}, %ymm17, %ymm19 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminps %ymm16, %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax), %ymm17, %ymm19 {%k1} {z} +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z} # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm16, %xmm19 # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %xmm19 # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %xmm16, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s index 3d2dd4c..1d9272f 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-fma.s @@ -298,30 +298,30 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 1.00 vfmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 1.00 vfmadd132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfmadd132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vfmadd213sd %xmm0, %xmm1, %xmm2 @@ -334,54 +334,54 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfmadd213ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vfmadd231ss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmaddsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmaddsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 1.00 vfmsub132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfmsub132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vfmsub213sd %xmm0, %xmm1, %xmm2 @@ -394,54 +394,54 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfmsub213ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vfmsub231ss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfmsub231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfmsubadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfmsubadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 1.00 vfnmadd132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfnmadd132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vfnmadd213sd %xmm0, %xmm1, %xmm2 @@ -454,30 +454,30 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfnmadd213ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vfnmadd231ss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfnmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vfnmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vfnmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: 1 4 1.00 vfnmsub132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 11 1.00 * vfnmsub132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 4 1.00 vfnmsub213sd %xmm0, %xmm1, %xmm2 @@ -518,34 +518,34 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] -# CHECK-NEXT: - - - - - - - - 192.00 192.00 - - 48.00 48.00 - 32.00 32.00 32.00 32.00 32.00 32.00 - - +# CHECK-NEXT: - - - - - - - - 120.00 120.00 - - 48.00 48.00 - 32.00 32.00 32.00 32.00 32.00 32.00 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions: -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213sd %xmm0, %xmm1, %xmm2 @@ -558,54 +558,54 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmaddsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmaddsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmaddsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub213sd %xmm0, %xmm1, %xmm2 @@ -618,54 +618,54 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub213ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsub231ss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsub231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmsubadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmsubadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmsubadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd213sd %xmm0, %xmm1, %xmm2 @@ -678,30 +678,30 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd213ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmadd231ss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfnmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub231ps (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub132sd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfnmsub132sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfnmsub213sd %xmm0, %xmm1, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s index 6879fb2..767477a 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse1.s @@ -203,7 +203,7 @@ xorps (%rax), %xmm2 # CHECK-NEXT: 1 1 0.25 andps %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * andps (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 cmpeqps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * cmpeqps (%rax), %xmm2 +# CHECK-NEXT: 1 9 0.50 * cmpeqps (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 cmpeqss %xmm0, %xmm2 # CHECK-NEXT: 1 9 1.00 * cmpeqss (%rax), %xmm2 # CHECK-NEXT: 2 4 1.00 comiss %xmm0, %xmm1 @@ -232,12 +232,12 @@ xorps (%rax), %xmm2 # CHECK-NEXT: 1 18 3.00 * divss (%rax), %xmm2 # CHECK-NEXT: 1 5 1.50 * * U ldmxcsr (%rax) # CHECK-NEXT: 1 1 0.50 * * U maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 1 0.50 maxps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 2 0.50 maxps %xmm0, %xmm2 +# CHECK-NEXT: 1 9 0.50 * maxps (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 maxss %xmm0, %xmm2 # CHECK-NEXT: 1 9 1.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 minps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 2 0.50 minps %xmm0, %xmm2 +# CHECK-NEXT: 1 9 0.50 * minps (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 minss %xmm0, %xmm2 # CHECK-NEXT: 1 9 1.00 * minss (%rax), %xmm2 # CHECK-NEXT: 1 0 0.17 movaps %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s index 02013b85..dde8293 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse2.s @@ -417,7 +417,7 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: 1 8 0.50 * andpd (%rax), %xmm2 # CHECK-NEXT: 1 5 0.33 * * U clflush (%rax) # CHECK-NEXT: 1 2 1.00 cmpeqpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * cmpeqpd (%rax), %xmm2 +# CHECK-NEXT: 1 9 0.50 * cmpeqpd (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 cmpeqsd %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * cmpeqsd (%rax), %xmm2 # CHECK-NEXT: 2 4 1.00 comisd %xmm0, %xmm1 @@ -466,13 +466,13 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: 1 20 5.00 * divsd (%rax), %xmm2 # CHECK-NEXT: 1 1 10.00 * * U lfence # CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 1 0.50 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 2 0.50 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 1 9 0.50 * maxpd (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 maxsd %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * maxsd (%rax), %xmm2 # CHECK-NEXT: 1 1 25.00 * * U mfence -# CHECK-NEXT: 1 1 0.50 minpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 2 0.50 minpd %xmm0, %xmm2 +# CHECK-NEXT: 1 9 0.50 * minpd (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 minsd %xmm0, %xmm2 # CHECK-NEXT: 1 8 0.50 * minsd (%rax), %xmm2 # CHECK-NEXT: 1 0 0.17 movapd %xmm0, %xmm2 -- 2.7.4