c_alu2op_conv_neg.s 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. //Original:/testcases/core/c_alu2op_conv_neg/c_alu2op_conv_neg.dsp
  2. // Spec Reference: alu2op (-) negative
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. imm32 r0, 0x00789abc;
  7. imm32 r1, 0x12345678;
  8. imm32 r2, 0x23456789;
  9. imm32 r3, 0x3456789a;
  10. imm32 r4, 0x856789ab;
  11. imm32 r5, 0x96789abc;
  12. imm32 r6, 0xa789abcd;
  13. imm32 r7, 0xb89abcde;
  14. R0 = - R0;
  15. R1 = - R0;
  16. R2 = - R0;
  17. R3 = - R0;
  18. R4 = - R0;
  19. R5 = - R0;
  20. R6 = - R0;
  21. R7 = - R0;
  22. CHECKREG r0, 0xFF876544;
  23. CHECKREG r1, 0x00789ABC;
  24. CHECKREG r2, 0x00789ABC;
  25. CHECKREG r3, 0x00789ABC;
  26. CHECKREG r4, 0x00789ABC;
  27. CHECKREG r5, 0x00789ABC;
  28. CHECKREG r6, 0x00789ABC;
  29. CHECKREG r7, 0x00789ABC;
  30. imm32 r0, 0x01230002;
  31. imm32 r1, 0x00374659;
  32. imm32 r2, 0x93456789;
  33. imm32 r3, 0xa456789a;
  34. imm32 r4, 0xb56789ab;
  35. imm32 r5, 0xc6789abc;
  36. imm32 r6, 0xd789abcd;
  37. imm32 r7, 0xe89abcde;
  38. R0 = - R1;
  39. R1 = - R1;
  40. R2 = - R1;
  41. R3 = - R1;
  42. R4 = - R1;
  43. R5 = - R1;
  44. R6 = - R1;
  45. R7 = - R1;
  46. CHECKREG r0, 0xFFC8B9A7;
  47. CHECKREG r1, 0xFFC8B9A7;
  48. CHECKREG r2, 0x00374659;
  49. CHECKREG r3, 0x00374659;
  50. CHECKREG r4, 0x00374659;
  51. CHECKREG r5, 0x00374659;
  52. CHECKREG r6, 0x00374659;
  53. CHECKREG r7, 0x00374659;
  54. imm32 r0, 0x10789abc;
  55. imm32 r1, 0x11345678;
  56. imm32 r2, 0x93156789;
  57. imm32 r3, 0xd451789a;
  58. imm32 r4, 0x856719ab;
  59. imm32 r5, 0x267891bc;
  60. imm32 r6, 0xa789ab1d;
  61. imm32 r7, 0x989ab1de;
  62. R0 = - R2;
  63. R1 = - R2;
  64. R2 = - R2;
  65. R3 = - R2;
  66. R4 = - R2;
  67. R5 = - R2;
  68. R6 = - R2;
  69. R7 = - R2;
  70. CHECKREG r0, 0x6CEA9877;
  71. CHECKREG r1, 0x6CEA9877;
  72. CHECKREG r2, 0x6CEA9877;
  73. CHECKREG r3, 0x93156789;
  74. CHECKREG r4, 0x93156789;
  75. CHECKREG r5, 0x93156789;
  76. CHECKREG r6, 0x93156789;
  77. CHECKREG r7, 0x93156789;
  78. imm32 r0, 0x21230002;
  79. imm32 r1, 0x02374659;
  80. imm32 r2, 0x93256789;
  81. imm32 r3, 0xa952789a;
  82. imm32 r4, 0xb59729ab;
  83. imm32 r5, 0xc67992bc;
  84. imm32 r6, 0xd7899b2d;
  85. imm32 r7, 0xe89ab9d2;
  86. R0 = - R3;
  87. R1 = - R3;
  88. R2 = - R3;
  89. R3 = - R3;
  90. R4 = - R3;
  91. R5 = - R3;
  92. R6 = - R3;
  93. R7 = - R3;
  94. CHECKREG r0, 0x56AD8766;
  95. CHECKREG r1, 0x56AD8766;
  96. CHECKREG r2, 0x56AD8766;
  97. CHECKREG r3, 0x56AD8766;
  98. CHECKREG r4, 0xA952789A;
  99. CHECKREG r5, 0xA952789A;
  100. CHECKREG r6, 0xA952789A;
  101. CHECKREG r7, 0xA952789A;
  102. imm32 r0, 0xa0789abc;
  103. imm32 r1, 0x1a345678;
  104. imm32 r2, 0x23a56789;
  105. imm32 r3, 0x645a789a;
  106. imm32 r4, 0x8667a9ab;
  107. imm32 r5, 0x96689abc;
  108. imm32 r6, 0xa787abad;
  109. imm32 r7, 0xb89a7cda;
  110. R0 = - R4;
  111. R1 = - R4;
  112. R2 = - R4;
  113. R3 = - R4;
  114. R4 = - R4;
  115. R5 = - R4;
  116. R6 = - R4;
  117. R7 = - R4;
  118. CHECKREG r0, 0x79985655;
  119. CHECKREG r1, 0x79985655;
  120. CHECKREG r2, 0x79985655;
  121. CHECKREG r3, 0x79985655;
  122. CHECKREG r4, 0x79985655;
  123. CHECKREG r5, 0x8667A9AB;
  124. CHECKREG r6, 0x8667A9AB;
  125. CHECKREG r7, 0x8667A9AB;
  126. imm32 r0, 0xf1230002;
  127. imm32 r1, 0x0f374659;
  128. imm32 r2, 0x93f56789;
  129. imm32 r3, 0xa45f789a;
  130. imm32 r4, 0xb567f9ab;
  131. imm32 r5, 0xc6789fbc;
  132. imm32 r6, 0xd789abfd;
  133. imm32 r7, 0xe89abcdf;
  134. R0 = - R5;
  135. R1 = - R5;
  136. R2 = - R5;
  137. R3 = - R5;
  138. R4 = - R5;
  139. R5 = - R5;
  140. R6 = - R5;
  141. R7 = - R5;
  142. CHECKREG r0, 0x39876044;
  143. CHECKREG r1, 0x39876044;
  144. CHECKREG r2, 0x39876044;
  145. CHECKREG r3, 0x39876044;
  146. CHECKREG r4, 0x39876044;
  147. CHECKREG r5, 0x39876044;
  148. CHECKREG r6, 0xC6789FBC;
  149. CHECKREG r7, 0xC6789FBC;
  150. imm32 r0, 0xe0789abc;
  151. imm32 r1, 0xe2345678;
  152. imm32 r2, 0x2e456789;
  153. imm32 r3, 0x34e6789a;
  154. imm32 r4, 0x856e89ab;
  155. imm32 r5, 0x9678eabc;
  156. imm32 r6, 0xa789aecd;
  157. imm32 r7, 0xb89abcee;
  158. R0 = - R6;
  159. R1 = - R6;
  160. R2 = - R6;
  161. R3 = - R6;
  162. R4 = - R6;
  163. R5 = - R6;
  164. R6 = - R6;
  165. R7 = - R6;
  166. CHECKREG r0, 0x58765133;
  167. CHECKREG r1, 0x58765133;
  168. CHECKREG r2, 0x58765133;
  169. CHECKREG r3, 0x58765133;
  170. CHECKREG r4, 0x58765133;
  171. CHECKREG r5, 0x58765133;
  172. CHECKREG r6, 0x58765133;
  173. CHECKREG r7, 0xA789AECD;
  174. imm32 r0, 0x012300f5;
  175. imm32 r1, 0x80374659;
  176. imm32 r2, 0x98456589;
  177. imm32 r3, 0xa486589a;
  178. imm32 r4, 0xb56589ab;
  179. imm32 r5, 0xc6588abc;
  180. imm32 r6, 0xd589a8cd;
  181. imm32 r7, 0x589abc88;
  182. R0 = - R7;
  183. R1 = - R7;
  184. R2 = - R7;
  185. R3 = - R7;
  186. R4 = - R7;
  187. R5 = - R7;
  188. R7 = - R7;
  189. R6 = - R7;
  190. CHECKREG r0, 0xA7654378;
  191. CHECKREG r1, 0xA7654378;
  192. CHECKREG r2, 0xA7654378;
  193. CHECKREG r3, 0xA7654378;
  194. CHECKREG r4, 0xA7654378;
  195. CHECKREG r5, 0xA7654378;
  196. CHECKREG r6, 0x589ABC88;
  197. CHECKREG r7, 0xA7654378;
  198. pass