// File: /workspace/github_cpp_makefile_star2_O3/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 0x10f6f
leaq 0x4a2b(%rip), %rsi      # 0x15998
jmp 0x10f7c
cmpq $0x10, %rax
jae 0x10f84
leaq 0x4a1d(%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 0x10fe8
movl $0x4, %r13d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x10fdf
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x10fe5
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x10fe8
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r13d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x10fac
addl $-0x3, %r13d
jmp 0x10fe8
addl $-0x2, %r13d
jmp 0x10fe8
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 0x7056
leaq 0x4977(%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 0x11063
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x1106b
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 0x110a0
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x110ae
callq 0x3230
movl 0x54(%r14), %r15d
testl %r15d, %r15d
jle 0x11104
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x11129
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x11120
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x11126
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x11129
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x110d1
addl $-0x3, %r12d
jmp 0x11129
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3f44(%rip), %rsi      # 0x15056
leaq 0x3f3e(%rip), %rdx      # 0x15057
callq 0x721e
jmp 0x1115b
addl $-0x2, %r12d
jmp 0x11129
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 0x7056
leaq -0x38(%rbp), %rbx
leaq -0x88(%rbp), %r12
leaq 0x4837(%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 0x11195
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x1119d
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 0x111d2
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x111e0
callq 0x3230
movl 0x58(%r14), %r15d
testl %r15d, %r15d
jle 0x11236
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x1125b
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x11252
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x11258
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x1125b
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x11203
addl $-0x3, %r12d
jmp 0x1125b
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3e12(%rip), %rsi      # 0x15056
leaq 0x3e0c(%rip), %rdx      # 0x15057
callq 0x721e
jmp 0x1128d
addl $-0x2, %r12d
jmp 0x1125b
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 0x7056
leaq -0x38(%rbp), %rbx
leaq -0x88(%rbp), %r12
leaq 0x4705(%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 0x112c7
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x112cf
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 0x11304
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x11312
callq 0x3230
movl 0x5c(%r14), %r15d
testl %r15d, %r15d
jle 0x11368
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x1138d
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x11384
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x1138a
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x1138d
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x11335
addl $-0x3, %r12d
jmp 0x1138d
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3ce0(%rip), %rsi      # 0x15056
leaq 0x3cda(%rip), %rdx      # 0x15057
callq 0x721e
jmp 0x113bf
addl $-0x2, %r12d
jmp 0x1138d
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 0x7056
leaq -0x38(%rbp), %rbx
leaq -0x88(%rbp), %r12
leaq 0x45d3(%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 0x113f9
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x11401
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 0x11436
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x11444
callq 0x3230
movl 0x60(%r14), %r14d
testl %r14d, %r14d
jle 0x1149a
movl $0x1, %r15d
cmpl $0xa, %r14d
jb 0x114bf
movl $0x4, %r15d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x114b6
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x114bc
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x114bf
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r15d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x11467
addl $-0x3, %r15d
jmp 0x114bf
leaq -0x48(%rbp), %rdi
movq %rbx, (%rdi)
leaq 0x3bae(%rip), %rsi      # 0x15056
leaq 0x3ba8(%rip), %rdx      # 0x15057
callq 0x721e
jmp 0x114e2
addl $-0x2, %r15d
jmp 0x114bf
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 0x7056
leaq 0x44b0(%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 0x1151c
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x11524
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 0x11559
callq 0x3230
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x11567
callq 0x3230
leaq 0xd852(%rip), %rbx      # 0x1edc0
leaq -0x90(%rbp), %rsi
movq %rbx, %rdi
callq 0x13256
movq (%rbx), %r14
movq 0x8(%rbx), %rbx
cmpq %rbx, %r14
je 0x115f5
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 0x1265b
cmpq $0x281, %r15            # imm = 0x281
jl 0x115ea
leaq 0x280(%r14), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x12fad
cmpq %rbx, %r15
je 0x115f5
movq %r15, %rdi
callq 0x130f1
addq $0x28, %r15
jmp 0x115d7
movq %r14, %rdi
movq %rbx, %rsi
callq 0x12fad
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x1160a
callq 0x3230
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x11667
jmp 0x11667
jmp 0x11667
jmp 0x11667
jmp 0x11667
jmp 0x11667
jmp 0x11667
jmp 0x11667
jmp 0x11639
jmp 0x1164c
jmp 0x11639
jmp 0x1164c
jmp 0x11639
jmp 0x1164c
jmp 0x11639
jmp 0x1164c
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x1164f
callq 0x3230
jmp 0x1164f
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x1166a
callq 0x3230
jmp 0x1166a
jmp 0x11667
jmp 0x11667
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x1167f
callq 0x3230
movq %rbx, %rdi
callq 0x3440