| # frv parallel testcase for stdf $GRk,@($GRi,$GRj) |
| # mach: fr500 fr550 frv |
| |
| .include "testutils.inc" |
| |
| start |
| |
| .global stdf |
| stdf: |
| set_mem_limmed 0xbeef,0xdead,sp |
| inc_gr_immed -4,sp |
| set_mem_limmed 0xdead,0xbeef,sp |
| set_gr_immed 0,gr7 |
| set_fr_iimmed 0xbeef,0xdead,fr8 |
| set_fr_iimmed 0xdead,0xbeef,fr9 |
| stdf fr8,@(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_fr_iimmed 0xbeef,0xdead,fr8 |
| set_fr_iimmed 0xdead,0xbeef,fr9 |
| stdf.p fr8,@(sp,gr0) ; parallel |
| fnegs fr8,fr8 |
| ldf @(sp,gr0),fr10 |
| ldf @(sp,gr7),fr11 ; memory is set |
| test_mem_limmed 0xbeef,0xdead,sp |
| inc_gr_immed 4,sp |
| test_mem_limmed 0xdead,0xbeef,sp |
| test_fr_iimmed 0xbeefdead,fr10 ; regs were pre-loaded |
| test_fr_iimmed 0xdeadbeef,fr11 ; not this one |
| |
| pass |