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