| # 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 |