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