cldhf.cgs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. # frv testcase for cldhf @($GRi,$GRj),$GRk,$CCi,$cond
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global cldhf
  6. cldhf:
  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. cldhf @(sp,gr7),fr8,cc0,1
  12. test_fr_limmed 0x0000,0xdead,fr8
  13. set_gr_immed 2,gr7
  14. cldhf @(sp,gr7),fr8,cc0,1
  15. test_fr_limmed 0x0000,0xbeef,fr8
  16. set_mem_limmed 0xffff,0x0000,sp
  17. inc_gr_immed 4,sp
  18. set_gr_immed -2,gr7
  19. cldhf @(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. cldhf @(sp,gr7),fr8,cc0,0
  25. test_fr_limmed 0xbeef,0xdead,fr8
  26. set_gr_immed 2,gr7
  27. cldhf @(sp,gr7),fr8,cc0,0
  28. test_fr_limmed 0xbeef,0xdead,fr8
  29. set_mem_limmed 0xffff,0x0000,sp
  30. inc_gr_immed 4,sp
  31. set_gr_immed -2,gr7
  32. cldhf @(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. cldhf @(sp,gr7),fr8,cc1,0
  38. test_fr_limmed 0x0000,0xdead,fr8
  39. set_gr_immed 2,gr7
  40. cldhf @(sp,gr7),fr8,cc1,0
  41. test_fr_limmed 0x0000,0xbeef,fr8
  42. set_mem_limmed 0xffff,0x0000,sp
  43. inc_gr_immed 4,sp
  44. set_gr_immed -2,gr7
  45. cldhf @(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. cldhf @(sp,gr7),fr8,cc1,1
  51. test_fr_limmed 0xbeef,0xdead,fr8
  52. set_gr_immed 2,gr7
  53. cldhf @(sp,gr7),fr8,cc1,1
  54. test_fr_limmed 0xbeef,0xdead,fr8
  55. set_mem_limmed 0xffff,0x0000,sp
  56. inc_gr_immed 4,sp
  57. set_gr_immed -2,gr7
  58. cldhf @(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. cldhf @(sp,gr7),fr8,cc2,0
  64. test_fr_limmed 0xbeef,0xdead,fr8
  65. set_gr_immed 2,gr7
  66. cldhf @(sp,gr7),fr8,cc2,1
  67. test_fr_limmed 0xbeef,0xdead,fr8
  68. set_mem_limmed 0xffff,0x0000,sp
  69. inc_gr_immed 4,sp
  70. set_gr_immed -2,gr7
  71. cldhf @(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. cldhf @(sp,gr7),fr8,cc3,1
  77. test_fr_limmed 0xbeef,0xdead,fr8
  78. set_gr_immed 2,gr7
  79. cldhf @(sp,gr7),fr8,cc3,0
  80. test_fr_limmed 0xbeef,0xdead,fr8
  81. set_mem_limmed 0xffff,0x0000,sp
  82. inc_gr_immed 4,sp
  83. set_gr_immed -2,gr7
  84. cldhf @(sp,gr7),fr8,cc7,1
  85. test_fr_limmed 0xbeef,0xdead,fr8
  86. pass