# frv testcase for ldq @($GRi,$GRj),$GRk # mach: frv .include "testutils.inc" start .global ldq ldq: set_mem_limmed 0xdead,0xbeef,sp inc_gr_immed -4,sp set_mem_limmed 0xbeef,0xdead,sp inc_gr_immed -4,sp set_mem_limmed 0x1234,0x5678,sp inc_gr_immed -4,sp set_mem_limmed 0x9abc,0xdef0,sp set_gr_limmed 0xdead,0xbeef,gr8 set_gr_limmed 0xbeef,0xdead,gr9 set_gr_limmed 0x1234,0x5678,gr10 set_gr_limmed 0x9abc,0xdef0,gr11 set_gr_immed 0,gr7 ldq @(sp,gr7),gr8 test_gr_limmed 0x9abc,0xdef0,gr8 test_gr_limmed 0x1234,0x5678,gr9 test_gr_limmed 0xbeef,0xdead,gr10 test_gr_limmed 0xdead,0xbeef,gr11 set_gr_limmed 0xdead,0xbeef,gr8 set_gr_limmed 0xbeef,0xdead,gr9 set_gr_limmed 0x1234,0x5678,gr10 set_gr_limmed 0x9abc,0xdef0,gr11 inc_gr_immed -16,sp set_gr_immed 16,gr7 ldq @(sp,gr7),gr8 test_gr_limmed 0x9abc,0xdef0,gr8 test_gr_limmed 0x1234,0x5678,gr9 test_gr_limmed 0xbeef,0xdead,gr10 test_gr_limmed 0xdead,0xbeef,gr11 set_gr_limmed 0xdead,0xbeef,gr8 set_gr_limmed 0xbeef,0xdead,gr9 set_gr_limmed 0x1234,0x5678,gr10 set_gr_limmed 0x9abc,0xdef0,gr11 inc_gr_immed 32,sp set_gr_immed -16,gr7 ldq @(sp,gr7),gr8 test_gr_limmed 0x9abc,0xdef0,gr8 test_gr_limmed 0x1234,0x5678,gr9 test_gr_limmed 0xbeef,0xdead,gr10 test_gr_limmed 0xdead,0xbeef,gr11 ; loading into gr0 has no effect ; gr1 is sp set_gr_gr gr1,gr8 set_gr_limmed 0x1234,0x5678,gr2 set_gr_limmed 0x9abc,0xdef0,gr3 ldq @(sp,gr7),gr0 test_gr_immed 0,gr0 test_gr_gr gr1,gr8 set_gr_immed 0x12345678,gr2 set_gr_immed 0x9abcdef0,gr3 pass