123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- # frv parallel testcase for branching
- # mach: fr500 fr550 frv
- .include "testutils.inc"
- start
- .global branch
- branch: ; All insns in VLIW execute
- setlos.p 1,gr1
- setlos 0,gr2
- setlos.p 0,gr3
- bra ok1
- setlos.p 2,gr2
- setlos 3,gr3
- fail
- ok1:
- test_gr_immed 1,gr1
- test_gr_immed 0,gr2
- test_gr_immed 0,gr3
- ; 1st branch is taken
- bra.p ok5
- bra ok4
- bra.p ok3
- bra ok2
- fail
- ok2:
- fail
- ok3:
- fail
- ok4:
- fail
- ok5:
- ; 1st true branch is taken
- set_icc 0x4 1
- bne.p icc1,1,ok6
- blt icc1,1,ok7
- beq.p icc1,1,ok9
- ble icc1,1,ok8
- fail
- ok6:
- fail
- ok7:
- fail
- ok8:
- fail
- ok9:
- ; combination of the above
- set_icc 0x4 1
- setlos.p 4,gr4
- setlos.p 0,gr5
- bne.p icc1,1,oka
- beq icc1,1,okb
- setlos 5,gr5
- fail
- oka:
- fail
- okb:
- test_gr_immed 4,gr4
- test_gr_immed 0,gr5
- pass
|