aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/frv/fcbnelr.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/frv/fcbnelr.cgs')
-rw-r--r--sim/testsuite/frv/fcbnelr.cgs274
1 files changed, 274 insertions, 0 deletions
diff --git a/sim/testsuite/frv/fcbnelr.cgs b/sim/testsuite/frv/fcbnelr.cgs
new file mode 100644
index 0000000..cb0aa26
--- /dev/null
+++ b/sim/testsuite/frv/fcbnelr.cgs
@@ -0,0 +1,274 @@
+# frv testcase for fcbnelr $FCCi,$ccond,$hint
+# mach: all
+
+ .include "testutils.inc"
+
+ start
+
+ .global fcbnelr
+fcbnelr:
+ ; ccond is true
+ set_spr_immed 128,lcr
+ set_spr_addr bad,lr
+ set_fcc 0x0 0
+ fcbnelr fcc0,0,0
+
+ set_spr_addr ok2,lr
+ set_fcc 0x1 1
+ fcbnelr fcc1,0,1
+ fail
+ok2:
+ set_spr_addr ok3,lr
+ set_fcc 0x2 2
+ fcbnelr fcc2,0,2
+ fail
+ok3:
+ set_spr_addr ok4,lr
+ set_fcc 0x3 3
+ fcbnelr fcc3,0,3
+ fail
+ok4:
+ set_spr_addr ok5,lr
+ set_fcc 0x4 0
+ fcbnelr fcc0,0,0
+ fail
+ok5:
+ set_spr_addr ok6,lr
+ set_fcc 0x5 1
+ fcbnelr fcc1,0,1
+ fail
+ok6:
+ set_spr_addr ok7,lr
+ set_fcc 0x6 2
+ fcbnelr fcc2,0,2
+ fail
+ok7:
+ set_spr_addr ok8,lr
+ set_fcc 0x7 3
+ fcbnelr fcc3,0,3
+ fail
+ok8:
+ set_spr_addr bad,lr
+ set_fcc 0x8 0
+ fcbnelr fcc0,0,0
+
+ set_spr_addr oka,lr
+ set_fcc 0x9 1
+ fcbnelr fcc1,0,1
+ fail
+oka:
+ set_spr_addr okb,lr
+ set_fcc 0xa 2
+ fcbnelr fcc2,0,2
+ fail
+okb:
+ set_spr_addr okc,lr
+ set_fcc 0xb 3
+ fcbnelr fcc3,0,3
+ fail
+okc:
+ set_spr_addr okd,lr
+ set_fcc 0xc 0
+ fcbnelr fcc0,0,0
+ fail
+okd:
+ set_spr_addr oke,lr
+ set_fcc 0xd 1
+ fcbnelr fcc1,0,1
+ fail
+oke:
+ set_spr_addr okf,lr
+ set_fcc 0xe 2
+ fcbnelr fcc2,0,2
+ fail
+okf:
+ set_spr_addr okg,lr
+ set_fcc 0xf 3
+ fcbnelr fcc3,0,3
+ fail
+okg:
+
+ ; ccond is true
+ set_spr_immed 1,lcr
+ set_spr_addr bad,lr
+ set_fcc 0x0 0
+ fcbnelr fcc0,1,0
+
+ set_spr_immed 1,lcr
+ set_spr_addr oki,lr
+ set_fcc 0x1 1
+ fcbnelr fcc1,1,1
+ fail
+oki:
+ set_spr_immed 1,lcr
+ set_spr_addr okj,lr
+ set_fcc 0x2 2
+ fcbnelr fcc2,1,2
+ fail
+okj:
+ set_spr_immed 1,lcr
+ set_spr_addr okk,lr
+ set_fcc 0x3 3
+ fcbnelr fcc3,1,3
+ fail
+okk:
+ set_spr_immed 1,lcr
+ set_spr_addr okl,lr
+ set_fcc 0x4 0
+ fcbnelr fcc0,1,0
+ fail
+okl:
+ set_spr_immed 1,lcr
+ set_spr_addr okm,lr
+ set_fcc 0x5 1
+ fcbnelr fcc1,1,1
+ fail
+okm:
+ set_spr_immed 1,lcr
+ set_spr_addr okn,lr
+ set_fcc 0x6 2
+ fcbnelr fcc2,1,2
+ fail
+okn:
+ set_spr_immed 1,lcr
+ set_spr_addr oko,lr
+ set_fcc 0x7 3
+ fcbnelr fcc3,1,3
+ fail
+oko:
+ set_spr_immed 1,lcr
+ set_spr_addr bad,lr
+ set_fcc 0x8 0
+ fcbnelr fcc0,1,0
+
+ set_spr_immed 1,lcr
+ set_spr_addr okq,lr
+ set_fcc 0x9 1
+ fcbnelr fcc1,1,1
+ fail
+okq:
+ set_spr_immed 1,lcr
+ set_spr_addr okr,lr
+ set_fcc 0xa 2
+ fcbnelr fcc2,1,2
+ fail
+okr:
+ set_spr_immed 1,lcr
+ set_spr_addr oks,lr
+ set_fcc 0xb 3
+ fcbnelr fcc3,1,3
+ fail
+oks:
+ set_spr_immed 1,lcr
+ set_spr_addr okt,lr
+ set_fcc 0xc 0
+ fcbnelr fcc0,1,0
+ fail
+okt:
+ set_spr_immed 1,lcr
+ set_spr_addr oku,lr
+ set_fcc 0xd 1
+ fcbnelr fcc1,1,1
+ fail
+oku:
+ set_spr_immed 1,lcr
+ set_spr_addr okv,lr
+ set_fcc 0xe 2
+ fcbnelr fcc2,1,2
+ fail
+okv:
+ set_spr_immed 1,lcr
+ set_spr_addr okw,lr
+ set_fcc 0xf 3
+ fcbnelr fcc3,1,3
+ fail
+okw:
+ ; ccond is false
+ set_spr_immed 128,lcr
+
+ set_fcc 0x0 0
+ fcbnelr fcc0,1,0
+ set_fcc 0x1 1
+ fcbnelr fcc1,1,1
+ set_fcc 0x2 2
+ fcbnelr fcc2,1,2
+ set_fcc 0x3 3
+ fcbnelr fcc3,1,3
+ set_fcc 0x4 0
+ fcbnelr fcc0,1,0
+ set_fcc 0x5 1
+ fcbnelr fcc1,1,1
+ set_fcc 0x6 2
+ fcbnelr fcc2,1,2
+ set_fcc 0x7 3
+ fcbnelr fcc3,1,3
+ set_fcc 0x8 0
+ fcbnelr fcc0,1,0
+ set_fcc 0x9 1
+ fcbnelr fcc1,1,1
+ set_fcc 0xa 2
+ fcbnelr fcc2,1,2
+ set_fcc 0xb 3
+ fcbnelr fcc3,1,3
+ set_fcc 0xc 0
+ fcbnelr fcc0,1,0
+ set_fcc 0xd 1
+ fcbnelr fcc1,1,1
+ set_fcc 0xe 2
+ fcbnelr fcc2,1,2
+ set_fcc 0xf 3
+ fcbnelr fcc3,1,3
+
+ ; ccond is false
+ set_spr_immed 1,lcr
+ set_fcc 0x0 0
+ fcbnelr fcc0,0,0
+ set_spr_immed 1,lcr
+ set_fcc 0x1 1
+ fcbnelr fcc1,0,1
+ set_spr_immed 1,lcr
+ set_fcc 0x2 2
+ fcbnelr fcc2,0,2
+ set_spr_immed 1,lcr
+ set_fcc 0x3 3
+ fcbnelr fcc3,0,3
+ set_spr_immed 1,lcr
+ set_fcc 0x4 0
+ fcbnelr fcc0,0,0
+ set_spr_immed 1,lcr
+ set_fcc 0x5 1
+ fcbnelr fcc1,0,1
+ set_spr_immed 1,lcr
+ set_fcc 0x6 2
+ fcbnelr fcc2,0,2
+ set_spr_immed 1,lcr
+ set_fcc 0x7 3
+ fcbnelr fcc3,0,3
+ set_spr_immed 1,lcr
+ set_fcc 0x8 0
+ fcbnelr fcc0,0,0
+ set_spr_immed 1,lcr
+ set_fcc 0x9 1
+ fcbnelr fcc1,0,1
+ set_spr_immed 1,lcr
+ set_fcc 0xa 2
+ fcbnelr fcc2,0,2
+ set_spr_immed 1,lcr
+ set_fcc 0xb 3
+ fcbnelr fcc3,0,3
+ set_spr_immed 1,lcr
+ set_fcc 0xc 0
+ fcbnelr fcc0,0,0
+ set_spr_immed 1,lcr
+ set_fcc 0xd 1
+ fcbnelr fcc1,0,1
+ set_spr_immed 1,lcr
+ set_fcc 0xe 2
+ fcbnelr fcc2,0,2
+ set_spr_immed 1,lcr
+ set_fcc 0xf 3
+ fcbnelr fcc3,0,3
+
+ pass
+bad:
+ fail