diff options
author | M R Swami Reddy <MR.Swami.Reddy@nsc.com> | 2008-04-08 09:05:01 +0000 |
---|---|---|
committer | M R Swami Reddy <MR.Swami.Reddy@nsc.com> | 2008-04-08 09:05:01 +0000 |
commit | 51405f8781b67685ab1b058b8e7a9021b6ae6e31 (patch) | |
tree | 4518fbe76df38dbef88426f20767643f651ad2c9 /sim/testsuite | |
parent | ad6037c642efb577aa16aee851e8b4e81065b127 (diff) | |
download | gdb-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.inc | 72 |
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 |