From 76fcf900d58826d9f21c0dd7f02b61b4d59c9193 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Sun, 26 Jan 2020 20:33:29 +0300 Subject: [PATCH] [X86][BdVer2] Polish LEA instruction scheduling info Based on exhaustive llvm-exegesis measurements. There may still be some imperfections for LEA16r/LEA32r. Much like was observed in D68646, i'm also measuring some outliers with some specific registers. --- llvm/lib/Target/X86/X86ScheduleBdVer2.td | 36 +- .../tools/llvm-mca/X86/BdVer2/resources-lea.s | 542 +++++++++--------- .../X86/BdVer2/vbroadcast-operand-latency.s | 22 +- .../tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s | 40 +- 4 files changed, 336 insertions(+), 304 deletions(-) diff --git a/llvm/lib/Target/X86/X86ScheduleBdVer2.td b/llvm/lib/Target/X86/X86ScheduleBdVer2.td index 77f1959048e3..6f8524b94dae 100644 --- a/llvm/lib/Target/X86/X86ScheduleBdVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBdVer2.td @@ -545,8 +545,40 @@ def PdWriteBTSRm : SchedWriteRes<[PdEX01, PdLoad]> { def : SchedAlias; // This is for simple LEAs with one or two input operands. -// FIXME: SAGU 3-operand LEA -def : WriteRes { let NumMicroOps = 2; } +def : WriteRes { let ResourceCycles = [2]; } + +// This write is used for slow LEA instructions. +def PdWrite3OpsLEA : SchedWriteRes<[PdEX01]> { + let Latency = 2; + let ResourceCycles = [2]; +} + +// On Piledriver, a slow LEA is either a 3Ops LEA (base, index, offset), +// or an LEA with a `Scale` value different than 1. +def PdSlowLEAPredicate : MCSchedPredicate< + CheckAny<[ + // A 3-operand LEA (base, index, offset). + IsThreeOperandsLEAFn, + // An LEA with a "Scale" different than 1. + CheckAll<[ + CheckIsImmOperand<2>, + CheckNot> + ]> + ]> +>; + +def PdWriteLEA : SchedWriteVariant<[ + SchedVar, + SchedVar +]>; + +def : InstRW<[PdWriteLEA], (instrs LEA32r, LEA64r, LEA64_32r)>; + +def PdWriteLEA16r : SchedWriteRes<[PdEX01]> { + let ResourceCycles = [3]; + let NumMicroOps = 2; +} +def : InstRW<[PdWriteLEA16r], (instrs LEA16r)>; // Bit counts. defm : PdWriteResExPair; diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-lea.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-lea.s index 73ffc9074d19..a4a77196d048 100644 --- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-lea.s +++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-lea.s @@ -148,141 +148,141 @@ lea 1024(%rax, %rbx, 2), %rcx # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 1 0.50 leaw 0, %cx -# CHECK-NEXT: 2 1 0.50 leal 0, %ecx -# CHECK-NEXT: 2 1 0.50 leaq 0, %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%eax), %cx -# CHECK-NEXT: 2 1 0.50 leal (%eax), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%eax), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%rax), %cx -# CHECK-NEXT: 2 1 0.50 leal (%rax), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%rax), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal (,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal (,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal (,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal (,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (,%ebx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal (,%ebx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (,%ebx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (,%rbx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal (,%rbx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (,%rbx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%eax,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal (%eax,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%eax,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%rax,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal (%rax,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%rax,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%eax,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal (%eax,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%eax,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%rax,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal (%rax,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%rax,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%eax,%ebx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal (%eax,%ebx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%eax,%ebx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw (%rax,%rbx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal (%rax,%rbx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq (%rax,%rbx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16, %cx -# CHECK-NEXT: 2 1 0.50 leal -16, %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16, %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%eax), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%eax), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%eax), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%rax), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%rax), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%rax), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(,%ebx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(,%ebx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(,%ebx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(,%rbx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(,%rbx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(,%rbx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%eax,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%eax,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%eax,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%rax,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%rax,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%rax,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%eax,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%eax,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%eax,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%rax,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%rax,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%rax,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%eax,%ebx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%eax,%ebx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%eax,%ebx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw -16(%rax,%rbx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal -16(%rax,%rbx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq -16(%rax,%rbx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024, %cx -# CHECK-NEXT: 2 1 0.50 leal 1024, %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024, %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%eax), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%eax), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%eax), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%rax), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%rax), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%rax), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(,%ebx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(,%ebx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(,%ebx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(,%rbx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(,%rbx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(,%rbx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%eax,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%eax,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%eax,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%rax,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%rax,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%rax,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%eax,%ebx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%eax,%ebx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%eax,%ebx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%rax,%rbx), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%rax,%rbx), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%rax,%rbx), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%eax,%ebx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%eax,%ebx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%eax,%ebx,2), %rcx -# CHECK-NEXT: 2 1 0.50 leaw 1024(%rax,%rbx,2), %cx -# CHECK-NEXT: 2 1 0.50 leal 1024(%rax,%rbx,2), %ecx -# CHECK-NEXT: 2 1 0.50 leaq 1024(%rax,%rbx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 0, %cx +# CHECK-NEXT: 1 1 1.00 leal 0, %ecx +# CHECK-NEXT: 1 1 1.00 leaq 0, %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%eax), %cx +# CHECK-NEXT: 1 1 1.00 leal (%eax), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (%eax), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%rax), %cx +# CHECK-NEXT: 1 1 1.00 leal (%rax), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (%rax), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal (,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal (,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal (,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal (,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (,%ebx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal (,%ebx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq (,%ebx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (,%rbx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal (,%rbx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq (,%rbx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%eax,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal (%eax,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (%eax,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%rax,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal (%rax,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (%rax,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%eax,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal (%eax,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (%eax,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%rax,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal (%rax,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq (%rax,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%eax,%ebx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal (%eax,%ebx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq (%eax,%ebx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw (%rax,%rbx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal (%rax,%rbx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq (%rax,%rbx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16, %cx +# CHECK-NEXT: 1 1 1.00 leal -16, %ecx +# CHECK-NEXT: 1 1 1.00 leaq -16, %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%eax), %cx +# CHECK-NEXT: 1 1 1.00 leal -16(%eax), %ecx +# CHECK-NEXT: 1 1 1.00 leaq -16(%eax), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%rax), %cx +# CHECK-NEXT: 1 1 1.00 leal -16(%rax), %ecx +# CHECK-NEXT: 1 1 1.00 leaq -16(%rax), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal -16(,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq -16(,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal -16(,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq -16(,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal -16(,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq -16(,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal -16(,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq -16(,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(,%ebx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(,%ebx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(,%ebx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(,%rbx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(,%rbx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(,%rbx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%eax,%ebx), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(%eax,%ebx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(%eax,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%rax,%rbx), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(%rax,%rbx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(%rax,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%eax,%ebx), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(%eax,%ebx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(%eax,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%rax,%rbx), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(%rax,%rbx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(%rax,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%eax,%ebx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(%eax,%ebx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(%eax,%ebx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw -16(%rax,%rbx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal -16(%rax,%rbx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq -16(%rax,%rbx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024, %cx +# CHECK-NEXT: 1 1 1.00 leal 1024, %ecx +# CHECK-NEXT: 1 1 1.00 leaq 1024, %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%eax), %cx +# CHECK-NEXT: 1 1 1.00 leal 1024(%eax), %ecx +# CHECK-NEXT: 1 1 1.00 leaq 1024(%eax), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%rax), %cx +# CHECK-NEXT: 1 1 1.00 leal 1024(%rax), %ecx +# CHECK-NEXT: 1 1 1.00 leaq 1024(%rax), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal 1024(,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq 1024(,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal 1024(,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq 1024(,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(,%ebx), %cx +# CHECK-NEXT: 1 1 1.00 leal 1024(,%ebx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq 1024(,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(,%rbx), %cx +# CHECK-NEXT: 1 1 1.00 leal 1024(,%rbx), %ecx +# CHECK-NEXT: 1 1 1.00 leaq 1024(,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(,%ebx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(,%ebx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(,%ebx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(,%rbx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(,%rbx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(,%rbx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%eax,%ebx), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(%eax,%ebx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(%eax,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%rax,%rbx), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(%rax,%rbx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(%rax,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%eax,%ebx), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(%eax,%ebx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(%eax,%ebx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%rax,%rbx), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(%rax,%rbx), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(%rax,%rbx), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%eax,%ebx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(%eax,%ebx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(%eax,%ebx,2), %rcx +# CHECK-NEXT: 2 1 1.50 leaw 1024(%rax,%rbx,2), %cx +# CHECK-NEXT: 1 2 1.00 leal 1024(%rax,%rbx,2), %ecx +# CHECK-NEXT: 1 2 1.00 leaq 1024(%rax,%rbx,2), %rcx # CHECK: Resources: # CHECK-NEXT: [0.0] - PdAGLU01 @@ -311,142 +311,142 @@ lea 1024(%rax, %rbx, 2), %rcx # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] -# CHECK-NEXT: - - - - - 67.50 67.50 - - - - - - - - - - - - - - - - +# CHECK-NEXT: - - - - - 157.50 157.50 - - - - - - - - - - - - - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions: -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 0, %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 0, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 0, %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%eax), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%eax), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%eax), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%rax), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%rax), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%rax), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (,%ebx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (,%ebx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (,%ebx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (,%rbx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (,%rbx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (,%rbx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%eax,%ebx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%eax,%ebx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%eax,%ebx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw (%rax,%rbx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal (%rax,%rbx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq (%rax,%rbx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16, %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16, %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%eax), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%eax), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%eax), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%rax), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%rax), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%rax), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(,%ebx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(,%ebx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(,%ebx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(,%rbx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(,%rbx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(,%rbx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024, %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024, %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%eax), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%eax), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%eax), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%rax), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%rax), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%rax), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(,%ebx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(,%ebx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(,%ebx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(,%rbx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(,%rbx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(,%rbx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx,2), %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx,2), %cx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx,2), %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 0, %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 0, %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 0, %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%eax), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%eax), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%eax), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%rax), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%rax), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%rax), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (,%ebx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (,%ebx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (,%ebx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (,%rbx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (,%rbx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (,%rbx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%eax,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%eax,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%eax,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%rax,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%rax,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%rax,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%eax,%ebx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%eax,%ebx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%eax,%ebx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw (%rax,%rbx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal (%rax,%rbx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq (%rax,%rbx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16, %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16, %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16, %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%eax), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%eax), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%eax), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%rax), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%rax), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%rax), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(,%ebx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(,%ebx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(,%ebx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(,%rbx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(,%rbx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(,%rbx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%eax,%ebx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%eax,%ebx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%eax,%ebx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw -16(%rax,%rbx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal -16(%rax,%rbx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq -16(%rax,%rbx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024, %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024, %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024, %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%eax), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%eax), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%eax), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%rax), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%rax), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%rax), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(,%ebx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(,%ebx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(,%ebx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(,%rbx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(,%rbx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(,%rbx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%eax,%ebx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%eax,%ebx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%eax,%ebx,2), %rcx +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - - - - - - - - - - - - - leaw 1024(%rax,%rbx,2), %cx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leal 1024(%rax,%rbx,2), %ecx +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 1024(%rax,%rbx,2), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s b/llvm/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s index ab7a53438afc..a24feaebbf9e 100644 --- a/llvm/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s +++ b/llvm/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s @@ -7,10 +7,10 @@ vbroadcastss (%rax), %ymm0 # CHECK: Iterations: 100 # CHECK-NEXT: Instructions: 200 # CHECK-NEXT: Total Cycles: 206 -# CHECK-NEXT: Total uOps: 400 +# CHECK-NEXT: Total uOps: 300 # CHECK: Dispatch Width: 4 -# CHECK-NEXT: uOps Per Cycle: 1.94 +# CHECK-NEXT: uOps Per Cycle: 1.46 # CHECK-NEXT: IPC: 0.97 # CHECK-NEXT: Block RThroughput: 2.0 @@ -23,7 +23,7 @@ vbroadcastss (%rax), %ymm0 # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 1 0.50 leaq 8(%rsp,%rdi,2), %rax +# CHECK-NEXT: 1 2 1.00 leaq 8(%rsp,%rdi,2), %rax # CHECK-NEXT: 2 6 2.00 * vbroadcastss (%rax), %ymm0 # CHECK: Resources: @@ -53,22 +53,22 @@ vbroadcastss (%rax), %ymm0 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] -# CHECK-NEXT: 0.50 0.50 - - - 0.50 0.50 - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.50 - - +# CHECK-NEXT: 0.50 0.50 - - - 1.00 1.00 - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.50 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions: -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - leaq 8(%rsp,%rdi,2), %rax +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leaq 8(%rsp,%rdi,2), %rax # CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.50 - - vbroadcastss (%rax), %ymm0 # CHECK: Timeline view: # CHECK-NEXT: 012 # CHECK-NEXT: Index 0123456789 -# CHECK: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax +# CHECK: [0,0] DeeER. . . leaq 8(%rsp,%rdi,2), %rax # CHECK-NEXT: [0,1] DeeeeeeER . . vbroadcastss (%rax), %ymm0 -# CHECK-NEXT: [1,0] .DeE----R . . leaq 8(%rsp,%rdi,2), %rax +# CHECK-NEXT: [1,0] DeeE----R . . leaq 8(%rsp,%rdi,2), %rax # CHECK-NEXT: [1,1] .DeeeeeeER. . vbroadcastss (%rax), %ymm0 -# CHECK-NEXT: [2,0] . DeE----R. . leaq 8(%rsp,%rdi,2), %rax +# CHECK-NEXT: [2,0] .D=eeE---R. . leaq 8(%rsp,%rdi,2), %rax # CHECK-NEXT: [2,1] . D==eeeeeeER vbroadcastss (%rax), %ymm0 # CHECK: Average Wait times (based on the timeline view): @@ -78,6 +78,6 @@ vbroadcastss (%rax), %ymm0 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 3 1.0 1.0 2.7 leaq 8(%rsp,%rdi,2), %rax -# CHECK-NEXT: 1. 3 1.7 0.7 0.0 vbroadcastss (%rax), %ymm0 -# CHECK-NEXT: 3 1.3 0.8 1.3 +# CHECK-NEXT: 0. 3 1.3 1.3 2.3 leaq 8(%rsp,%rdi,2), %rax +# CHECK-NEXT: 1. 3 1.7 1.0 0.0 vbroadcastss (%rax), %ymm0 +# CHECK-NEXT: 3 1.5 1.2 1.2 diff --git a/llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s b/llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s index e47f08901af2..7aecf241434a 100644 --- a/llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s +++ b/llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s @@ -35,7 +35,7 @@ rcpss (%rax), %xmm1 # BARCELONA-NEXT: 0123456789 # BARCELONA-NEXT: Index 0123456789 0123 -# BDVER2-NEXT: 01234567 +# BDVER2-NEXT: 012345678 # BDVER2-NEXT: Index 0123456789 # BROADWELL-NEXT: 0123456789 @@ -59,8 +59,8 @@ rcpss (%rax), %xmm1 # BARCELONA: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1 -# BDVER2: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax -# BDVER2-NEXT: [0,1] D=eeeeeeeeeeeeeeER sqrtss (%rax), %xmm1 +# BDVER2: [0,0] DeeER. . . . leaq 8(%rsp,%rdi,2), %rax +# BDVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeER sqrtss (%rax), %xmm1 # BROADWELL: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm1 @@ -92,8 +92,8 @@ rcpss (%rax), %xmm1 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1 # BARCELONA-NEXT: 1 1.5 0.5 0.0 -# BDVER2-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1 -# BDVER2-NEXT: 1 1.5 0.5 0.0 +# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtss (%rax), %xmm1 +# BDVER2-NEXT: 1 2.0 0.5 0.0 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1 # BROADWELL-NEXT: 1 1.5 0.5 0.0 @@ -120,7 +120,7 @@ rcpss (%rax), %xmm1 # BARCELONA-NEXT: 0123456789 0 # BARCELONA-NEXT: Index 0123456789 0123456789 -# BDVER2-NEXT: 01234567 +# BDVER2-NEXT: 012345678 # BDVER2-NEXT: Index 0123456789 # BROADWELL-NEXT: 0123456789 @@ -144,8 +144,8 @@ rcpss (%rax), %xmm1 # BARCELONA: [0,0] DeER . . . . . . leaq 8(%rsp,%rdi,2), %rax # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1 -# BDVER2: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax -# BDVER2-NEXT: [0,1] D=eeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1 +# BDVER2: [0,0] DeeER. . . . leaq 8(%rsp,%rdi,2), %rax +# BDVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1 # BROADWELL: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1 @@ -177,8 +177,8 @@ rcpss (%rax), %xmm1 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1 # BARCELONA-NEXT: 1 1.5 0.5 0.0 -# BDVER2-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1 -# BDVER2-NEXT: 1 1.5 0.5 0.0 +# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtsd (%rax), %xmm1 +# BDVER2-NEXT: 1 2.0 0.5 0.0 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1 # BROADWELL-NEXT: 1 1.5 0.5 0.0 @@ -203,7 +203,7 @@ rcpss (%rax), %xmm1 # ALL: Timeline view: # BARCELONA-NEXT: 01234 -# BDVER2-NEXT: 0123 +# BDVER2-NEXT: 01234 # BROADWELL-NEXT: 0123 # BTVER2-NEXT: 01 # HASWELL-NEXT: 0123 @@ -216,8 +216,8 @@ rcpss (%rax), %xmm1 # BARCELONA: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeER rsqrtss (%rax), %xmm1 -# BDVER2: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax -# BDVER2-NEXT: [0,1] D=eeeeeeeeeeER rsqrtss (%rax), %xmm1 +# BDVER2: [0,0] DeeER. . . leaq 8(%rsp,%rdi,2), %rax +# BDVER2-NEXT: [0,1] D==eeeeeeeeeeER rsqrtss (%rax), %xmm1 # BROADWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeER rsqrtss (%rax), %xmm1 @@ -249,8 +249,8 @@ rcpss (%rax), %xmm1 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1 # BARCELONA-NEXT: 1 1.5 0.5 0.0 -# BDVER2-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1 -# BDVER2-NEXT: 1 1.5 0.5 0.0 +# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 rsqrtss (%rax), %xmm1 +# BDVER2-NEXT: 1 2.0 0.5 0.0 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1 # BROADWELL-NEXT: 1 1.5 0.5 0.0 @@ -275,7 +275,7 @@ rcpss (%rax), %xmm1 # ALL: Timeline view: # BARCELONA-NEXT: 01234 -# BDVER2-NEXT: 0123 +# BDVER2-NEXT: 01234 # BROADWELL-NEXT: 0123 # BTVER2-NEXT: 01 # HASWELL-NEXT: 0123 @@ -288,8 +288,8 @@ rcpss (%rax), %xmm1 # BARCELONA: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax # BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeER rcpss (%rax), %xmm1 -# BDVER2: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax -# BDVER2-NEXT: [0,1] D=eeeeeeeeeeER rcpss (%rax), %xmm1 +# BDVER2: [0,0] DeeER. . . leaq 8(%rsp,%rdi,2), %rax +# BDVER2-NEXT: [0,1] D==eeeeeeeeeeER rcpss (%rax), %xmm1 # BROADWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax # BROADWELL-NEXT: [0,1] D=eeeeeeeeeeER rcpss (%rax), %xmm1 @@ -321,8 +321,8 @@ rcpss (%rax), %xmm1 # BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1 # BARCELONA-NEXT: 1 1.5 0.5 0.0 -# BDVER2-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1 -# BDVER2-NEXT: 1 1.5 0.5 0.0 +# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 rcpss (%rax), %xmm1 +# BDVER2-NEXT: 1 2.0 0.5 0.0 # BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1 # BROADWELL-NEXT: 1 1.5 0.5 0.0