c_dsp32shift_signbits_rh.s 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. //Original:/testcases/core/c_dsp32shift_signbits_rh/c_dsp32shift_signbits_rh.dsp
  2. // Spec Reference: dsp32shift signbits dregs_hi
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. imm32 r0, 0xd1000000;
  7. imm32 r1, 0xd2000001;
  8. imm32 r2, 0xd3000002;
  9. imm32 r3, 0xd4000003;
  10. imm32 r4, 0xd5000004;
  11. imm32 r5, 0xd6000005;
  12. imm32 r6, 0xd7000006;
  13. imm32 r7, 0xd8000007;
  14. R0.L = SIGNBITS R0.H;
  15. R1.L = SIGNBITS R0.H;
  16. R2.L = SIGNBITS R0.H;
  17. R3.L = SIGNBITS R0.H;
  18. R4.L = SIGNBITS R0.H;
  19. R5.L = SIGNBITS R0.H;
  20. R6.L = SIGNBITS R0.H;
  21. R7.L = SIGNBITS R0.H;
  22. CHECKREG r0, 0xD1000001;
  23. CHECKREG r1, 0xD2000001;
  24. CHECKREG r2, 0xD3000001;
  25. CHECKREG r3, 0xD4000001;
  26. CHECKREG r4, 0xD5000001;
  27. CHECKREG r5, 0xD6000001;
  28. CHECKREG r6, 0xD7000001;
  29. CHECKREG r7, 0xD8000001;
  30. imm32 r0, 0xe200d001;
  31. imm32 r1, 0xe2000001;
  32. imm32 r2, 0xe200d002;
  33. imm32 r3, 0xe200d003;
  34. imm32 r4, 0xe200d004;
  35. imm32 r5, 0xe200d005;
  36. imm32 r6, 0xe200d006;
  37. imm32 r7, 0xe200d007;
  38. R0.L = SIGNBITS R1.H;
  39. R1.L = SIGNBITS R1.H;
  40. R2.L = SIGNBITS R1.H;
  41. R3.L = SIGNBITS R1.H;
  42. R4.L = SIGNBITS R1.H;
  43. R5.L = SIGNBITS R1.H;
  44. R6.L = SIGNBITS R1.H;
  45. R7.L = SIGNBITS R1.H;
  46. CHECKREG r0, 0xE2000002;
  47. CHECKREG r1, 0xE2000002;
  48. CHECKREG r2, 0xE2000002;
  49. CHECKREG r3, 0xE2000002;
  50. CHECKREG r4, 0xE2000002;
  51. CHECKREG r5, 0xE2000002;
  52. CHECKREG r6, 0xE2000002;
  53. CHECKREG r7, 0xE2000002;
  54. imm32 r0, 0x0000e001;
  55. imm32 r1, 0x0000e001;
  56. imm32 r2, 0xf000000f;
  57. imm32 r3, 0x0000e003;
  58. imm32 r4, 0x0000e004;
  59. imm32 r5, 0x0000e005;
  60. imm32 r6, 0x0000e006;
  61. imm32 r7, 0x0000e007;
  62. R0.L = SIGNBITS R2.H;
  63. R1.L = SIGNBITS R2.H;
  64. R2.L = SIGNBITS R2.H;
  65. R3.L = SIGNBITS R2.H;
  66. R4.L = SIGNBITS R2.H;
  67. R5.L = SIGNBITS R2.H;
  68. R6.L = SIGNBITS R2.H;
  69. R7.L = SIGNBITS R2.H;
  70. CHECKREG r0, 0x00000003;
  71. CHECKREG r1, 0x00000003;
  72. CHECKREG r2, 0xF0000003;
  73. CHECKREG r3, 0x00000003;
  74. CHECKREG r4, 0x00000003;
  75. CHECKREG r5, 0x00000003;
  76. CHECKREG r6, 0x00000003;
  77. CHECKREG r7, 0x00000003;
  78. imm32 r0, 0x0100f001;
  79. imm32 r1, 0x0100f001;
  80. imm32 r2, 0x0100f002;
  81. imm32 r3, 0x01000010;
  82. imm32 r4, 0x0100f004;
  83. imm32 r5, 0x0100f005;
  84. imm32 r6, 0x0100f006;
  85. imm32 r7, 0x0100f007;
  86. R0.L = SIGNBITS R3.H;
  87. R1.L = SIGNBITS R3.H;
  88. R2.L = SIGNBITS R3.H;
  89. R3.L = SIGNBITS R3.H;
  90. R4.L = SIGNBITS R3.H;
  91. R5.L = SIGNBITS R3.H;
  92. R6.L = SIGNBITS R3.H;
  93. R7.L = SIGNBITS R3.H;
  94. CHECKREG r0, 0x01000006;
  95. CHECKREG r1, 0x01000006;
  96. CHECKREG r2, 0x01000006;
  97. CHECKREG r3, 0x01000006;
  98. CHECKREG r4, 0x01000006;
  99. CHECKREG r5, 0x01000006;
  100. CHECKREG r6, 0x01000006;
  101. CHECKREG r7, 0x01000006;
  102. imm32 r0, 0x04000000;
  103. imm32 r1, 0x04010000;
  104. imm32 r2, 0x04020000;
  105. imm32 r3, 0x04030000;
  106. imm32 r4, 0x04040000;
  107. imm32 r5, 0x04050000;
  108. imm32 r6, 0x04060000;
  109. imm32 r7, 0x04070000;
  110. R0.L = SIGNBITS R4.H;
  111. R1.L = SIGNBITS R4.H;
  112. R2.L = SIGNBITS R4.H;
  113. R3.L = SIGNBITS R4.H;
  114. R4.L = SIGNBITS R4.H;
  115. R5.L = SIGNBITS R4.H;
  116. R6.L = SIGNBITS R4.H;
  117. R7.L = SIGNBITS R4.H;
  118. CHECKREG r0, 0x04000004;
  119. CHECKREG r1, 0x04010004;
  120. CHECKREG r2, 0x04020004;
  121. CHECKREG r3, 0x04030004;
  122. CHECKREG r4, 0x04040004;
  123. CHECKREG r5, 0x04050004;
  124. CHECKREG r6, 0x04060004;
  125. CHECKREG r7, 0x04070004;
  126. imm32 r0, 0xa5010000;
  127. imm32 r1, 0xa5010001;
  128. imm32 r2, 0xa5020000;
  129. imm32 r3, 0xa5030000;
  130. imm32 r4, 0xa5540000;
  131. imm32 r5, 0xa5550000;
  132. imm32 r6, 0xa5060000;
  133. imm32 r7, 0xa5070000;
  134. R0.L = SIGNBITS R5.H;
  135. R1.L = SIGNBITS R5.H;
  136. R2.L = SIGNBITS R5.H;
  137. R3.L = SIGNBITS R5.H;
  138. R4.L = SIGNBITS R5.H;
  139. R5.L = SIGNBITS R5.H;
  140. R6.L = SIGNBITS R5.H;
  141. R7.L = SIGNBITS R5.H;
  142. CHECKREG r0, 0xA5010000;
  143. CHECKREG r1, 0xA5010000;
  144. CHECKREG r2, 0xA5020000;
  145. CHECKREG r3, 0xA5030000;
  146. CHECKREG r4, 0xA5540000;
  147. CHECKREG r5, 0xA5550000;
  148. CHECKREG r6, 0xA5060000;
  149. CHECKREG r7, 0xA5070000;
  150. imm32 r0, 0xb6010000;
  151. imm32 r1, 0xb6010000;
  152. imm32 r2, 0xb602000f;
  153. imm32 r3, 0xb6030000;
  154. imm32 r4, 0xb6040000;
  155. imm32 r5, 0xb6050000;
  156. imm32 r6, 0xb6060000;
  157. imm32 r7, 0xb6670000;
  158. R0.L = SIGNBITS R6.H;
  159. R1.L = SIGNBITS R6.H;
  160. R2.L = SIGNBITS R6.H;
  161. R3.L = SIGNBITS R6.H;
  162. R4.L = SIGNBITS R6.H;
  163. R5.L = SIGNBITS R6.H;
  164. R6.L = SIGNBITS R6.H;
  165. R7.L = SIGNBITS R6.H;
  166. CHECKREG r0, 0xB6010000;
  167. CHECKREG r1, 0xB6010000;
  168. CHECKREG r2, 0xB6020000;
  169. CHECKREG r3, 0xB6030000;
  170. CHECKREG r4, 0xB6040000;
  171. CHECKREG r5, 0xB6050000;
  172. CHECKREG r6, 0xB6060000;
  173. CHECKREG r7, 0xB6670000;
  174. imm32 r0, 0xd7010000;
  175. imm32 r1, 0xd7010000;
  176. imm32 r2, 0xd7020000;
  177. imm32 r3, 0xd7030010;
  178. imm32 r4, 0xd7040000;
  179. imm32 r5, 0xd7050000;
  180. imm32 r6, 0xd7060000;
  181. imm32 r7, 0xd7070000;
  182. R0.L = SIGNBITS R7.H;
  183. R1.L = SIGNBITS R7.H;
  184. R2.L = SIGNBITS R7.H;
  185. R3.L = SIGNBITS R7.H;
  186. R4.L = SIGNBITS R7.H;
  187. R5.L = SIGNBITS R7.H;
  188. R6.L = SIGNBITS R7.H;
  189. R7.L = SIGNBITS R7.H;
  190. CHECKREG r0, 0xD7010001;
  191. CHECKREG r1, 0xD7010001;
  192. CHECKREG r2, 0xD7020001;
  193. CHECKREG r3, 0xD7030001;
  194. CHECKREG r4, 0xD7040001;
  195. CHECKREG r5, 0xD7050001;
  196. CHECKREG r6, 0xD7060001;
  197. CHECKREG r7, 0xD7070001;
  198. pass