diff options
Diffstat (limited to 'sim/testsuite/frv/ldd.cgs')
-rw-r--r-- | sim/testsuite/frv/ldd.cgs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sim/testsuite/frv/ldd.cgs b/sim/testsuite/frv/ldd.cgs new file mode 100644 index 0000000..fa09d31 --- /dev/null +++ b/sim/testsuite/frv/ldd.cgs @@ -0,0 +1,43 @@ +# frv testcase for ldd @($GRi,$GRj),$GRk +# mach: all + + .include "testutils.inc" + + start + + .global ldd +ldd: + set_mem_limmed 0xdead,0xbeef,sp + inc_gr_immed -4,sp + set_mem_limmed 0xbeef,0xdead,sp + set_gr_limmed 0xdead,0xbeef,gr8 + set_gr_limmed 0xbeef,0xdead,gr9 + + set_gr_immed 0,gr7 + ldd @(sp,gr7),gr8 + test_gr_limmed 0xbeef,0xdead,gr8 + test_gr_limmed 0xdead,0xbeef,gr9 + + set_gr_limmed 0xdead,0xbeef,gr8 + set_gr_limmed 0xbeef,0xdead,gr9 + inc_gr_immed -8,sp + set_gr_immed 8,gr7 + ldd @(sp,gr7),gr8 + test_gr_limmed 0xbeef,0xdead,gr8 + test_gr_limmed 0xdead,0xbeef,gr9 + + set_gr_limmed 0xdead,0xbeef,gr8 + set_gr_limmed 0xbeef,0xdead,gr9 + inc_gr_immed 16,sp + set_gr_immed -8,gr7 + ldd @(sp,gr7),gr8 + test_gr_limmed 0xbeef,0xdead,gr8 + test_gr_limmed 0xdead,0xbeef,gr9 + + ; loading into gr0 should have no effect + ; gr1 is sp + set_gr_gr gr1,gr8 + ldd @(sp,gr7),gr0 + test_gr_immed 0,gr0 + test_gr_gr gr1,gr8 + pass |