add.s 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # sh testcase for add
  2. # mach: all
  3. # as(sh): -defsym sim_cpu=0
  4. # as(shdsp): -defsym sim_cpu=1 -dsp
  5. .include "testutils.inc"
  6. .align 2
  7. _x: .long 1
  8. _y: .long 1
  9. start
  10. add_reg_reg_direct:
  11. set_grs_a5a5
  12. mov.l i, r1
  13. mov.l j, r2
  14. add r1, r2
  15. test_gr0_a5a5
  16. assertreg 2 r1
  17. assertreg 4 r2
  18. test_gr_a5a5 r3
  19. test_gr_a5a5 r4
  20. test_gr_a5a5 r5
  21. test_gr_a5a5 r6
  22. test_gr_a5a5 r7
  23. test_gr_a5a5 r8
  24. test_gr_a5a5 r9
  25. test_gr_a5a5 r10
  26. test_gr_a5a5 r11
  27. test_gr_a5a5 r12
  28. test_gr_a5a5 r13
  29. test_gr_a5a5 r14
  30. add_reg_reg_indirect:
  31. set_grs_a5a5
  32. mov.l x, r1
  33. mov.l y, r2
  34. mov.l @r1, r1
  35. mov.l @r2, r2
  36. add r1, r2
  37. test_gr0_a5a5
  38. assertreg 1 r1
  39. assertreg 2 r2
  40. test_gr_a5a5 r3
  41. test_gr_a5a5 r4
  42. test_gr_a5a5 r5
  43. test_gr_a5a5 r6
  44. test_gr_a5a5 r7
  45. test_gr_a5a5 r8
  46. test_gr_a5a5 r9
  47. test_gr_a5a5 r10
  48. test_gr_a5a5 r11
  49. test_gr_a5a5 r12
  50. test_gr_a5a5 r13
  51. test_gr_a5a5 r14
  52. add_imm_reg:
  53. set_grs_a5a5
  54. add #0x16, r1
  55. test_gr0_a5a5
  56. assertreg 0xa5a5a5bb r1
  57. test_gr_a5a5 r2
  58. test_gr_a5a5 r3
  59. test_gr_a5a5 r4
  60. test_gr_a5a5 r5
  61. test_gr_a5a5 r6
  62. test_gr_a5a5 r7
  63. test_gr_a5a5 r8
  64. test_gr_a5a5 r9
  65. test_gr_a5a5 r10
  66. test_gr_a5a5 r11
  67. test_gr_a5a5 r12
  68. test_gr_a5a5 r13
  69. test_gr_a5a5 r14
  70. pass
  71. exit 0
  72. .align 2
  73. x: .long _x
  74. y: .long _y
  75. i: .long 2
  76. j: .long 2