testutils.inc: New file: Test macros for cr16 target.
authorM R Swami Reddy <MR.Swami.Reddy@nsc.com>
Tue, 8 Apr 2008 09:05:01 +0000 (09:05 +0000)
committerM R Swami Reddy <MR.Swami.Reddy@nsc.com>
Tue, 8 Apr 2008 09:05:01 +0000 (09:05 +0000)
sim/testsuite/sim/cr16/testutils.inc [new file with mode: 0644]

diff --git a/sim/testsuite/sim/cr16/testutils.inc b/sim/testsuite/sim/cr16/testutils.inc
new file mode 100644 (file)
index 0000000..0cb2ffc
--- /dev/null
@@ -0,0 +1,72 @@
+# r0-r5 are used as tmps, consider them call clobbered by these macros.
+
+       .macro START
+       .data
+failmsg:
+       .ascii "fail\n"
+passmsg:
+       .ascii "pass\n"
+       .text
+       .global _START
+_START:
+       .endm
+
+       .macro exit rc
+       movw $\rc,r2
+       movw $0x410,r0
+       excp 8
+       .endm
+
+       .macro pass
+       movw $1, r2
+       movd $passmsg,(r4,r3)
+       movw $5, r5
+       movw $0x404, r0
+       excp 8
+       exit 0
+       .endm
+
+       .macro fail
+       movw $1, r2
+       movd $failmsg,(r4,r3)
+       movw $5, r5
+       movw $0x404, r0
+       excp 8
+       exit 1
+       .endm
+
+# Other macros know this only clobbers r0.
+       .macro test_h_gr reg, val
+       movw $\val,r0
+       cmpw \reg, r0
+       beq  test_gr
+       fail
+test_gr:
+       .endm
+
+       .macro test_h_grp regp, val
+       movd $\val,(r1,r0)
+       cmpd \regp,(r1,r0)
+       beq  test_grp
+       fail
+test_grp:
+       .endm
+
+
+       .macro mvi_h_condbit val
+       movw $0, r0
+       movw $\val, r1
+       cmpw r0, r1
+       .endm
+
+       .macro test_h_condbit val
+       .if \val
+       br test_c1
+       fail
+test_c1:
+       .else
+       br test_c0
+       fail
+test_c0:
+       .endif
+       .endm