ldqf.cgs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # frv testcase for ldqf @($GRi,$GRj),$GRk
  2. # mach: frv
  3. # as(frv): -mcpu=frv
  4. .include "testutils.inc"
  5. start
  6. .global ldqf
  7. ldqf:
  8. set_mem_limmed 0xdead,0xbeef,sp
  9. inc_gr_immed -4,sp
  10. set_mem_limmed 0xbeef,0xdead,sp
  11. inc_gr_immed -4,sp
  12. set_mem_limmed 0x1234,0x5678,sp
  13. inc_gr_immed -4,sp
  14. set_mem_limmed 0x9abc,0xdef0,sp
  15. set_fr_iimmed 0xdead,0xbeef,fr8
  16. set_fr_iimmed 0xbeef,0xdead,fr9
  17. set_fr_iimmed 0x1234,0x5678,fr10
  18. set_fr_iimmed 0x9abc,0xdef0,fr11
  19. set_gr_immed 0,gr7
  20. ; loading into fr0 is business as usual
  21. ldqf @(sp,gr7),fr0
  22. test_fr_limmed 0x9abc,0xdef0,fr0
  23. test_fr_limmed 0x1234,0x5678,fr1
  24. test_fr_limmed 0xbeef,0xdead,fr2
  25. test_fr_limmed 0xdead,0xbeef,fr3
  26. ldqf @(sp,gr7),fr8
  27. test_fr_limmed 0x9abc,0xdef0,fr8
  28. test_fr_limmed 0x1234,0x5678,fr9
  29. test_fr_limmed 0xbeef,0xdead,fr10
  30. test_fr_limmed 0xdead,0xbeef,fr11
  31. set_fr_iimmed 0xdead,0xbeef,fr8
  32. set_fr_iimmed 0xbeef,0xdead,fr9
  33. set_fr_iimmed 0x1234,0x5678,fr10
  34. set_fr_iimmed 0x9abc,0xdef0,fr11
  35. inc_gr_immed -16,sp
  36. set_gr_immed 16,gr7
  37. ldqf @(sp,gr7),fr8
  38. test_fr_limmed 0x9abc,0xdef0,fr8
  39. test_fr_limmed 0x1234,0x5678,fr9
  40. test_fr_limmed 0xbeef,0xdead,fr10
  41. test_fr_limmed 0xdead,0xbeef,fr11
  42. set_fr_iimmed 0xdead,0xbeef,fr8
  43. set_fr_iimmed 0xbeef,0xdead,fr9
  44. set_fr_iimmed 0x1234,0x5678,fr10
  45. set_fr_iimmed 0x9abc,0xdef0,fr11
  46. inc_gr_immed 32,sp
  47. set_gr_immed -16,gr7
  48. ldqf @(sp,gr7),fr8
  49. test_fr_limmed 0x9abc,0xdef0,fr8
  50. test_fr_limmed 0x1234,0x5678,fr9
  51. test_fr_limmed 0xbeef,0xdead,fr10
  52. test_fr_limmed 0xdead,0xbeef,fr11
  53. pass