macw.s 743 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # sh testcase for mac.w
  2. # mach: all
  3. # as(sh): -defsym sim_cpu=0
  4. # as(shdsp): -defsym sim_cpu=1 -dsp
  5. .include "testutils.inc"
  6. start
  7. set_grs_a5a5
  8. # Prime {MACL, MACH} to #1.
  9. mov #1, r0
  10. dmulu.l r0, r0
  11. # Set up addresses.
  12. mov.l pfour00, r0 ! 85
  13. mov.l pfour12, r1 ! 17
  14. test:
  15. mac.w @r0+, @r1+ ! MAC = 85 * 17 + 1
  16. check:
  17. # Check result.
  18. assert_sreg 0, mach
  19. assert_sreg 85*17+1, macl
  20. # Ensure post-increment occurred.
  21. assertreg0 four00+2
  22. assertreg four12+2, r1
  23. doubleinc:
  24. mov.l pfour00, r0
  25. mac.w @r0+, @r0+
  26. assertreg0 four00+4
  27. set_greg 0xa5a5a5a5, r0
  28. set_greg 0xa5a5a5a5, r1
  29. test_grs_a5a5
  30. pass
  31. exit 0
  32. .align 2
  33. four00:
  34. .word 85
  35. .word 2
  36. four12:
  37. .word 17
  38. .word 3
  39. pfour00:
  40. .long four00
  41. pfour12:
  42. .long four12