// File: /workspace/github_c_makefile_star2_O0/intel[P]pf-bb-config/vrb2/vrb2_cfg_parser.c
// Function: vrb2_range_check
int
vrb2_range_check(struct vrb2_conf *vrb2_conf)
{
	uint16_t totalQgs = vrb2_conf->q_ul_4g.num_qgroups +
			vrb2_conf->q_ul_5g.num_qgroups +
			vrb2_conf->q_dl_4g.num_qgroups +
			vrb2_conf->q_dl_5g.num_qgroups +
			vrb2_conf->q_fft.num_qgroups +
			vrb2_conf->q_mld.num_qgroups;
	if (totalQgs > VRB2_NUM_QGRPS) {
		printf("ERROR: Number of Qgroups %d > %d\n",
				totalQgs, VRB2_NUM_QGRPS);
		return -1;
	}
	if (vrb2_conf->num_vf_bundles > VRB2_NUM_VFS) {
		printf("ERROR: Number of VFs bundle %d > %d\n",
				vrb2_conf->num_vf_bundles, VRB2_NUM_VFS);
		return -1;
	}
	if (vrb2_queue_range_check(vrb2_conf->q_ul_4g) != 0)
		return -1;
	if (vrb2_queue_range_check(vrb2_conf->q_dl_4g) != 0)
		return -1;
	if (vrb2_queue_range_check(vrb2_conf->q_ul_5g) != 0)
		return -1;
	if (vrb2_queue_range_check(vrb2_conf->q_dl_5g) != 0)
		return -1;
	if (vrb2_queue_range_check(vrb2_conf->q_fft) != 0)
		return -1;
	if (vrb2_queue_range_check(vrb2_conf->q_mld) != 0)
		return -1;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movzwl 0x6(%rax), %eax
movq -0x10(%rbp), %rcx
movzwl 0x12(%rcx), %ecx
addl %ecx, %eax
movq -0x10(%rbp), %rcx
movzwl 0xc(%rcx), %ecx
addl %ecx, %eax
movq -0x10(%rbp), %rcx
movzwl 0x18(%rcx), %ecx
addl %ecx, %eax
movq -0x10(%rbp), %rcx
movzwl 0x1e(%rcx), %ecx
addl %ecx, %eax
movq -0x10(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
addl %ecx, %eax
movw %ax, -0x12(%rbp)
movzwl -0x12(%rbp), %eax
cmpl $0x20, %eax
jle 0x1c626
movzwl -0x12(%rbp), %esi
leaq 0x75de(%rip), %rdi      # 0x23bec
movl $0x20, %edx
movb $0x0, %al
callq 0xd140
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movq -0x10(%rbp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x40, %eax
jle 0x1c65a
movq -0x10(%rbp), %rax
movzwl 0x4(%rax), %esi
leaq 0x75cc(%rip), %rdi      # 0x23c0e
movl $0x40, %edx
movb $0x0, %al
callq 0xd140
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movq -0x10(%rbp), %rax
movw 0xa(%rax), %cx
movw %cx, -0x1c(%rbp)
movl 0x6(%rax), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %ecx
movl -0x1c(%rbp), %eax
movl %ecx, %edi
shlq $0x20, %rax
orq %rax, %rdi
callq 0x1c4c0
cmpl $0x0, %eax
je 0x1c691
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movq -0x10(%rbp), %rax
movw 0x10(%rax), %cx
movw %cx, -0x24(%rbp)
movl 0xc(%rax), %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %ecx
movl -0x24(%rbp), %eax
movl %ecx, %edi
shlq $0x20, %rax
orq %rax, %rdi
callq 0x1c4c0
cmpl $0x0, %eax
je 0x1c6c8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movq -0x10(%rbp), %rax
movw 0x16(%rax), %cx
movw %cx, -0x2c(%rbp)
movl 0x12(%rax), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %ecx
movl -0x2c(%rbp), %eax
movl %ecx, %edi
shlq $0x20, %rax
orq %rax, %rdi
callq 0x1c4c0
cmpl $0x0, %eax
je 0x1c6ff
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movq -0x10(%rbp), %rax
movw 0x1c(%rax), %cx
movw %cx, -0x34(%rbp)
movl 0x18(%rax), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %ecx
movl -0x34(%rbp), %eax
movl %ecx, %edi
shlq $0x20, %rax
orq %rax, %rdi
callq 0x1c4c0
cmpl $0x0, %eax
je 0x1c733
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movq -0x10(%rbp), %rax
movw 0x22(%rax), %cx
movw %cx, -0x3c(%rbp)
movl 0x1e(%rax), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %ecx
movl -0x3c(%rbp), %eax
movl %ecx, %edi
shlq $0x20, %rax
orq %rax, %rdi
callq 0x1c4c0
cmpl $0x0, %eax
je 0x1c767
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movq -0x10(%rbp), %rax
movw 0x28(%rax), %cx
movw %cx, -0x44(%rbp)
movl 0x24(%rax), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %ecx
movl -0x44(%rbp), %eax
movl %ecx, %edi
shlq $0x20, %rax
orq %rax, %rdi
callq 0x1c4c0
cmpl $0x0, %eax
je 0x1c79b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1c7a2
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)