c_dsp32alu_rrpm_aa.s 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //Original:/testcases/core/c_dsp32alu_rrpm_aa/c_dsp32alu_rrpm_aa.dsp
  2. // Spec Reference: dsp32alu (dregs, dregs) = +/- (a, a) amod1
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. A1 = A0 = 0;
  7. imm32 r0, 0x75678911;
  8. imm32 r1, 0xa789ab2d;
  9. imm32 r2, 0x34745515;
  10. imm32 r3, 0x46677757;
  11. imm32 r4, 0xb567a96b;
  12. imm32 r5, 0x6789aa1d;
  13. imm32 r6, 0x744455a5;
  14. imm32 r7, 0x8666777a;
  15. A0 = R0;
  16. A1 = R1;
  17. R0 = A1 + A0, R7 = A1 - A0 (NS);
  18. R1 = A0 + A1, R6 = A0 - A1 (NS);
  19. R2 = A1 + A0, R5 = A1 - A0 (NS);
  20. R3 = A0 + A1, R4 = A0 - A1 (NS);
  21. R4 = A1 + A0, R0 = A1 - A0 (NS);
  22. R5 = A0 + A1, R1 = A0 - A1 (NS);
  23. R6 = A0 + A1, R2 = A0 - A1 (NS);
  24. R7 = A1 + A0, R3 = A1 - A0 (NS);
  25. CHECKREG r0, 0x3222221C;
  26. CHECKREG r1, 0xCDDDDDE4;
  27. CHECKREG r2, 0xCDDDDDE4;
  28. CHECKREG r3, 0x3222221C;
  29. CHECKREG r4, 0x1CF1343E;
  30. CHECKREG r5, 0x1CF1343E;
  31. CHECKREG r6, 0x1CF1343E;
  32. CHECKREG r7, 0x1CF1343E;
  33. imm32 r0, 0x8537891b;
  34. imm32 r1, 0x3759ab2d;
  35. imm32 r2, 0x4e555535;
  36. imm32 r3, 0x16e65747;
  37. imm32 r4, 0x687e9565;
  38. imm32 r5, 0x7a8aeb5b;
  39. imm32 r6, 0x8c9cdd85;
  40. imm32 r7, 0x9eaefe9f;
  41. A0 = R0;
  42. A1 = R1;
  43. R3 = A1 + A0, R7 = A1 - A0 (S);
  44. R4 = A0 + A1, R6 = A0 - A1 (S);
  45. R5 = A1 + A0, R4 = A1 - A0 (S);
  46. R6 = A0 + A1, R5 = A0 - A1 (S);
  47. R7 = A1 + A0, R3 = A1 - A0 (S);
  48. R0 = A0 + A1, R2 = A0 - A1 (S);
  49. R1 = A0 + A1, R0 = A0 - A1 (S);
  50. R2 = A1 + A0, R1 = A1 - A0 (S);
  51. CHECKREG r0, 0x80000000;
  52. CHECKREG r1, 0x7FFFFFFF;
  53. CHECKREG r2, 0xBC913448;
  54. CHECKREG r3, 0x7FFFFFFF;
  55. CHECKREG r4, 0x7FFFFFFF;
  56. CHECKREG r5, 0x80000000;
  57. CHECKREG r6, 0xBC913448;
  58. CHECKREG r7, 0xBC913448;
  59. pass