tinc.cgs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # frv testcase for tinc $ICCi_2,$GRi,$s12
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global tinc
  6. tinc:
  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_psr_et 1
  14. set_spr_addr ok0,lr
  15. set_icc 0x0 0
  16. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  17. fail
  18. ok0:
  19. set_spr_addr bad,lr
  20. set_icc 0x1 0
  21. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  22. set_psr_et 1
  23. set_spr_addr ok2,lr
  24. set_icc 0x2 0
  25. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  26. fail
  27. ok2:
  28. set_spr_addr bad,lr
  29. set_icc 0x3 0
  30. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  31. set_psr_et 1
  32. set_spr_addr ok4,lr
  33. set_icc 0x4 0
  34. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  35. fail
  36. ok4:
  37. set_spr_addr bad,lr
  38. set_icc 0x5 0
  39. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  40. set_psr_et 1
  41. set_spr_addr ok6,lr
  42. set_icc 0x6 0
  43. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  44. fail
  45. ok6:
  46. set_spr_addr bad,lr
  47. set_icc 0x7 0
  48. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  49. set_psr_et 1
  50. set_spr_addr ok8,lr
  51. set_icc 0x8 0
  52. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  53. fail
  54. ok8:
  55. set_spr_addr bad,lr
  56. set_icc 0x9 0
  57. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  58. set_psr_et 1
  59. set_spr_addr oka,lr
  60. set_icc 0xa 0
  61. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  62. fail
  63. oka:
  64. set_spr_addr bad,lr
  65. set_icc 0xb 0
  66. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  67. set_psr_et 1
  68. set_spr_addr okc,lr
  69. set_icc 0xc 0
  70. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  71. fail
  72. okc:
  73. set_spr_addr bad,lr
  74. set_icc 0xd 0
  75. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  76. set_psr_et 1
  77. set_spr_addr oke,lr
  78. set_icc 0xe 0
  79. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  80. fail
  81. oke:
  82. set_spr_addr bad,lr
  83. set_icc 0xf 0
  84. tinc icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  85. pass
  86. bad:
  87. fail