c_regmv_dr_acc_acc.s 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. //Original:/testcases/core/c_regmv_dr_acc_acc/c_regmv_dr_acc_acc.dsp
  2. // Spec Reference: regmv dreg-acc-acc
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. // check R-reg to ACC
  7. imm32 r0, 0x00000000;
  8. imm32 r1, 0x12345678;
  9. imm32 r2, 0x91234567;
  10. imm32 r3, 0x00060007;
  11. imm32 r4, 0x00080009;
  12. imm32 r5, 0x000a000b;
  13. imm32 r6, 0x000c000d;
  14. imm32 r7, 0x000e000f;
  15. A0 = R0;
  16. A1 = R0;
  17. A0 = R1;
  18. A1 = R2;
  19. R3 = A0.w;
  20. R4 = A0.x;
  21. R5 = A1.w;
  22. R6 = A1.x;
  23. CHECKREG r0, 0x00000000;
  24. CHECKREG r1, 0x12345678;
  25. CHECKREG r2, 0x91234567;
  26. CHECKREG r3, 0x12345678;
  27. CHECKREG r4, 0x00000000;
  28. CHECKREG r5, 0x91234567;
  29. CHECKREG r6, 0xFFFFFFFF;
  30. CHECKREG r7, 0x000E000F;
  31. A1 = A0 = 0;
  32. R3 = A0.w;
  33. R4 = A0.x;
  34. R5 = A1.w;
  35. R6 = A1.x;
  36. CHECKREG r3, 0x00000000;
  37. CHECKREG r4, 0x00000000;
  38. CHECKREG r5, 0x00000000;
  39. CHECKREG r6, 0x00000000;
  40. imm32 r0, 0xa5678901;
  41. imm32 r1, 0xb0158978;
  42. imm32 r2, 0x91234567;
  43. imm32 r3, 0x10060007;
  44. imm32 r4, 0x02080009;
  45. imm32 r5, 0x003a000b;
  46. imm32 r6, 0x0004000d;
  47. imm32 r7, 0x000e500f;
  48. A0 = R0;
  49. A1 = R1;
  50. R3 = A0.w;
  51. R4 = A0.x;
  52. R5 = A1.w;
  53. R6 = A1.x;
  54. CHECKREG r0, 0xA5678901;
  55. CHECKREG r1, 0xB0158978;
  56. CHECKREG r2, 0x91234567;
  57. CHECKREG r3, 0xA5678901;
  58. CHECKREG r4, 0xFFFFFFFF;
  59. CHECKREG r5, 0xB0158978;
  60. CHECKREG r6, 0xFFFFFFFF;
  61. CHECKREG r7, 0x000E500F;
  62. imm32 r0, 0xe9627911;
  63. imm32 r1, 0xd0158978;
  64. imm32 r2, 0xc1234567;
  65. imm32 r3, 0x10060007;
  66. imm32 r4, 0x02080009;
  67. imm32 r5, 0x003a000b;
  68. imm32 r6, 0x0004000d;
  69. imm32 r7, 0x000e500f;
  70. A0 = R0;
  71. A1 = A0;
  72. imm32 r0, 0x90ba7911;
  73. imm32 r1, 0xe3458978;
  74. imm32 r2, 0xc1234567;
  75. imm32 r3, 0x10060007;
  76. imm32 r4, 0x56080009;
  77. imm32 r5, 0x783a000b;
  78. imm32 r6, 0xf247890d;
  79. imm32 r7, 0x489e534f;
  80. A0.w = R0;
  81. A0.x = R1;
  82. A1.w = R2;
  83. A1.x = R3;
  84. R4 = A0.w;
  85. R5 = A0.x;
  86. R6 = A1.w;
  87. R7 = A1.x;
  88. CHECKREG r0, 0x90BA7911;
  89. CHECKREG r1, 0xE3458978;
  90. CHECKREG r2, 0xC1234567;
  91. CHECKREG r3, 0x10060007;
  92. CHECKREG r4, 0x90BA7911;
  93. CHECKREG r5, 0x00000078;
  94. CHECKREG r6, 0xC1234567;
  95. CHECKREG r7, 0x00000007;
  96. R3 = A0.w;
  97. R4 = A0.x;
  98. R5 = A1.w;
  99. R6 = A1.x;
  100. CHECKREG r0, 0x90BA7911;
  101. CHECKREG r1, 0xE3458978;
  102. CHECKREG r2, 0xC1234567;
  103. CHECKREG r3, 0x90BA7911;
  104. CHECKREG r4, 0x00000078;
  105. CHECKREG r5, 0xC1234567;
  106. CHECKREG r6, 0x00000007;
  107. CHECKREG r7, 0x00000007;
  108. imm32 r0, 0xf9627911;
  109. imm32 r1, 0xd0158978;
  110. imm32 r2, 0xc1234567;
  111. imm32 r3, 0x10060007;
  112. imm32 r4, 0x02080009;
  113. imm32 r5, 0x003a000b;
  114. imm32 r6, 0xf247890d;
  115. imm32 r7, 0x789e534f;
  116. A0 = R6;
  117. A1.w = A0.w;
  118. A1.x = A0.x;
  119. R0 = A0.w;
  120. R1 = A0.x;
  121. R2 = A1.w;
  122. R3 = A1.x;
  123. A1 = R7;
  124. A0.w = A1.w;
  125. A0.x = A1.x;
  126. R4 = A0.w;
  127. R5 = A0.x;
  128. R6 = A1.w;
  129. R7 = A1.x;
  130. CHECKREG r0, 0xF247890D;
  131. CHECKREG r1, 0xFFFFFFFF;
  132. CHECKREG r2, 0xF247890D;
  133. CHECKREG r3, 0xFFFFFFFF;
  134. CHECKREG r4, 0x789E534F;
  135. CHECKREG r5, 0x00000000;
  136. CHECKREG r6, 0x789E534F;
  137. CHECKREG r7, 0x00000000;
  138. imm32 r0, 0x90ba7911;
  139. imm32 r1, 0xe3458978;
  140. imm32 r2, 0xc1234567;
  141. imm32 r3, 0x10060007;
  142. imm32 r4, 0x56080009;
  143. imm32 r5, 0x783a000b;
  144. imm32 r6, 0xf247890d;
  145. imm32 r7, 0x489e534f;
  146. A0.w = A1.x;
  147. A0.x = A1.x;
  148. R4 = A0.w;
  149. R5 = A0.x;
  150. A0 = R2;
  151. A1.w = A0.x;
  152. A1.x = A0.x;
  153. R6 = A1.w;
  154. R7 = A1.x;
  155. A0.x = A1.w;
  156. A1.x = A0.w;
  157. R0 = A0.x;
  158. R1 = A1.x;
  159. CHECKREG r0, 0xFFFFFFFF;
  160. CHECKREG r1, 0x00000067;
  161. CHECKREG r2, 0xC1234567;
  162. CHECKREG r3, 0x10060007;
  163. CHECKREG r4, 0x00000000;
  164. CHECKREG r5, 0x00000000;
  165. CHECKREG r6, 0xFFFFFFFF;
  166. CHECKREG r7, 0xFFFFFFFF;
  167. pass