c_dsp32alu_a0a1s.s 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. //Original:/testcases/core/c_dsp32alu_a0a1s/c_dsp32alu_a0a1s.dsp
  2. // Spec Reference: dsp32alu a0a1s
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. A1 = A0 = 0;
  7. imm32 r0, 0x15678911;
  8. imm32 r1, 0xa789ab1d;
  9. imm32 r2, 0xd4445515;
  10. imm32 r3, 0xf6667717;
  11. imm32 r4, 0xe567891b;
  12. imm32 r5, 0x6789ab1d;
  13. imm32 r6, 0xb4445515;
  14. imm32 r7, 0x86667777;
  15. // A0 & A1 types
  16. A0 = R0;
  17. A1 = R1;
  18. R6 = A0.w;
  19. R7 = A1.w;
  20. A0 = 0;
  21. A1 = 0;
  22. R0 = A0.w;
  23. R1 = A1.w;
  24. A0 = R2;
  25. A1 = R3;
  26. A0 = A0 (S);
  27. A1 = A1 (S);
  28. R4 = A0.w;
  29. R5 = A1.w;
  30. A0 = A1;
  31. R2 = A0.w;
  32. A0 = R3;
  33. A1 = A0;
  34. R3 = A1.w;
  35. CHECKREG r0, 0x00000000;
  36. CHECKREG r1, 0x00000000;
  37. CHECKREG r2, 0xF6667717;
  38. CHECKREG r3, 0xF6667717;
  39. CHECKREG r4, 0xD4445515;
  40. CHECKREG r5, 0xF6667717;
  41. CHECKREG r6, 0x15678911;
  42. CHECKREG r7, 0xA789AB1D;
  43. A1 = A0 = 0;
  44. R0 = A0.w;
  45. R1 = A1.w;
  46. CHECKREG r0, 0x00000000;
  47. CHECKREG r1, 0x00000000;
  48. imm32 r0, 0xa1567891;
  49. imm32 r1, 0xba789abd;
  50. imm32 r2, 0xcd412355;
  51. imm32 r3, 0xdf646777;
  52. imm32 r4, 0xe567891b;
  53. imm32 r5, 0x6789ab1d;
  54. imm32 r6, 0xb4445515;
  55. imm32 r7, 0xf666aeb7;
  56. A0 = R4;
  57. A1 = R5;
  58. R0 = A0.w;
  59. R1 = A1.w;
  60. A0 = R6;
  61. A1 = R7;
  62. R2 = A0.w;
  63. R3 = A1.w;
  64. CHECKREG r0, 0xE567891B;
  65. CHECKREG r1, 0x6789AB1D;
  66. CHECKREG r2, 0xB4445515;
  67. CHECKREG r3, 0xF666AEB7;
  68. CHECKREG r4, 0xE567891B;
  69. CHECKREG r5, 0x6789AB1D;
  70. CHECKREG r6, 0xB4445515;
  71. CHECKREG r7, 0xF666AEB7;
  72. pass