1# frv parallel testcase for branching
2# mach: fr500 fr550 frv
3
4	.include "testutils.inc"
5
6	start
7
8	.global branch
9branch:	; All insns in VLIW execute
10	setlos.p	1,gr1
11	setlos		0,gr2
12	setlos.p	0,gr3
13	bra		ok1
14	setlos.p	2,gr2
15	setlos		3,gr3
16	fail
17ok1:
18	test_gr_immed  	1,gr1
19	test_gr_immed  	0,gr2
20	test_gr_immed  	0,gr3
21
22	; 1st branch is taken
23	bra.p		ok5
24	bra		ok4
25	bra.p		ok3
26	bra		ok2
27	fail
28ok2:
29	fail
30ok3:
31	fail
32ok4:
33	fail
34ok5:
35	; 1st true branch is taken
36	set_icc		0x4 1
37	bne.p		icc1,1,ok6
38	blt		icc1,1,ok7
39	beq.p		icc1,1,ok9
40	ble		icc1,1,ok8
41	fail
42ok6:
43	fail
44ok7:
45	fail
46ok8:
47	fail
48ok9:
49	; combination of the above
50	set_icc		0x4 1
51	setlos.p	4,gr4
52	setlos.p	0,gr5
53	bne.p		icc1,1,oka
54	beq		icc1,1,okb
55	setlos		5,gr5
56	fail
57oka:
58	fail
59okb:
60	test_gr_immed  	4,gr4
61	test_gr_immed  	0,gr5
62
63	pass
64