// File: /workspace/github_cpp_makefile_star2_O1/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 %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdi, %r14
leaq -0x88(%rbp), %rbx
leaq -0x78(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq $0x0, -0x8(%rcx)
movb $0x0, (%rcx)
movl 0x50(%rdi), %eax
movl %eax, -0x18(%rcx)
leaq 0x8(%rdi), %rsi
movq %rbx, %rdi
callq 0x3160
movq -0x80(%rbp), %rax
cmpq $0x7, %rax
ja 0x10f0f
leaq 0x4a8b(%rip), %rsi      # 0x15998
jmp 0x10f1c
cmpq $0x10, %rax
jae 0x10f24
leaq 0x4a7d(%rip), %rsi      # 0x15999
movq %rbx, %rdi
callq 0x34a0
movl 0x50(%r14), %r15d
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x10f88
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x10f7f
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x10f85
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x10f88
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x10f4c
addl $-0x3, %r13d
jmp 0x10f88
addl $-0x2, %r13d
jmp 0x10f88
decl %r13d
shrl $0x1f, %r15d
leal (%r15,%r13), %esi
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x48(%rbp), %rdi
movl $0x2d, %edx
callq 0x32b0
leaq -0x48(%rbp), %rbx
addq (%rbx), %r15
movq %r15, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x703e
leaq 0x49d7(%rip), %rcx      # 0x15999
movl $0x1, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3280
leaq -0x58(%rbp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x38(%rbp), %rbx
leaq -0x88(%rbp), %r12
je 0x11003
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x1100b
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rdi
callq 0x30d0
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x11040
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x1104e
callq 0x3230
movl 0x54(%r14), %r15d
testl %r15d, %r15d
jle 0x110a4
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x110c9
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x110c0
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x110c6
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x110c9
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x11071
addl $-0x3, %r12d
jmp 0x110c9
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3fa4(%rip), %rsi      # 0x15056
leaq 0x3f9e(%rip), %rdx      # 0x15057
callq 0x7202
jmp 0x110fb
addl $-0x2, %r12d
jmp 0x110c9
decl %r12d
movl %r12d, %esi
leaq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x32b0
movq -0x48(%rbp), %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x703e
leaq -0x38(%rbp), %rbx
leaq -0x88(%rbp), %r12
leaq 0x4897(%rip), %rcx      # 0x15999
leaq -0x48(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x3280
movq %r13, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x11135
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x1113d
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rdi
callq 0x30d0
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x11172
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x11180
callq 0x3230
movl 0x58(%r14), %r15d
testl %r15d, %r15d
jle 0x111d6
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x111fb
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x111f2
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x111f8
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x111fb
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x111a3
addl $-0x3, %r12d
jmp 0x111fb
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3e72(%rip), %rsi      # 0x15056
leaq 0x3e6c(%rip), %rdx      # 0x15057
callq 0x7202
jmp 0x1122d
addl $-0x2, %r12d
jmp 0x111fb
decl %r12d
movl %r12d, %esi
leaq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x32b0
movq -0x48(%rbp), %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x703e
leaq -0x38(%rbp), %rbx
leaq -0x88(%rbp), %r12
leaq 0x4765(%rip), %rcx      # 0x15999
leaq -0x48(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x3280
movq %r13, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x11267
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x1126f
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rdi
callq 0x30d0
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x112a4
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x112b2
callq 0x3230
movl 0x5c(%r14), %r15d
testl %r15d, %r15d
jle 0x11308
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x1132d
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x11324
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x1132a
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x1132d
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x112d5
addl $-0x3, %r12d
jmp 0x1132d
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3d40(%rip), %rsi      # 0x15056
leaq 0x3d3a(%rip), %rdx      # 0x15057
callq 0x7202
jmp 0x1135f
addl $-0x2, %r12d
jmp 0x1132d
decl %r12d
movl %r12d, %esi
leaq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x32b0
movq -0x48(%rbp), %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x703e
leaq -0x38(%rbp), %rbx
leaq -0x88(%rbp), %r12
leaq 0x4633(%rip), %rcx      # 0x15999
leaq -0x48(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x3280
movq %r13, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x11399
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x113a1
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rdi
callq 0x30d0
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x113d6
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x113e4
callq 0x3230
movl 0x60(%r14), %r14d
testl %r14d, %r14d
jle 0x1143a
movl $0x1, %r15d
cmpl $0xa, %r14d
jb 0x1145f
movl $0x4, %r15d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x11456
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x1145c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x1145f
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r15d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x11407
addl $-0x3, %r15d
jmp 0x1145f
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3c0e(%rip), %rsi      # 0x15056
leaq 0x3c08(%rip), %rdx      # 0x15057
callq 0x7202
jmp 0x11482
addl $-0x2, %r15d
jmp 0x1145f
decl %r15d
movl %r15d, %esi
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
movl $0x2d, %edx
callq 0x32b0
movq -0x48(%rbp), %rdi
movl %r15d, %esi
movl %r14d, %edx
callq 0x703e
leaq 0x4510(%rip), %rcx      # 0x15999
leaq -0x48(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x3280
movq %r13, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x114bc
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x114c4
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rdi
callq 0x30d0
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x114f9
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x11507
callq 0x3230
leaq 0xd8b2(%rip), %rbx      # 0x1edc0
leaq -0x90(%rbp), %rsi
movq %rbx, %rdi
callq 0x131f8
movq (%rbx), %r14
movq 0x8(%rbx), %rbx
cmpq %rbx, %r14
je 0x11595
movq %rbx, %r15
subq %r14, %r15
movq %r15, %rax
sarq $0x3, %rax
movabsq $-0x3333333333333333, %rcx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rcx
bsrq %rcx, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x125ff
cmpq $0x281, %r15            # imm = 0x281
jl 0x1158a
leaq 0x280(%r14), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x12f52
cmpq %rbx, %r15
je 0x11595
movq %r15, %rdi
callq 0x13096
addq $0x28, %r15
jmp 0x11577
movq %r14, %rdi
movq %rbx, %rsi
callq 0x12f52
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x115aa
callq 0x3230
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x11607
jmp 0x11607
jmp 0x11607
jmp 0x11607
jmp 0x11607
jmp 0x11607
jmp 0x11607
jmp 0x11607
jmp 0x115d9
jmp 0x115ec
jmp 0x115d9
jmp 0x115ec
jmp 0x115d9
jmp 0x115ec
jmp 0x115d9
jmp 0x115ec
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x115ef
callq 0x3230
jmp 0x115ef
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x1160a
callq 0x3230
jmp 0x1160a
jmp 0x11607
jmp 0x11607
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x1161f
callq 0x3230
movq %rbx, %rdi
callq 0x3440