tihi.cgs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # frv testcase for tihi $ICCi_2,$GRi,$s12
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global tihi
  6. tihi:
  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. tihi 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. tihi 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. tihi 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. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  31. set_spr_addr bad,lr
  32. set_icc 0x4 0
  33. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  34. set_spr_addr bad,lr
  35. set_icc 0x5 0
  36. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  37. set_spr_addr bad,lr
  38. set_icc 0x6 0
  39. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  40. set_spr_addr bad,lr
  41. set_icc 0x7 0
  42. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  43. set_psr_et 1
  44. set_spr_addr ok8,lr
  45. set_icc 0x8 0
  46. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  47. fail
  48. ok8:
  49. set_spr_addr bad,lr
  50. set_icc 0x9 0
  51. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  52. set_psr_et 1
  53. set_spr_addr oka,lr
  54. set_icc 0xa 0
  55. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  56. fail
  57. oka:
  58. set_spr_addr bad,lr
  59. set_icc 0xb 0
  60. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  61. set_spr_addr bad,lr
  62. set_icc 0xc 0
  63. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  64. set_spr_addr bad,lr
  65. set_icc 0xd 0
  66. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  67. set_spr_addr bad,lr
  68. set_icc 0xe 0
  69. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  70. set_spr_addr bad,lr
  71. set_icc 0xf 0
  72. tihi icc0,gr7,4 ; should branch to tbr + (128 + 4)*16
  73. pass
  74. bad:
  75. fail