c_pushpopmultiple_preg.s 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //Original:/testcases/core/c_pushpopmultiple_preg/c_pushpopmultiple_preg.dsp
  2. // Spec Reference: pushpopmultiple preg
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. FP = SP;
  7. imm32 r0, 0x00000000;
  8. ASTAT = r0;
  9. P1 = 0xa1 (X);
  10. P2 = 0xa2 (X);
  11. P3 = 0xa3 (X);
  12. P4 = 0xa4 (X);
  13. P5 = 0xa5 (X);
  14. [ -- SP ] = ( P5:1 );
  15. P1 = 0;
  16. P2 = 0;
  17. P3 = 0;
  18. P4 = 0;
  19. P5 = 0;
  20. ( P5:1 ) = [ SP ++ ];
  21. CHECKREG p1, 0x000000a1;
  22. CHECKREG p2, 0x000000a2;
  23. CHECKREG p3, 0x000000a3;
  24. CHECKREG p4, 0x000000a4;
  25. CHECKREG p5, 0x000000a5;
  26. P2 = 0xb2 (X);
  27. P3 = 0xb3 (X);
  28. P4 = 0xb4 (X);
  29. P5 = 0xb5 (X);
  30. [ -- SP ] = ( P5:2 );
  31. P2 = 0;
  32. P3 = 0;
  33. P4 = 0;
  34. P5 = 0;
  35. ( P5:2 ) = [ SP ++ ];
  36. CHECKREG p1, 0x000000a1;
  37. CHECKREG p2, 0x000000b2;
  38. CHECKREG p3, 0x000000b3;
  39. CHECKREG p4, 0x000000b4;
  40. CHECKREG p5, 0x000000b5;
  41. P3 = 0xc3 (X);
  42. P4 = 0xc4 (X);
  43. P5 = 0xc5 (X);
  44. [ -- SP ] = ( P5:3 );
  45. P3 = 0;
  46. P4 = 0;
  47. P5 = 0;
  48. ( P5:3 ) = [ SP ++ ];
  49. CHECKREG p1, 0x000000a1;
  50. CHECKREG p2, 0x000000b2;
  51. CHECKREG p3, 0x000000c3;
  52. CHECKREG p4, 0x000000c4;
  53. CHECKREG p5, 0x000000c5;
  54. P4 = 0xd4 (X);
  55. P5 = 0xd5 (X);
  56. [ -- SP ] = ( P5:4 );
  57. P4 = 0;
  58. P5 = 0;
  59. ( P5:4 ) = [ SP ++ ];
  60. CHECKREG p1, 0x000000a1;
  61. CHECKREG p2, 0x000000b2;
  62. CHECKREG p3, 0x000000c3;
  63. CHECKREG p4, 0x000000d4;
  64. CHECKREG p5, 0x000000d5;
  65. P5 = 0xe5 (X);
  66. [ -- SP ] = ( P5:5 );
  67. P5 = 0;
  68. ( P5:5 ) = [ SP ++ ];
  69. CHECKREG p1, 0x000000a1;
  70. CHECKREG p2, 0x000000b2;
  71. CHECKREG p3, 0x000000c3;
  72. CHECKREG p4, 0x000000d4;
  73. CHECKREG p5, 0x000000e5;
  74. pass