// File: MPSLab-ASU[P]DiRAC/./src/baseAccelSim.cc
// Function: baseAccelSim::define_vars_network_comm_management()
void baseAccelSim::define_vars_network_comm_management()
{
	read_data_RF_pass																		= new bool*[RF_passes];
	RF_pass_network_read_operand												= new std::vector<uint8_t>*[RF_passes];
	RF_pass_network_read_operand_offset_network_packet	= new std::vector<uint16_t>*[RF_passes];
	RF_pass_network_read_operand_burst_width_elements		= new std::vector<uint32_t>*[RF_passes];
	RF_pass_network_read_operand_offset_base_addr_SPM		= new std::vector<uint32_t>*[RF_passes];
	write_data_RF_pass																	= new bool*[RF_passes + WB_delay_RF_pass];
	RF_pass_network_write_operand												= new std::vector<uint8_t>*[RF_passes + WB_delay_RF_pass];
	RF_pass_network_write_operand_offset_network_packet	= new std::vector<uint16_t>*[RF_passes + WB_delay_RF_pass];
	RF_pass_network_write_operand_burst_width_elements	= new std::vector<uint32_t>*[RF_passes + WB_delay_RF_pass];
	RF_pass_network_write_operand_offset_base_addr_SPM	= new std::vector<uint32_t>*[RF_passes + WB_delay_RF_pass];
	for(uint8_t it=0; it < RF_passes; it++)
	{
		read_data_RF_pass[it]																		= new bool[inNetworks]();
		RF_pass_network_read_operand[it]												= new std::vector<uint8_t>[inNetworks];
		RF_pass_network_read_operand_offset_network_packet[it]	= new std::vector<uint16_t>[inNetworks];
		RF_pass_network_read_operand_burst_width_elements[it]		= new std::vector<uint32_t>[inNetworks];
		RF_pass_network_read_operand_offset_base_addr_SPM[it]		= new std::vector<uint32_t>[inNetworks];
	}
	for(uint8_t it=0; it < RF_passes + WB_delay_RF_pass; it++)
	{
		write_data_RF_pass[it]																	= new bool[outNetworks]();
		RF_pass_network_write_operand[it]												= new std::vector<uint8_t>[outNetworks];
		RF_pass_network_write_operand_offset_network_packet[it]	= new std::vector<uint16_t>[outNetworks];
		RF_pass_network_write_operand_burst_width_elements[it]	= new std::vector<uint32_t>[outNetworks];
		RF_pass_network_write_operand_offset_base_addr_SPM[it]	= new std::vector<uint32_t>[outNetworks];
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rdi, -0x8(%rbp)
movzwl 0x21362c(%rip), %eax    # 0x61e552
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x21373a(%rip)    # 0x61e688
movzwl 0x2135fd(%rip), %eax    # 0x61e552
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x213713(%rip)    # 0x61e690
movzwl 0x2135ce(%rip), %eax    # 0x61e552
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x2136ec(%rip)    # 0x61e698
movzwl 0x21359f(%rip), %eax    # 0x61e552
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x2136c5(%rip)    # 0x61e6a0
movzwl 0x213570(%rip), %eax    # 0x61e552
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x21369e(%rip)    # 0x61e6a8
movzwl 0x213541(%rip), %eax    # 0x61e552
addl $0x2, %eax
cltq
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x213672(%rip)    # 0x61e6b0
movzwl 0x21350d(%rip), %eax    # 0x61e552
addl $0x2, %eax
cltq
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x213646(%rip)    # 0x61e6b8
movzwl 0x2134d9(%rip), %eax    # 0x61e552
addl $0x2, %eax
cltq
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x21361a(%rip)    # 0x61e6c0
movzwl 0x2134a5(%rip), %eax    # 0x61e552
addl $0x2, %eax
cltq
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x2135ee(%rip)    # 0x61e6c8
movzwl 0x213471(%rip), %eax    # 0x61e552
addl $0x2, %eax
cltq
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, 0x2135c2(%rip)    # 0x61e6d0
movb $0x0, -0x9(%rbp)
movzbl -0x9(%rbp), %eax
movzwl 0x213435(%rip), %ecx    # 0x61e552
cmpl %ecx, %eax
jge 0x40b415
movzbl 0x211025(%rip), %eax    # 0x61c151
movl %eax, %edi
movq %rdi, -0x30(%rbp)
callq 0x425dd0
movq -0x30(%rbp), %rdx
movq %rax, %rdi
movq %rdi, -0x28(%rbp)
xorl %esi, %esi
callq 0x401080
movq -0x28(%rbp), %rdx
movq 0x213534(%rip), %rax    # 0x61e688
movzbl -0x9(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x210fee(%rip), %eax    # 0x61c151
movq %rax, -0x20(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0x18(%rbp)
cmpq $0x0, %rax
je 0x40b1e5
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0x40(%rbp)
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x40f610
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0x38(%rbp)
jne 0x40b1c3
movq -0x18(%rbp), %rdx
movq 0x2134a0(%rip), %rax    # 0x61e690
movzbl -0x9(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x210f52(%rip), %eax    # 0x61c151
movq %rax, -0x58(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0x58(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0x50(%rbp)
cmpq $0x0, %rax
je 0x40b281
movq -0x50(%rbp), %rax
movq -0x58(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0x68(%rbp)
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x40f2b0
movq -0x70(%rbp), %rax
movq -0x68(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0x60(%rbp)
jne 0x40b25f
movq -0x50(%rbp), %rdx
movq 0x21340c(%rip), %rax    # 0x61e698
movzbl -0x9(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x210eb6(%rip), %eax    # 0x61c151
movq %rax, -0x80(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0x80(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0x78(%rbp)
cmpq $0x0, %rax
je 0x40b332
movq -0x78(%rbp), %rax
movq -0x80(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0x90(%rbp)
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x40f1e0
movq -0x98(%rbp), %rax
movq -0x90(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0x88(%rbp)
jne 0x40b301
movq -0x78(%rbp), %rdx
movq 0x213363(%rip), %rax    # 0x61e6a0
movzbl -0x9(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x210e05(%rip), %eax    # 0x61c151
movq %rax, -0xa8(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0xa8(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0xa0(%rbp)
cmpq $0x0, %rax
je 0x40b3f2
movq -0xa0(%rbp), %rax
movq -0xa8(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0xb8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x40f1e0
movq -0xc0(%rbp), %rax
movq -0xb8(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0xb0(%rbp)
jne 0x40b3c1
movq -0xa0(%rbp), %rdx
movq 0x2132a8(%rip), %rax    # 0x61e6a8
movzbl -0x9(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movb -0x9(%rbp), %al
addb $0x1, %al
movb %al, -0x9(%rbp)
jmp 0x40b112
movb $0x0, -0xa(%rbp)
movzbl -0xa(%rbp), %eax
movzwl 0x21312e(%rip), %ecx    # 0x61e552
addl $0x2, %ecx
cmpl %ecx, %eax
jge 0x40b78b
movzbl 0x2131ae(%rip), %eax    # 0x61e5e4
movl %eax, %edi
movq %rdi, -0xe0(%rbp)
callq 0x425dd0
movq -0xe0(%rbp), %rdx
movq %rax, %rdi
movq %rdi, -0xd8(%rbp)
xorl %esi, %esi
callq 0x401080
movq -0xd8(%rbp), %rdx
movq 0x213246(%rip), %rax    # 0x61e6b0
movzbl -0xa(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x21316b(%rip), %eax    # 0x61e5e4
movq %rax, -0xd0(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0xd0(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0xc8(%rbp)
cmpq $0x0, %rax
je 0x40b51f
movq -0xc8(%rbp), %rax
movq -0xd0(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0xf0(%rbp)
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x40f610
movq -0xf8(%rbp), %rax
movq -0xf0(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0xe8(%rbp)
jne 0x40b4ee
movq -0xc8(%rbp), %rdx
movq 0x21318b(%rip), %rax    # 0x61e6b8
movzbl -0xa(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x2130a8(%rip), %eax    # 0x61e5e4
movq %rax, -0x108(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0x108(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0x100(%rbp)
cmpq $0x0, %rax
je 0x40b5e2
movq -0x100(%rbp), %rax
movq -0x108(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0x118(%rbp)
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x40f2b0
movq -0x120(%rbp), %rax
movq -0x118(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0x110(%rbp)
jne 0x40b5b1
movq -0x100(%rbp), %rdx
movq 0x2130d0(%rip), %rax    # 0x61e6c0
movzbl -0xa(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x212fe5(%rip), %eax    # 0x61e5e4
movq %rax, -0x130(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0x130(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0x128(%rbp)
cmpq $0x0, %rax
je 0x40b6a5
movq -0x128(%rbp), %rax
movq -0x130(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0x140(%rbp)
movq %rax, -0x138(%rbp)
movq -0x138(%rbp), %rdi
movq %rdi, -0x148(%rbp)
callq 0x40f1e0
movq -0x148(%rbp), %rax
movq -0x140(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0x138(%rbp)
jne 0x40b674
movq -0x128(%rbp), %rdx
movq 0x213015(%rip), %rax    # 0x61e6c8
movzbl -0xa(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movzbl 0x212f22(%rip), %eax    # 0x61e5e4
movq %rax, -0x158(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
setb %al
orb %al, %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x425dd0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0x150(%rbp)
cmpq $0x0, %rax
je 0x40b768
movq -0x150(%rbp), %rax
movq -0x158(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0x168(%rbp)
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x40f1e0
movq -0x170(%rbp), %rax
movq -0x168(%rbp), %rcx
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0x160(%rbp)
jne 0x40b737
movq -0x150(%rbp), %rdx
movq 0x212f5a(%rip), %rax    # 0x61e6d0
movzbl -0xa(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movb -0xa(%rbp), %al
addb $0x1, %al
movb %al, -0xa(%rbp)
jmp 0x40b419
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
nopw %cs:(%rax,%rax)