BO operand encodings

0+y	0000y	decrement CTR, then branch if CTR != 0 && condition is false
2+y	0001y	decrement CTR, then branch if CTR == 0 && condition is false
4+y	0010y	branch if condition is false
8+y	0100y	decrement CTR, then branch if CTR != 0 && condition is true
10+y	0101y	decrement CTR, then branch if CTR == 0 && condition is true
12+y	0110y	branch if condition is true
16+y	1000y	decrement CTR, then branch if CTR != 0
18+y	1001y	decrement CTR, then branch if CTR == 0
20	10100	branch always

y=0:
	BCx with negative displacement: branch probably taken
	all other cases: branch not taken

y=1:
	reverse prediction

predict to be taken if
	((BO[0] & BO[2]) | sign(displacement)) xor y

CR field bit:

lt	0
gt	1
eq	2
so	3
un	3	(after fp comparison)

CR fields:

cr0	0
cr1	4
cr2	8
...
cr7	28
