tieq.cgs 2.0 KB

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