bxor.s 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. # sh testcase for bxor
  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. start
  9. bxor_b_imm_disp12_reg:
  10. set_grs_a5a5
  11. # Make sure T is true to start.
  12. sett
  13. mov.l x, r1
  14. bxor.b #0, @(3, r1)
  15. bt8k mfail
  16. bxor.b #1, @(3, r1)
  17. bt8k mfail
  18. bxor.b #2, @(3, r1)
  19. bf8k mfail
  20. bxor.b #3, @(3, r1)
  21. bf8k mfail
  22. bxor.b #4, @(3, r1)
  23. bf8k mfail
  24. bxor.b #5, @(3, r1)
  25. bt8k mfail
  26. bxor.b #6, @(3, r1)
  27. bt8k mfail
  28. bxor.b #7, @(3, r1)
  29. bf8k mfail
  30. bxor.b #0, @(2, r1)
  31. bt8k mfail
  32. bxor.b #1, @(2, r1)
  33. bt8k mfail
  34. bxor.b #2, @(2, r1)
  35. bf8k mfail
  36. bxor.b #3, @(2, r1)
  37. bf8k mfail
  38. bra .L2
  39. nop
  40. .align 2
  41. x: .long _x
  42. .L2:
  43. bxor.b #4, @(2, r1)
  44. bf8k mfail
  45. bxor.b #5, @(2, r1)
  46. bt8k mfail
  47. bxor.b #6, @(2, r1)
  48. bt8k mfail
  49. bxor.b #7, @(2, r1)
  50. bf8k mfail
  51. bxor.b #0, @(1, r1)
  52. bt8k mfail
  53. bxor.b #1, @(1, r1)
  54. bt8k mfail
  55. bxor.b #2, @(1, r1)
  56. bf8k mfail
  57. bxor.b #3, @(1, r1)
  58. bf8k mfail
  59. bxor.b #4, @(1, r1)
  60. bf8k mfail
  61. bxor.b #5, @(1, r1)
  62. bt8k mfail
  63. bxor.b #6, @(1, r1)
  64. bt8k mfail
  65. bxor.b #7, @(1, r1)
  66. bf8k mfail
  67. bxor.b #0, @(0, r1)
  68. bt8k mfail
  69. bxor.b #1, @(0, r1)
  70. bt8k mfail
  71. bxor.b #2, @(0, r1)
  72. bf8k mfail
  73. bxor.b #3, @(0, r1)
  74. bf8k mfail
  75. bxor.b #4, @(0, r1)
  76. bf8k mfail
  77. bxor.b #5, @(0, r1)
  78. bt8k mfail
  79. bxor.b #6, @(0, r1)
  80. bt8k mfail
  81. bxor.b #7, @(0, r1)
  82. bf8k mfail
  83. assertreg _x, r1
  84. test_gr_a5a5 r0
  85. test_gr_a5a5 r2
  86. test_gr_a5a5 r3
  87. test_gr_a5a5 r4
  88. test_gr_a5a5 r5
  89. test_gr_a5a5 r6
  90. test_gr_a5a5 r7
  91. test_gr_a5a5 r8
  92. test_gr_a5a5 r9
  93. test_gr_a5a5 r10
  94. test_gr_a5a5 r11
  95. test_gr_a5a5 r12
  96. test_gr_a5a5 r13
  97. test_gr_a5a5 r14
  98. pass
  99. exit 0