ldqc.cgs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # frv testcase for ldqc @($GRi,$GRj),$GRk
  2. # mach: frv
  3. .include "testutils.inc"
  4. start
  5. .global ldqc
  6. ldqc:
  7. set_mem_limmed 0xdead,0xbeef,sp
  8. inc_gr_immed -4,sp
  9. set_mem_limmed 0xbeef,0xdead,sp
  10. inc_gr_immed -4,sp
  11. set_mem_limmed 0x1234,0x5678,sp
  12. inc_gr_immed -4,sp
  13. set_mem_limmed 0x9abc,0xdef0,sp
  14. set_cpr_limmed 0xdead,0xbeef,cpr8
  15. set_cpr_limmed 0xbeef,0xdead,cpr9
  16. set_cpr_limmed 0x1234,0x5678,cpr10
  17. set_cpr_limmed 0x9abc,0xdef0,cpr11
  18. set_gr_immed 0,gr7
  19. ;loading into cpr0 is business as usual
  20. ldqc @(sp,gr7),cpr0
  21. test_cpr_limmed 0x9abc,0xdef0,cpr0
  22. test_cpr_limmed 0x1234,0x5678,cpr1
  23. test_cpr_limmed 0xbeef,0xdead,cpr2
  24. test_cpr_limmed 0xdead,0xbeef,cpr3
  25. ldqc @(sp,gr7),cpr8
  26. test_cpr_limmed 0x9abc,0xdef0,cpr8
  27. test_cpr_limmed 0x1234,0x5678,cpr9
  28. test_cpr_limmed 0xbeef,0xdead,cpr10
  29. test_cpr_limmed 0xdead,0xbeef,cpr11
  30. set_cpr_limmed 0xdead,0xbeef,cpr8
  31. set_cpr_limmed 0xbeef,0xdead,cpr9
  32. set_cpr_limmed 0x1234,0x5678,cpr10
  33. set_cpr_limmed 0x9abc,0xdef0,cpr11
  34. inc_gr_immed -16,sp
  35. set_gr_immed 16,gr7
  36. ldqc @(sp,gr7),cpr8
  37. test_cpr_limmed 0x9abc,0xdef0,cpr8
  38. test_cpr_limmed 0x1234,0x5678,cpr9
  39. test_cpr_limmed 0xbeef,0xdead,cpr10
  40. test_cpr_limmed 0xdead,0xbeef,cpr11
  41. set_cpr_limmed 0xdead,0xbeef,cpr8
  42. set_cpr_limmed 0xbeef,0xdead,cpr9
  43. set_cpr_limmed 0x1234,0x5678,cpr10
  44. set_cpr_limmed 0x9abc,0xdef0,cpr11
  45. inc_gr_immed 32,sp
  46. set_gr_immed -16,gr7
  47. ldqc @(sp,gr7),cpr8
  48. test_cpr_limmed 0x9abc,0xdef0,cpr8
  49. test_cpr_limmed 0x1234,0x5678,cpr9
  50. test_cpr_limmed 0xbeef,0xdead,cpr10
  51. test_cpr_limmed 0xdead,0xbeef,cpr11
  52. pass