cldbf.cgs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. # frv testcase for cldbf @($GRi,$GRj),$GRk,$CCi,$cond
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global cldbf
  6. cldbf:
  7. set_spr_immed 0x1b1b,cccr
  8. set_mem_limmed 0xdead,0xbeef,sp
  9. set_fr_iimmed 0xbeef,0xdead,fr8
  10. set_gr_immed 0,gr7
  11. cldbf @(sp,gr7),fr8,cc0,1
  12. test_fr_limmed 0x0000,0x00de,fr8
  13. set_gr_immed 1,gr7
  14. cldbf @(sp,gr7),fr8,cc0,1
  15. test_fr_limmed 0x0000,0x00ad,fr8
  16. set_mem_limmed 0xffff,0xff00,sp
  17. inc_gr_immed 4,sp
  18. set_gr_immed -1,gr7
  19. cldbf @(sp,gr7),fr8,cc4,1
  20. test_fr_limmed 0x0000,0x0000,fr8
  21. set_mem_limmed 0xdead,0xbeef,sp
  22. set_fr_iimmed 0xbeef,0xdead,fr8
  23. set_gr_immed 0,gr7
  24. cldbf @(sp,gr7),fr8,cc0,0
  25. test_fr_limmed 0xbeef,0xdead,fr8
  26. set_gr_immed 1,gr7
  27. cldbf @(sp,gr7),fr8,cc0,0
  28. test_fr_limmed 0xbeef,0xdead,fr8
  29. set_mem_limmed 0xffff,0xff00,sp
  30. inc_gr_immed 4,sp
  31. set_gr_immed -1,gr7
  32. cldbf @(sp,gr7),fr8,cc4,0
  33. test_fr_limmed 0xbeef,0xdead,fr8
  34. set_mem_limmed 0xdead,0xbeef,sp
  35. set_fr_iimmed 0xbeef,0xdead,fr8
  36. set_gr_immed 0,gr7
  37. cldbf @(sp,gr7),fr8,cc1,0
  38. test_fr_limmed 0x0000,0x00de,fr8
  39. set_gr_immed 1,gr7
  40. cldbf @(sp,gr7),fr8,cc1,0
  41. test_fr_limmed 0x0000,0x00ad,fr8
  42. set_mem_limmed 0xffff,0xff00,sp
  43. inc_gr_immed 4,sp
  44. set_gr_immed -1,gr7
  45. cldbf @(sp,gr7),fr8,cc5,0
  46. test_fr_limmed 0x0000,0x0000,fr8
  47. set_mem_limmed 0xdead,0xbeef,sp
  48. set_fr_iimmed 0xbeef,0xdead,fr8
  49. set_gr_immed 0,gr7
  50. cldbf @(sp,gr7),fr8,cc1,1
  51. test_fr_limmed 0xbeef,0xdead,fr8
  52. set_gr_immed 1,gr7
  53. cldbf @(sp,gr7),fr8,cc1,1
  54. test_fr_limmed 0xbeef,0xdead,fr8
  55. set_mem_limmed 0xffff,0xff00,sp
  56. inc_gr_immed 4,sp
  57. set_gr_immed -1,gr7
  58. cldbf @(sp,gr7),fr8,cc5,1
  59. test_fr_limmed 0xbeef,0xdead,fr8
  60. set_mem_limmed 0xdead,0xbeef,sp
  61. set_fr_iimmed 0xbeef,0xdead,fr8
  62. set_gr_immed 0,gr7
  63. cldbf @(sp,gr7),fr8,cc2,0
  64. test_fr_limmed 0xbeef,0xdead,fr8
  65. set_gr_immed 1,gr7
  66. cldbf @(sp,gr7),fr8,cc2,1
  67. test_fr_limmed 0xbeef,0xdead,fr8
  68. set_mem_limmed 0xffff,0xff00,sp
  69. inc_gr_immed 4,sp
  70. set_gr_immed -1,gr7
  71. cldbf @(sp,gr7),fr8,cc6,0
  72. test_fr_limmed 0xbeef,0xdead,fr8
  73. set_mem_limmed 0xdead,0xbeef,sp
  74. set_fr_iimmed 0xbeef,0xdead,fr8
  75. set_gr_immed 0,gr7
  76. cldbf @(sp,gr7),fr8,cc3,1
  77. test_fr_limmed 0xbeef,0xdead,fr8
  78. set_gr_immed 1,gr7
  79. cldbf @(sp,gr7),fr8,cc3,0
  80. test_fr_limmed 0xbeef,0xdead,fr8
  81. set_mem_limmed 0xffff,0xff00,sp
  82. inc_gr_immed 4,sp
  83. set_gr_immed -1,gr7
  84. cldbf @(sp,gr7),fr8,cc7,1
  85. test_fr_limmed 0xbeef,0xdead,fr8
  86. pass