ftiu.cgs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # frv testcase for ftiu $FCCi_2,$GRi,$s12
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global ftiu
  6. ftiu:
  7. and_spr_immed -4081,tbr ; clear tbr.tt
  8. set_gr_spr tbr,gr7
  9. inc_gr_immed 2112,gr7 ; address of exception handler
  10. set_bctrlr_0_0 gr7 ; bctrlr 0,0
  11. set_spr_immed 128,lcr
  12. set_gr_immed 0,gr7
  13. set_spr_addr bad,lr
  14. set_fcc 0x0 0
  15. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  16. set_psr_et 1
  17. set_spr_addr ok1,lr
  18. set_fcc 0x1 0
  19. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  20. fail
  21. ok1:
  22. set_spr_addr bad,lr
  23. set_fcc 0x2 0
  24. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  25. set_psr_et 1
  26. set_spr_addr ok3,lr
  27. set_fcc 0x3 0
  28. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  29. fail
  30. ok3:
  31. set_spr_addr bad,lr
  32. set_fcc 0x4 0
  33. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  34. set_psr_et 1
  35. set_spr_addr ok5,lr
  36. set_fcc 0x5 0
  37. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  38. fail
  39. ok5:
  40. set_spr_addr bad,lr
  41. set_fcc 0x6 0
  42. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  43. set_psr_et 1
  44. set_spr_addr ok7,lr
  45. set_fcc 0x7 0
  46. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  47. fail
  48. ok7:
  49. set_spr_addr bad,lr
  50. set_fcc 0x8 0
  51. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  52. set_psr_et 1
  53. set_spr_addr ok9,lr
  54. set_fcc 0x9 0
  55. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  56. fail
  57. ok9:
  58. set_spr_addr bad,lr
  59. set_fcc 0xa 0
  60. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  61. set_psr_et 1
  62. set_spr_addr okb,lr
  63. set_fcc 0xb 0
  64. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  65. fail
  66. okb:
  67. set_spr_addr bad,lr
  68. set_fcc 0xc 0
  69. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  70. set_psr_et 1
  71. set_spr_addr okd,lr
  72. set_fcc 0xd 0
  73. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  74. fail
  75. okd:
  76. set_spr_addr bad,lr
  77. set_fcc 0xe 0
  78. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  79. set_psr_et 1
  80. set_spr_addr okf,lr
  81. set_fcc 0xf 0
  82. ftiu fcc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  83. fail
  84. okf:
  85. pass
  86. bad:
  87. fail