lrbranch.pcgs 744 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # frv parallel testcase for lr branching
  2. # mach: fr500 fr550 frv
  3. .include "testutils.inc"
  4. start
  5. .global lrbranch
  6. lrbranch:
  7. ; Both conditions true
  8. set_spr_immed 128,lcr
  9. set_spr_addr ok1,lr
  10. set_icc 0x4 0
  11. bcgelr.p icc0,0,0
  12. bra ok4
  13. fail
  14. ok1:
  15. test_spr_immed 127,LCR
  16. ; Only first condition true
  17. set_spr_immed 128,lcr
  18. set_spr_addr ok2,lr
  19. set_icc 0x0 0
  20. bcgelr.p icc0,0,0
  21. bno
  22. fail
  23. ok2:
  24. test_spr_immed 127,LCR
  25. ; Only second condition true
  26. set_spr_immed 128,lcr
  27. set_spr_addr ok3,lr
  28. set_icc 0x8 0
  29. bcgelr.p icc0,0,0
  30. bra ok3
  31. fail
  32. ok3:
  33. test_spr_immed 127,LCR
  34. ; Both conditions false
  35. set_spr_immed 128,lcr
  36. set_spr_addr ok4,lr
  37. set_icc 0x0 0
  38. bceqlr.p icc0,0,0
  39. bno
  40. test_spr_immed 127,LCR
  41. pass
  42. ok4:
  43. fail