cldu.cgs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. # frv testcase for cldu @($GRi,$GRj),$GRk,$CCi,$cond
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global cldu
  6. cldu:
  7. set_spr_immed 0x1b1b,cccr
  8. set_gr_gr sp,gr20
  9. set_mem_limmed 0xdead,0xbeef,sp
  10. set_gr_limmed 0xbeef,0xdead,gr8
  11. set_gr_gr sp,gr9
  12. set_gr_immed 0,gr7
  13. cldu @(sp,gr7),gr8,cc0,1
  14. test_gr_limmed 0xdead,0xbeef,gr8
  15. test_gr_gr sp,gr9
  16. set_gr_limmed 0xbeef,0xdead,gr8
  17. inc_gr_immed -4,sp
  18. set_gr_immed 4,gr7
  19. cldu @(sp,gr7),gr8,cc0,1
  20. test_gr_limmed 0xdead,0xbeef,gr8
  21. test_gr_gr sp,gr9
  22. set_gr_limmed 0xbeef,0xdead,gr8
  23. inc_gr_immed 4,sp
  24. set_gr_immed -4,gr7
  25. cldu @(sp,gr7),gr8,cc4,1
  26. test_gr_limmed 0xdead,0xbeef,gr8
  27. test_gr_gr sp,gr9
  28. set_gr_gr sp,gr20
  29. set_mem_limmed 0xdead,0xbeef,sp
  30. set_gr_limmed 0xbeef,0xdead,gr8
  31. set_gr_gr sp,gr9
  32. set_gr_immed 0,gr7
  33. cldu @(sp,gr7),gr8,cc0,0
  34. test_gr_limmed 0xbeef,0xdead,gr8
  35. test_gr_gr sp,gr9
  36. set_gr_limmed 0xbeef,0xdead,gr8
  37. inc_gr_immed -4,gr9
  38. inc_gr_immed -4,sp
  39. set_gr_immed 4,gr7
  40. cldu @(sp,gr7),gr8,cc0,0
  41. test_gr_limmed 0xbeef,0xdead,gr8
  42. test_gr_gr sp,gr9
  43. set_gr_limmed 0xbeef,0xdead,gr8
  44. inc_gr_immed 8,gr9
  45. inc_gr_immed 8,sp
  46. set_gr_immed -4,gr7
  47. cldu @(sp,gr7),gr8,cc4,0
  48. test_gr_limmed 0xbeef,0xdead,gr8
  49. test_gr_gr sp,gr9
  50. set_gr_gr sp,gr20
  51. set_mem_limmed 0xdead,0xbeef,sp
  52. set_gr_limmed 0xbeef,0xdead,gr8
  53. set_gr_gr sp,gr9
  54. set_gr_immed 0,gr7
  55. cldu @(sp,gr7),gr8,cc1,0
  56. test_gr_limmed 0xdead,0xbeef,gr8
  57. test_gr_gr sp,gr9
  58. set_gr_limmed 0xbeef,0xdead,gr8
  59. inc_gr_immed -4,sp
  60. set_gr_immed 4,gr7
  61. cldu @(sp,gr7),gr8,cc1,0
  62. test_gr_limmed 0xdead,0xbeef,gr8
  63. test_gr_gr sp,gr9
  64. set_gr_limmed 0xbeef,0xdead,gr8
  65. inc_gr_immed 4,sp
  66. set_gr_immed -4,gr7
  67. cldu @(sp,gr7),gr8,cc5,0
  68. test_gr_limmed 0xdead,0xbeef,gr8
  69. test_gr_gr sp,gr9
  70. set_gr_gr sp,gr20
  71. set_mem_limmed 0xdead,0xbeef,sp
  72. set_gr_limmed 0xbeef,0xdead,gr8
  73. set_gr_gr sp,gr9
  74. set_gr_immed 0,gr7
  75. cldu @(sp,gr7),gr8,cc1,1
  76. test_gr_limmed 0xbeef,0xdead,gr8
  77. test_gr_gr sp,gr9
  78. set_gr_limmed 0xbeef,0xdead,gr8
  79. inc_gr_immed -4,gr9
  80. inc_gr_immed -4,sp
  81. set_gr_immed 4,gr7
  82. cldu @(sp,gr7),gr8,cc1,1
  83. test_gr_limmed 0xbeef,0xdead,gr8
  84. test_gr_gr sp,gr9
  85. set_gr_limmed 0xbeef,0xdead,gr8
  86. inc_gr_immed 8,gr9
  87. inc_gr_immed 8,sp
  88. set_gr_immed -4,gr7
  89. cldu @(sp,gr7),gr8,cc5,1
  90. test_gr_limmed 0xbeef,0xdead,gr8
  91. test_gr_gr sp,gr9
  92. set_gr_gr sp,gr20
  93. set_mem_limmed 0xdead,0xbeef,sp
  94. set_gr_limmed 0xbeef,0xdead,gr8
  95. set_gr_gr sp,gr9
  96. set_gr_immed 0,gr7
  97. cldu @(sp,gr7),gr8,cc2,0
  98. test_gr_limmed 0xbeef,0xdead,gr8
  99. test_gr_gr sp,gr9
  100. set_gr_limmed 0xbeef,0xdead,gr8
  101. inc_gr_immed -4,gr9
  102. inc_gr_immed -4,sp
  103. set_gr_immed 4,gr7
  104. cldu @(sp,gr7),gr8,cc2,1
  105. test_gr_limmed 0xbeef,0xdead,gr8
  106. test_gr_gr sp,gr9
  107. set_gr_limmed 0xbeef,0xdead,gr8
  108. inc_gr_immed 8,gr9
  109. inc_gr_immed 8,sp
  110. set_gr_immed -4,gr7
  111. cldu @(sp,gr7),gr8,cc6,0
  112. test_gr_limmed 0xbeef,0xdead,gr8
  113. test_gr_gr sp,gr9
  114. set_gr_gr sp,gr20
  115. set_mem_limmed 0xdead,0xbeef,sp
  116. set_gr_limmed 0xbeef,0xdead,gr8
  117. set_gr_gr sp,gr9
  118. set_gr_immed 0,gr7
  119. cldu @(sp,gr7),gr8,cc3,1
  120. test_gr_limmed 0xbeef,0xdead,gr8
  121. test_gr_gr sp,gr9
  122. set_gr_limmed 0xbeef,0xdead,gr8
  123. inc_gr_immed -4,gr9
  124. inc_gr_immed -4,sp
  125. set_gr_immed 4,gr7
  126. cldu @(sp,gr7),gr8,cc3,0
  127. test_gr_limmed 0xbeef,0xdead,gr8
  128. test_gr_gr sp,gr9
  129. set_gr_limmed 0xbeef,0xdead,gr8
  130. inc_gr_immed 8,gr9
  131. inc_gr_immed 8,sp
  132. set_gr_immed -4,gr7
  133. cldu @(sp,gr7),gr8,cc7,1
  134. test_gr_limmed 0xbeef,0xdead,gr8
  135. test_gr_gr sp,gr9
  136. set_gr_gr gr20,sp
  137. set_mem_limmed 0xdead,0xbeef,sp
  138. set_gr_gr sp,gr8
  139. inc_gr_immed -4,gr8
  140. set_gr_immed 4,gr7
  141. cldu @(gr8,gr7),gr8,cc0,1
  142. test_gr_limmed 0xdead,0xbeef,gr8
  143. pass