lsetup.s 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. # Blackfin testcase for playing with LSETUP
  2. # mach: bfin
  3. .include "testutils.inc"
  4. start
  5. R0 = 0x123;
  6. P0 = R0;
  7. LSETUP (.L1, .L1) LC0 = P0;
  8. .L1:
  9. R0 += -1;
  10. R1 = 0;
  11. CC = R1 == R0;
  12. IF CC JUMP 1f;
  13. fail
  14. 1:
  15. p0=10;
  16. loadsym i0, _buf
  17. imm32 r0, 0x12345678
  18. LSETUP(.L2, .L3) lc0 = p0;
  19. .L2:
  20. [i0++] = r0;
  21. .L3:
  22. [i0++] = r0;
  23. loadsym R1, _buf
  24. R0 = 0x50;
  25. R1 = R0 + R1;
  26. R0 = I0;
  27. CC = R0 == R1;
  28. if CC JUMP 2f;
  29. fail
  30. 2:
  31. r5=10;
  32. p1=r5;
  33. r7=20;
  34. lsetup (.L4, .L5) lc0=p1;
  35. .L4:
  36. nop;
  37. nop;
  38. nop;
  39. nop;
  40. jump .L5;
  41. nop;
  42. nop;
  43. nop;
  44. .L5:
  45. r7 += -1;
  46. R0 = 10 (Z);
  47. CC = R7 == R0;
  48. if CC jump 3f;
  49. fail
  50. 3:
  51. r1 = 1;
  52. r2 = 2;
  53. r0 = 0;
  54. p1 = 10;
  55. loadsym p0, _buf;
  56. lsetup (.L6, .L7) lc0 = p1;
  57. .L6:
  58. [p0++] = r1;
  59. .L7:
  60. [p0++] = r2;
  61. r3 = P0;
  62. loadsym r1, _buf
  63. r0 = 80;
  64. r1 = r1 + r0;
  65. CC = R1 == R3
  66. if CC jump 4f;
  67. fail
  68. 4:
  69. R0 = 1;
  70. R1 = 2;
  71. R2 = 3;
  72. R4 = 4;
  73. P1 = R1;
  74. LSETUP (.L8, .L8) LC0 = P1;
  75. R5 = 5;
  76. R6 = 6;
  77. R7 = 7;
  78. .L8:
  79. R1 += 1;
  80. R7 = 4;
  81. CC = R7 == R1;
  82. if CC jump 5f;
  83. fail
  84. 5:
  85. P1 = R1;
  86. LSETUP (.L9, .L9 ) LC1 = P1;
  87. .L9:
  88. R1 += 1;
  89. R7 = 8;
  90. if CC jump 6f;
  91. fail
  92. 6:
  93. pass
  94. .data
  95. _buf:
  96. .rept 0x80
  97. .long 0
  98. .endr