mdasaccs.cgs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # frv testcase for mdasaccs $ACC40Si,$ACC40Sk
  2. # mach: fr400
  3. .include "testutils.inc"
  4. start
  5. .global mdasaccs
  6. mdasaccs:
  7. set_accg_immed 0,accg0
  8. set_acc_immed 0x00000000,acc0
  9. set_accg_immed 0,accg1
  10. set_acc_immed 0x00000000,acc1
  11. set_accg_immed 0,accg2
  12. set_acc_immed 0xdead0000,acc2
  13. set_accg_immed 0,accg3
  14. set_acc_immed 0x0000beef,acc3
  15. mdasaccs acc0,acc0
  16. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  17. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  18. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  19. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  20. test_accg_immed 0,accg0
  21. test_acc_limmed 0x0000,0x0000,acc0
  22. test_accg_immed 0,accg1
  23. test_acc_limmed 0x0000,0x0000,acc1
  24. test_accg_immed 0,accg2
  25. test_acc_limmed 0xdead,0xbeef,acc2
  26. test_accg_immed 0,accg3
  27. test_acc_limmed 0xdeac,0x4111,acc3
  28. set_accg_immed 0,accg0
  29. set_acc_immed 0x0000dead,acc0
  30. set_accg_immed 0,accg1
  31. set_acc_immed 0xbeef0000,acc1
  32. set_accg_immed 0,accg2
  33. set_acc_immed 0x12345678,acc2
  34. set_accg_immed 0,accg3
  35. set_acc_immed 0x11111111,acc3
  36. mdasaccs acc0,acc0
  37. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  38. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  39. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  40. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  41. test_accg_immed 0,accg0
  42. test_acc_limmed 0xbeef,0xdead,acc0
  43. test_accg_immed 0xff,accg1
  44. test_acc_limmed 0x4111,0xdead,acc1
  45. test_accg_immed 0,accg2
  46. test_acc_limmed 0x2345,0x6789,acc2
  47. test_accg_immed 0,accg3
  48. test_acc_limmed 0x0123,0x4567,acc3
  49. set_accg_immed 0,accg0
  50. set_acc_immed 0x12345678,acc0
  51. set_accg_immed 0,accg1
  52. set_acc_immed 0xffffffff,acc1
  53. set_accg_immed 0,accg2
  54. set_acc_immed 0x12345678,acc2
  55. set_accg_immed 0xff,accg3
  56. set_acc_immed 0xffffffff,acc3
  57. mdasaccs acc0,acc0
  58. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  59. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  60. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  61. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  62. test_accg_immed 1,accg0
  63. test_acc_limmed 0x1234,0x5677,acc0
  64. test_accg_immed 0xff,accg1
  65. test_acc_limmed 0x1234,0x5679,acc1
  66. test_accg_immed 0,accg2
  67. test_acc_limmed 0x1234,0x5677,acc2
  68. test_accg_immed 0,accg3
  69. test_acc_limmed 0x1234,0x5679,acc3
  70. set_spr_immed 0,msr0
  71. set_accg_immed 0x7f,accg0
  72. set_acc_immed 0xfffe7ffe,acc0
  73. set_accg_immed 0x0,accg1
  74. set_acc_immed 0x00020001,acc1
  75. set_accg_immed 0x80,accg2
  76. set_acc_immed 0x00000001,acc2
  77. set_accg_immed 0xff,accg3
  78. set_acc_immed 0xfffffffe,acc3
  79. mdasaccs acc0,acc0
  80. test_spr_bits 0x3c,2,0xa,msr0 ; msr0.sie is set
  81. test_spr_bits 2,1,1,msr0 ; msr0.ovf set
  82. test_spr_bits 1,0,1,msr0 ; msr0.aovf set
  83. test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
  84. test_accg_immed 0x7f,accg0
  85. test_acc_limmed 0xffff,0xffff,acc0
  86. test_accg_immed 0x7f,accg1
  87. test_acc_limmed 0xfffc,0x7ffd,acc1
  88. test_accg_immed 0x80,accg2
  89. test_acc_limmed 0x0000,0x0000,acc2
  90. test_accg_immed 0x80,accg3
  91. test_acc_limmed 0x0000,0x0003,acc3
  92. set_spr_immed 0,msr0
  93. set_accg_immed 0,accg0
  94. set_acc_immed 0x00000001,acc0
  95. set_accg_immed 0,accg1
  96. set_acc_immed 0x00000001,acc1
  97. set_accg_immed 0,accg2
  98. set_acc_immed 0x00000001,acc2
  99. set_accg_immed 0x7f,accg3
  100. set_acc_immed 0xffffffff,acc3
  101. mdasaccs acc0,acc0
  102. test_spr_bits 0x3c,2,0x2,msr0 ; msr0.sie set
  103. test_spr_bits 2,1,1,msr0 ; msr0.ovf set
  104. test_spr_bits 1,0,1,msr0 ; msr0.aovf set
  105. test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
  106. test_accg_immed 0,accg0
  107. test_acc_limmed 0x0000,0x0002,acc0
  108. test_accg_immed 0,accg1
  109. test_acc_limmed 0x0000,0x0000,acc1
  110. test_accg_immed 0x7f,accg2
  111. test_acc_limmed 0xffff,0xffff,acc2
  112. test_accg_immed 0x80,accg3
  113. test_acc_limmed 0x0000,0x0002,acc3
  114. pass