aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite
diff options
context:
space:
mode:
authorM R Swami Reddy <MR.Swami.Reddy@nsc.com>2008-04-08 09:05:01 +0000
committerM R Swami Reddy <MR.Swami.Reddy@nsc.com>2008-04-08 09:05:01 +0000
commit51405f8781b67685ab1b058b8e7a9021b6ae6e31 (patch)
tree4518fbe76df38dbef88426f20767643f651ad2c9 /sim/testsuite
parentad6037c642efb577aa16aee851e8b4e81065b127 (diff)
downloadgdb-51405f8781b67685ab1b058b8e7a9021b6ae6e31.zip
gdb-51405f8781b67685ab1b058b8e7a9021b6ae6e31.tar.gz
gdb-51405f8781b67685ab1b058b8e7a9021b6ae6e31.tar.bz2
testutils.inc: New file: Test macros for cr16 target.
Diffstat (limited to 'sim/testsuite')
-rw-r--r--sim/testsuite/sim/cr16/testutils.inc72
1 files changed, 72 insertions, 0 deletions
diff --git a/sim/testsuite/sim/cr16/testutils.inc b/sim/testsuite/sim/cr16/testutils.inc
new file mode 100644
index 0000000..0cb2ffc
--- /dev/null
+++ b/sim/testsuite/sim/cr16/testutils.inc
@@ -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