| # frv parallel testcase for std $GRk,@($GRi,$GRj) | |
| # mach: all | |
| .include "testutils.inc" | |
| start | |
| .global add | |
| add: | |
| set_mem_limmed 0xbeef,0xdead,sp | |
| inc_gr_immed -4,sp | |
| set_mem_limmed 0xdead,0xbeef,sp | |
| set_gr_immed 0,gr7 | |
| set_gr_limmed 0xbeef,0xdead,gr8 | |
| set_gr_limmed 0xdead,0xbeef,gr9 | |
| std gr8,@(sp,gr7) ; non parallel | |
| test_mem_limmed 0xbeef,0xdead,sp | |
| inc_gr_immed 4,sp | |
| test_mem_limmed 0xdead,0xbeef,sp | |
| set_mem_limmed 0xbeef,0xdead,sp | |
| inc_gr_immed -4,sp | |
| set_mem_limmed 0xdead,0xbeef,sp | |
| set_gr_immed 4,gr7 | |
| set_gr_limmed 0xbeef,0xdead,gr8 | |
| set_gr_limmed 0xdead,0xbeef,gr9 | |
| std.p gr8,@(sp,gr0) ; parallel | |
| setlos 0,gr8 | |
| ld @(sp,gr0),gr10 | |
| ld @(sp,gr7),gr11 | |
| test_mem_limmed 0xbeef,0xdead,sp ; memory is set | |
| inc_gr_immed 4,sp | |
| test_mem_limmed 0xdead,0xbeef,sp | |
| test_gr_immed 0xbeefdead,gr10 ; regs were pre-loaded | |
| test_gr_immed 0xdeadbeef,gr11 ; not this one | |
| pass |