ftne.cgs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. # frv testcase for ftne $FCCi_2,$GRi,$GRj
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global ftne
  6. ftne:
  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_gr_immed 4,gr8
  14. set_spr_addr bad,lr
  15. set_fcc 0x0 0
  16. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  17. set_psr_et 1
  18. set_spr_addr ok1,lr
  19. set_fcc 0x1 0
  20. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  21. fail
  22. ok1:
  23. set_psr_et 1
  24. set_spr_addr ok2,lr
  25. set_fcc 0x2 0
  26. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  27. fail
  28. ok2:
  29. set_psr_et 1
  30. set_spr_addr ok3,lr
  31. set_fcc 0x3 0
  32. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  33. fail
  34. ok3:
  35. set_psr_et 1
  36. set_spr_addr ok4,lr
  37. set_fcc 0x4 0
  38. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  39. fail
  40. ok4:
  41. set_psr_et 1
  42. set_spr_addr ok5,lr
  43. set_fcc 0x5 0
  44. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  45. fail
  46. ok5:
  47. set_psr_et 1
  48. set_spr_addr ok6,lr
  49. set_fcc 0x6 0
  50. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  51. fail
  52. ok6:
  53. set_psr_et 1
  54. set_spr_addr ok7,lr
  55. set_fcc 0x7 0
  56. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  57. fail
  58. ok7:
  59. set_spr_addr bad,lr
  60. set_fcc 0x8 0
  61. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  62. set_psr_et 1
  63. set_spr_addr ok9,lr
  64. set_fcc 0x9 0
  65. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  66. fail
  67. ok9:
  68. set_psr_et 1
  69. set_spr_addr oka,lr
  70. set_fcc 0xa 0
  71. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  72. fail
  73. oka:
  74. set_psr_et 1
  75. set_spr_addr okb,lr
  76. set_fcc 0xb 0
  77. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  78. fail
  79. okb:
  80. set_psr_et 1
  81. set_spr_addr okc,lr
  82. set_fcc 0xc 0
  83. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  84. fail
  85. okc:
  86. set_psr_et 1
  87. set_spr_addr okd,lr
  88. set_fcc 0xd 0
  89. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  90. fail
  91. okd:
  92. set_psr_et 1
  93. set_spr_addr oke,lr
  94. set_fcc 0xe 0
  95. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  96. fail
  97. oke:
  98. set_psr_et 1
  99. set_spr_addr okf,lr
  100. set_fcc 0xf 0
  101. ftne fcc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
  102. fail
  103. okf:
  104. pass
  105. bad:
  106. fail