// File: /workspace/github_cpp_makefile_star2_O2/Ziang95[P]Tomasulo_simulator/output.cpp
// Function: instr_timeline_output(ROBEntry*)
void instr_timeline_output(ROBEntry *R)
{
    output_QEntry t;
    t.iss_cyc = R->output.issue;
    t.name = R->name;
    if (t.name.size()/8 < 1)
        t.name += "\t\t";
    else if (t.name.size()/8 < 2)
        t.name += "\t";
    t.name += "\t" + to_string(R->output.issue);
    t.name += "\t" + (R->output.exe > 0? to_string(R->output.exe):" ");
    t.name += "\t" + (R->output.mem > 0? to_string(R->output.mem):" ");
    t.name += "\t" + (R->output.wBack > 0? to_string(R->output.wBack):" ");
    t.name += "\t" + (R->output.commit > 0? to_string(R->output.commit):" ");
    CPU_output_Q.push_back(t);
    sort(CPU_output_Q.begin(), CPU_output_Q.end(), [](output_QEntry a, output_QEntry b){return a.iss_cyc < b.iss_cyc;});
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x70, %rsp
movq %rdi, %r14
leaq -0x88(%rbp), %rbx
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movl 0x50(%rdi), %ecx
movl %ecx, -0x18(%rax)
leaq 0x8(%rdi), %rsi
movq %rbx, %rdi
callq 0x3190
movq -0x80(%rbp), %rax
cmpq $0x7, %rax
ja 0xd0de
leaq 0x28bc(%rip), %rsi      # 0xf998
jmp 0xd0eb
cmpq $0x10, %rax
jae 0xd0f3
leaq 0x28ae(%rip), %rsi      # 0xf999
movq %rbx, %rdi
callq 0x3490
movl 0x50(%r14), %esi
leaq -0x48(%rbp), %rdi
callq 0x5ab8
leaq 0x2892(%rip), %rsi      # 0xf999
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x5a8a
leaq -0x68(%rbp), %rsi
movq %rbx, %rdi
callq 0x34b0
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
movl 0x54(%r14), %r15d
testl %r15d, %r15d
jle 0xd149
leaq -0x48(%rbp), %rdi
movl %r15d, %esi
callq 0x5ab8
jmp 0xd15d
leaq 0x1f06(%rip), %rsi      # 0xf056
leaq -0x48(%rbp), %rdi
leaq -0x24(%rbp), %rdx
callq 0x3100
leaq 0x2835(%rip), %rsi      # 0xf999
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x5a8a
leaq -0x68(%rbp), %rsi
movq %rbx, %rdi
callq 0x34b0
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
testl %r15d, %r15d
movl 0x58(%r14), %r15d
testl %r15d, %r15d
jle 0xd1a9
leaq -0x48(%rbp), %rdi
movl %r15d, %esi
callq 0x5ab8
jmp 0xd1bd
leaq 0x1ea6(%rip), %rsi      # 0xf056
leaq -0x48(%rbp), %rdi
leaq -0x23(%rbp), %rdx
callq 0x3100
leaq 0x27d5(%rip), %rsi      # 0xf999
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x5a8a
leaq -0x68(%rbp), %rsi
movq %rbx, %rdi
callq 0x34b0
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
testl %r15d, %r15d
movl 0x5c(%r14), %r15d
testl %r15d, %r15d
jle 0xd209
leaq -0x48(%rbp), %rdi
movl %r15d, %esi
callq 0x5ab8
jmp 0xd21d
leaq 0x1e46(%rip), %rsi      # 0xf056
leaq -0x48(%rbp), %rdi
leaq -0x22(%rbp), %rdx
callq 0x3100
leaq 0x2775(%rip), %rsi      # 0xf999
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x5a8a
leaq -0x68(%rbp), %rsi
movq %rbx, %rdi
callq 0x34b0
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
testl %r15d, %r15d
movl 0x60(%r14), %r15d
testl %r15d, %r15d
jle 0xd269
leaq -0x48(%rbp), %rdi
movl %r15d, %esi
callq 0x5ab8
jmp 0xd27d
leaq 0x1de6(%rip), %rsi      # 0xf056
leaq -0x48(%rbp), %rdi
leaq -0x21(%rbp), %rdx
callq 0x3100
leaq 0x2715(%rip), %rsi      # 0xf999
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x5a8a
leaq -0x68(%rbp), %rsi
movq %rbx, %rdi
callq 0x34b0
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
testl %r15d, %r15d
leaq 0xcb0f(%rip), %r14      # 0x19dc8
leaq -0x90(%rbp), %rsi
movq %r14, %rdi
callq 0xe08e
movq (%r14), %r15
movq 0x8(%r14), %r14
cmpq %r14, %r15
je 0xd336
movq %r14, %r12
subq %r15, %r12
pushq $0x28
popq %rcx
movq %r12, %rax
cqto
idivq %rcx
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0xdadc
cmpq $0x281, %r12            # imm = 0x281
jl 0xd32b
leaq 0x280(%r15), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0xdf32
cmpq %r14, %r12
je 0xd336
movq %r12, %rdi
callq 0xdfcf
addq $0x28, %r12
jmp 0xd318
movq %r15, %rdi
movq %r14, %rsi
callq 0xdf32
movq %rbx, %rdi
callq 0x3140
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0xd3a6
jmp 0xd3a6
jmp 0xd3a6
jmp 0xd3a6
jmp 0xd3a6
jmp 0xd3a6
jmp 0xd3a6
jmp 0xd3a6
jmp 0xd367
jmp 0xd375
jmp 0xd367
jmp 0xd375
jmp 0xd367
jmp 0xd375
movq %rax, %r14
leaq -0x68(%rbp), %rdi
callq 0x3140
jmp 0xd378
movq %rax, %r14
leaq -0x48(%rbp), %rdi
callq 0x3140
testl %r15d, %r15d
jmp 0xd3a9
movq %rax, %r14
leaq -0x68(%rbp), %rdi
callq 0x3140
jmp 0xd397
movq %rax, %r14
leaq -0x48(%rbp), %rdi
callq 0x3140
jmp 0xd3a9
jmp 0xd3a6
jmp 0xd3a6
movq %rax, %r14
movq %rbx, %rdi
callq 0x3140
movq %r14, %rdi
callq 0x3440