dcf.cgs 752 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # FRV testcase for dcf @(GRi,GRj)
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global dcf
  6. dcf:
  7. and_spr_immed 0x7fffffff,hsr0 ; data cache only: copy-back mode
  8. set_gr_addr doit,gr10
  9. set_gr_immed 0,gr11
  10. set_gr_immed 1,gr12
  11. set_gr_immed 2,gr13
  12. set_spr_addr ok1,lr
  13. bra doit
  14. ok1: test_gr_immed 1,gr11
  15. set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11 in cache
  16. set_spr_addr ok2,lr
  17. bra doit
  18. ok2: test_gr_immed 2,gr11 ; still only added 1
  19. set_gr_addr doit1,gr10
  20. set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11 in cache
  21. dcf @(gr10,gr0) ; flush data cache
  22. set_spr_addr ok3,lr
  23. bra doit1
  24. ok3: test_gr_immed 4,gr11 ; added 2 this time
  25. pass
  26. doit: add gr11,gr12,gr11
  27. bralr
  28. doit1: add gr11,gr12,gr11
  29. bralr