and.s 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # sh testcase for and
  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 0xa5a5a5a5
  8. _y: .long 0x55555555
  9. start
  10. and_reg_reg_direct:
  11. set_grs_a5a5
  12. mov.l i, r1
  13. mov.l j, r2
  14. and r1, r2
  15. test_gr0_a5a5
  16. assertreg 0xa5a5a5a5 r1
  17. assertreg 0xa0a0a0a0 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. bra and_imm_reg
  31. nop
  32. .align 2
  33. i: .long 0xa5a5a5a5
  34. j: .long 0xaaaaaaaa
  35. and_imm_reg:
  36. set_grs_a5a5
  37. and #0xff, r0
  38. assertreg 0xa5, r0
  39. test_gr_a5a5 r1
  40. test_gr_a5a5 r2
  41. test_gr_a5a5 r3
  42. test_gr_a5a5 r4
  43. test_gr_a5a5 r5
  44. test_gr_a5a5 r6
  45. test_gr_a5a5 r7
  46. test_gr_a5a5 r8
  47. test_gr_a5a5 r9
  48. test_gr_a5a5 r10
  49. test_gr_a5a5 r11
  50. test_gr_a5a5 r12
  51. test_gr_a5a5 r13
  52. test_gr_a5a5 r14
  53. and_b_imm_ind:
  54. set_grs_a5a5
  55. mov.l x, r0
  56. and.b #0x55, @(r0, GBR)
  57. mov.l @r0, r0
  58. assertreg 0xa5a5a505, r0
  59. test_gr_a5a5 r1
  60. test_gr_a5a5 r2
  61. test_gr_a5a5 r3
  62. test_gr_a5a5 r4
  63. test_gr_a5a5 r5
  64. test_gr_a5a5 r6
  65. test_gr_a5a5 r7
  66. test_gr_a5a5 r8
  67. test_gr_a5a5 r9
  68. test_gr_a5a5 r10
  69. test_gr_a5a5 r11
  70. test_gr_a5a5 r12
  71. test_gr_a5a5 r13
  72. test_gr_a5a5 r14
  73. pass
  74. exit 0
  75. .align 2
  76. x: .long _x
  77. y: .long _y