// File: ys1998[P]spsim/src/queues.cpp
// Function: AddressQueue::no_notcalculated_branch_above(Instruction)
bool AddressQueue::no_notcalculated_branch_above(Instruction i){

	for(Buffer< std::pair<Instruction, bool> >::iterator it = al->_q.begin(); it->first.get_id()!=i.get_id() ; ++it){
			if(std::get<0>(it->first.type())==OPCODE["beq"]||std::get<0>(it->first.type())==OPCODE["bne"])
				if(!it->second){
					return 0;
				}
		}
	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rsi, -0xb0(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0xa8(%rax), %rsi
leaq -0x38(%rbp), %rdi
callq 0x13b70
leaq -0x38(%rbp), %rdi
callq 0x1dab0
movq %rax, %rdi
callq 0x6270
movq -0xb0(%rbp), %rdi
movl %eax, -0xb4(%rbp)
callq 0x6270
movl %eax, %ecx
movl -0xb4(%rbp), %eax
cmpl %ecx, %eax
je 0x1d51c
leaq -0x38(%rbp), %rdi
callq 0x1dab0
movq %rax, %rsi
leaq -0x40(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x105b0
movq -0xd0(%rbp), %rdi
callq 0x6210
movl (%rax), %eax
movl %eax, -0xc4(%rbp)
leaq -0x61(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x3490
movq -0xc0(%rbp), %rdx
movb $0x0, -0xa2(%rbp)
movb $0x0, -0xa3(%rbp)
leaq 0x4ccf(%rip), %rsi      # 0x2200c
leaq -0x60(%rbp), %rdi
callq 0x6020
jmp 0x1d348
leaq 0x11f79(%rip), %rdi     # 0x2f2c8
leaq -0x60(%rbp), %rsi
callq 0x5f40
movq %rax, -0xd8(%rbp)
jmp 0x1d361
movl -0xc4(%rbp), %ecx
movq -0xd8(%rbp), %rdx
movb $0x1, %al
cmpl (%rdx), %ecx
movb %al, -0xd9(%rbp)
je 0x1d417
leaq -0x38(%rbp), %rdi
callq 0x1dab0
movq %rax, %rsi
leaq -0x7c(%rbp), %rdi
callq 0x105b0
jmp 0x1d395
leaq -0x7c(%rbp), %rdi
callq 0x6210
movl (%rax), %eax
movl %eax, -0xec(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x3490
movq -0xe8(%rbp), %rdx
movb $0x1, -0xa2(%rbp)
leaq 0x4c42(%rip), %rsi      # 0x22010
leaq -0xa0(%rbp), %rdi
callq 0x6020
jmp 0x1d3dc
movb $0x1, -0xa3(%rbp)
leaq 0x11ede(%rip), %rdi     # 0x2f2c8
leaq -0xa0(%rbp), %rsi
callq 0x5f40
movq %rax, -0xf8(%rbp)
jmp 0x1d3ff
movl -0xec(%rbp), %eax
movq -0xf8(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
movb %al, -0xd9(%rbp)
movb -0xd9(%rbp), %al
movb %al, -0xf9(%rbp)
testb $0x1, -0xa3(%rbp)
jne 0x1d42e
jmp 0x1d43a
leaq -0xa0(%rbp), %rdi
callq 0x31e0
testb $0x1, -0xa2(%rbp)
jne 0x1d445
jmp 0x1d451
leaq -0xa1(%rbp), %rdi
callq 0x3300
leaq -0x60(%rbp), %rdi
callq 0x31e0
leaq -0x61(%rbp), %rdi
callq 0x3300
movb -0xf9(%rbp), %al
testb $0x1, %al
jne 0x1d472
jmp 0x1d50c
leaq -0x38(%rbp), %rdi
callq 0x1dab0
testb $0x1, 0x78(%rax)
jne 0x1d50a
movb $0x0, -0x1(%rbp)
jmp 0x1d520
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x1d4ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x1d4f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x1d4dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
testb $0x1, -0xa3(%rbp)
jne 0x1d4cf
jmp 0x1d4db
leaq -0xa0(%rbp), %rdi
callq 0x31e0
jmp 0x1d4dd
testb $0x1, -0xa2(%rbp)
jne 0x1d4e8
jmp 0x1d4f4
leaq -0xa1(%rbp), %rdi
callq 0x3300
jmp 0x1d4f6
leaq -0x60(%rbp), %rdi
callq 0x31e0
leaq -0x61(%rbp), %rdi
callq 0x3300
jmp 0x1d52e
jmp 0x1d50c
jmp 0x1d50e
leaq -0x38(%rbp), %rdi
callq 0x13c20
jmp 0x1d2ae
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x3480
nopw (%rax,%rax)