aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/frv/ccalll.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sim/frv/ccalll.cgs')
-rw-r--r--sim/testsuite/sim/frv/ccalll.cgs101
1 files changed, 101 insertions, 0 deletions
diff --git a/sim/testsuite/sim/frv/ccalll.cgs b/sim/testsuite/sim/frv/ccalll.cgs
new file mode 100644
index 0000000..dcfd300
--- /dev/null
+++ b/sim/testsuite/sim/frv/ccalll.cgs
@@ -0,0 +1,101 @@
+# frv testcase for ccalll @($GRi,$GRj),$CCi,$cond
+# mach: all
+
+ .include "testutils.inc"
+
+ start
+
+ .global ccalll
+ccalll:
+ set_spr_immed 0x1b1b,cccr
+
+ set_gr_addr ok2,gr8
+ inc_gr_immed -4,gr8
+ inc_gr_immed 4,gr9
+ ccalll @(gr8,gr9),cc0,1
+bad2:
+ fail
+ok2:
+ test_spr_addr bad2,lr
+
+ set_gr_addr ok3,gr8
+ inc_gr_immed 4,gr8
+ set_gr_immed -4,gr9
+ ccalll @(gr8,gr9),cc4,1
+bad3:
+ fail
+ok3:
+ test_spr_addr bad3,lr
+
+ set_spr_immed 0,lr
+ set_gr_addr bad,gr8
+ inc_gr_immed -4,gr8
+ set_gr_immed 4,gr9
+ ccalll @(gr8,gr9),cc0,0
+ test_spr_addr 0,lr
+
+ set_gr_addr bad,gr8
+ inc_gr_immed 4,gr8
+ set_gr_immed -4,gr9
+ ccalll @(gr8,gr9),cc4,0
+ test_spr_addr 0,lr
+
+ set_gr_addr ok5,gr8
+ inc_gr_immed -4,gr8
+ set_gr_immed 4,gr9
+ ccalll @(gr8,gr9),cc1,0
+bad5:
+ fail
+ok5:
+ test_spr_addr bad5,lr
+
+ set_gr_addr ok6,gr8
+ inc_gr_immed 4,gr8
+ set_gr_immed -4,gr9
+ ccalll @(gr8,gr9),cc5,0
+bad6:
+ fail
+ok6:
+ test_spr_addr bad6,lr
+
+ set_spr_immed 0,lr
+ set_gr_addr bad,gr8
+ inc_gr_immed -4,gr8
+ set_gr_immed 4,gr9
+ ccalll @(gr8,gr9),cc1,1
+ test_spr_addr 0,lr
+
+ set_gr_addr bad,gr8
+ inc_gr_immed 4,gr8
+ set_gr_immed -4,gr9
+ ccalll @(gr8,gr9),cc5,1
+ test_spr_addr 0,lr
+
+ set_gr_addr bad,gr8
+ inc_gr_immed -4,gr8
+ set_gr_immed 4,gr9
+ ccalll @(gr8,gr9),cc2,1
+ test_spr_addr 0,lr
+
+ set_gr_addr bad,gr8
+ inc_gr_immed 4,gr8
+ set_gr_immed -4,gr9
+ ccalll @(gr8,gr9),cc6,0
+ test_spr_addr 0,lr
+
+ set_gr_addr bad,gr8
+ inc_gr_immed -4,gr8
+ set_gr_immed 4,gr9
+ ccalll @(gr8,gr9),cc3,0
+ test_spr_addr 0,lr
+
+ set_gr_addr bad,gr8
+ inc_gr_immed 4,gr8
+ set_gr_immed -4,gr9
+ ccalll @(gr8,gr9),cc7,1
+ test_spr_addr 0,lr
+
+ pass
+bad:
+ fail
+