diff options
Diffstat (limited to 'sim/testsuite/frv/std.pcgs')
-rw-r--r-- | sim/testsuite/frv/std.pcgs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sim/testsuite/frv/std.pcgs b/sim/testsuite/frv/std.pcgs new file mode 100644 index 00000000000..d518b8b9746 --- /dev/null +++ b/sim/testsuite/frv/std.pcgs @@ -0,0 +1,37 @@ +# 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 |