summaryrefslogtreecommitdiff
path: root/sim/testsuite/frv/stq.pcgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/frv/stq.pcgs')
-rw-r--r--sim/testsuite/frv/stq.pcgs59
1 files changed, 59 insertions, 0 deletions
diff --git a/sim/testsuite/frv/stq.pcgs b/sim/testsuite/frv/stq.pcgs
new file mode 100644
index 00000000000..268dd9eafbf
--- /dev/null
+++ b/sim/testsuite/frv/stq.pcgs
@@ -0,0 +1,59 @@
+# frv parallel testcase for stq $GRk,@($GRi,$GRj)
+# mach: frv
+# as(frv): -mcpu=frv
+
+ .include "testutils.inc"
+
+ start
+
+ .global stq
+stq:
+ set_mem_limmed 0xbeef,0xdead,sp
+ inc_gr_immed -4,sp
+ set_mem_limmed 0xdead,0xbeef,sp
+ inc_gr_immed -4,sp
+ set_mem_limmed 0xdead,0xdead,sp
+ inc_gr_immed -4,sp
+ set_mem_limmed 0xbeef,0xbeef,sp
+ set_gr_immed 0,gr7
+ set_gr_limmed 0xbeef,0xdead,gr8
+ set_gr_limmed 0xdead,0xbeef,gr9
+ set_gr_limmed 0xdead,0xdead,gr10
+ set_gr_limmed 0xbeef,0xbeef,gr11
+ stq gr8,@(sp,gr7) ; non parallel
+ test_mem_limmed 0xbeef,0xdead,sp
+ inc_gr_immed 4,sp
+ test_mem_limmed 0xdead,0xbeef,sp
+ inc_gr_immed 4,sp
+ test_mem_limmed 0xdead,0xdead,sp
+ inc_gr_immed 4,sp
+ test_mem_limmed 0xbeef,0xbeef,sp
+
+ set_mem_limmed 0xbeef,0xdead,sp
+ inc_gr_immed -4,sp
+ set_mem_limmed 0xdead,0xbeef,sp
+ inc_gr_immed -4,sp
+ set_mem_limmed 0xdead,0xdead,sp
+ inc_gr_immed -4,sp
+ set_mem_limmed 0xbeef,0xbeef,sp
+ set_gr_immed 0,gr7
+ set_gr_limmed 0xbeef,0xdead,gr8
+ set_gr_limmed 0xdead,0xbeef,gr9
+ set_gr_limmed 0xdead,0xdead,gr10
+ set_gr_limmed 0xbeef,0xbeef,gr11
+ stq.p gr8,@(sp,gr7) ; parallel
+ setlos 0,gr8
+ ldq @(sp,gr7),gr12
+ test_mem_limmed 0xbeef,0xdead,sp ; memory is set
+ inc_gr_immed 4,sp
+ test_mem_limmed 0xdead,0xbeef,sp
+ inc_gr_immed 4,sp
+ test_mem_limmed 0xdead,0xdead,sp
+ inc_gr_immed 4,sp
+ test_mem_limmed 0xbeef,0xbeef,sp
+ test_gr_immed 0xbeefdead,gr12
+ test_gr_immed 0xdeadbeef,gr13
+ test_gr_immed 0xdeaddead,gr14
+ test_gr_immed 0xbeefbeef,gr15
+
+ pass