From 51405f8781b67685ab1b058b8e7a9021b6ae6e31 Mon Sep 17 00:00:00 2001 From: M R Swami Reddy Date: Tue, 8 Apr 2008 09:05:01 +0000 Subject: [PATCH] testutils.inc: New file: Test macros for cr16 target. --- sim/testsuite/sim/cr16/testutils.inc | 72 ++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 sim/testsuite/sim/cr16/testutils.inc 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 -- 2.7.4