candcc.cgs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. # frv testcase for candcc $GRi,$GRj,$GRk,$CCi,$cond
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global candcc
  6. candcc:
  7. set_spr_immed 0x1b1b,cccr
  8. set_gr_limmed 0xaaaa,0xaaaa,gr7
  9. set_gr_limmed 0x5555,0x5555,gr8
  10. set_icc 0x0b,0 ; Set mask opposite of expected
  11. candcc gr7,gr8,gr8,cc0,1
  12. test_icc 0 1 1 1 icc0
  13. test_gr_immed 0,gr8
  14. set_gr_limmed 0xffff,0x0000,gr8
  15. set_icc 0x04,0 ; Set mask opposite of expected
  16. candcc gr7,gr8,gr8,cc0,1
  17. test_icc 1 0 0 0 icc0
  18. test_gr_limmed 0xaaaa,0x0000,gr8
  19. set_gr_limmed 0x0000,0xffff,gr8
  20. set_icc 0x0d,0 ; Set mask opposite of expected
  21. candcc gr7,gr8,gr8,cc4,1
  22. test_icc 0 0 0 1 icc0
  23. test_gr_limmed 0x0000,0xaaaa,gr8
  24. set_gr_limmed 0xaaaa,0xaaaa,gr7
  25. set_gr_limmed 0x5555,0x5555,gr8
  26. set_icc 0x0b,0 ; Set mask opposite of expected
  27. candcc gr7,gr8,gr8,cc0,0
  28. test_icc 1 0 1 1 icc0
  29. test_gr_limmed 0x5555,0x5555,gr8
  30. set_gr_limmed 0xffff,0x0000,gr8
  31. set_icc 0x04,0 ; Set mask opposite of expected
  32. candcc gr7,gr8,gr8,cc0,0
  33. test_icc 0 1 0 0 icc0
  34. test_gr_limmed 0xffff,0x0000,gr8
  35. set_gr_limmed 0x0000,0xffff,gr8
  36. set_icc 0x0d,0 ; Set mask opposite of expected
  37. candcc gr7,gr8,gr8,cc4,0
  38. test_icc 1 1 0 1 icc0
  39. test_gr_limmed 0x0000,0xffff,gr8
  40. set_gr_limmed 0xaaaa,0xaaaa,gr7
  41. set_gr_limmed 0x5555,0x5555,gr8
  42. set_icc 0x0b,1 ; Set mask opposite of expected
  43. candcc gr7,gr8,gr8,cc1,0
  44. test_icc 0 1 1 1 icc1
  45. test_gr_immed 0,gr8
  46. set_gr_limmed 0xffff,0x0000,gr8
  47. set_icc 0x04,1 ; Set mask opposite of expected
  48. candcc gr7,gr8,gr8,cc1,0
  49. test_icc 1 0 0 0 icc1
  50. test_gr_limmed 0xaaaa,0x0000,gr8
  51. set_gr_limmed 0x0000,0xffff,gr8
  52. set_icc 0x0d,1 ; Set mask opposite of expected
  53. candcc gr7,gr8,gr8,cc5,0
  54. test_icc 0 0 0 1 icc1
  55. test_gr_limmed 0x0000,0xaaaa,gr8
  56. set_gr_limmed 0xaaaa,0xaaaa,gr7
  57. set_gr_limmed 0x5555,0x5555,gr8
  58. set_icc 0x0b,1 ; Set mask opposite of expected
  59. candcc gr7,gr8,gr8,cc1,1
  60. test_icc 1 0 1 1 icc1
  61. test_gr_limmed 0x5555,0x5555,gr8
  62. set_gr_limmed 0xffff,0x0000,gr8
  63. set_icc 0x04,1 ; Set mask opposite of expected
  64. candcc gr7,gr8,gr8,cc1,1
  65. test_icc 0 1 0 0 icc1
  66. test_gr_limmed 0xffff,0x0000,gr8
  67. set_gr_limmed 0x0000,0xffff,gr8
  68. set_icc 0x0d,1 ; Set mask opposite of expected
  69. candcc gr7,gr8,gr8,cc5,1
  70. test_icc 1 1 0 1 icc1
  71. test_gr_limmed 0x0000,0xffff,gr8
  72. set_gr_limmed 0xaaaa,0xaaaa,gr7
  73. set_gr_limmed 0x5555,0x5555,gr8
  74. set_icc 0x0b,2 ; Set mask opposite of expected
  75. candcc gr7,gr8,gr8,cc2,0
  76. test_icc 1 0 1 1 icc2
  77. test_gr_limmed 0x5555,0x5555,gr8
  78. set_gr_limmed 0xffff,0x0000,gr8
  79. set_icc 0x04,2 ; Set mask opposite of expected
  80. candcc gr7,gr8,gr8,cc2,0
  81. test_icc 0 1 0 0 icc2
  82. test_gr_limmed 0xffff,0x0000,gr8
  83. set_gr_limmed 0x0000,0xffff,gr8
  84. set_icc 0x0d,2 ; Set mask opposite of expected
  85. candcc gr7,gr8,gr8,cc6,1
  86. test_icc 1 1 0 1 icc2
  87. test_gr_limmed 0x0000,0xffff,gr8
  88. set_gr_limmed 0xaaaa,0xaaaa,gr7
  89. set_gr_limmed 0x5555,0x5555,gr8
  90. set_icc 0x0b,3 ; Set mask opposite of expected
  91. candcc gr7,gr8,gr8,cc3,0
  92. test_icc 1 0 1 1 icc3
  93. test_gr_limmed 0x5555,0x5555,gr8
  94. set_gr_limmed 0xffff,0x0000,gr8
  95. set_icc 0x04,3 ; Set mask opposite of expected
  96. candcc gr7,gr8,gr8,cc3,0
  97. test_icc 0 1 0 0 icc3
  98. test_gr_limmed 0xffff,0x0000,gr8
  99. set_gr_limmed 0x0000,0xffff,gr8
  100. set_icc 0x0d,3 ; Set mask opposite of expected
  101. candcc gr7,gr8,gr8,cc7,1
  102. test_icc 1 1 0 1 icc3
  103. test_gr_limmed 0x0000,0xffff,gr8
  104. pass