diff options
-rw-r--r-- | sim/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | sim/testsuite/sim/cris/asm/pid1.ms | 45 |
2 files changed, 49 insertions, 0 deletions
diff --git a/sim/testsuite/ChangeLog b/sim/testsuite/ChangeLog index ea2fae5..e3cfea9 100644 --- a/sim/testsuite/ChangeLog +++ b/sim/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-01-03 Hans-Peter Nilsson <hp@axis.com> + + * sim/cris/asm/pid1.ms: New test. + 2008-12-30 Hans-Peter Nilsson <hp@axis.com> * sim/cris/asm/badarch1.ms: Tweak error message match. diff --git a/sim/testsuite/sim/cris/asm/pid1.ms b/sim/testsuite/sim/cris/asm/pid1.ms new file mode 100644 index 0000000..16e3489 --- /dev/null +++ b/sim/testsuite/sim/cris/asm/pid1.ms @@ -0,0 +1,45 @@ +# mach: crisv32 +# output: 0\ncafebabe\nbaddbeef\necc0d00d\nc0ceface\npass\n + +; Check that the PID register has the right size, 32 bits: check +; immediate, to/from register and memory. (This has to be done in +; supervisor mode, so don't set u.) + + .include "testutils.inc" + .macro dumpid + move $pid,$r3 + dumpr3 + .endm + + start + moveq -1,$r3 + move 0,$pid + dumpid ; 0 + move 0xcafebabe,$pid + dumpid ; cafebabe + move.d 0xbaddbeef,$r2 + move $r2,$pid + dumpid ; baddbeef + move.d 0f,$r0 + move [$r0+],$pid + cmp.d 0f+4,$r0 + beq 1f + nop +dofail: + fail +0: + .dword 0xecc0d00d +0: + .dword 0xc0ceface +1: + dumpid ; ecc0d00d + move.d 0b,$r1 + move 0xc0ceface,$pid + move $pid,[$r1+] + cmp.d 0b+4,$r1 + bne dofail + subq 4,$r1 + nop + move.d [$r1],$r3 + dumpr3 ; c0ceface + pass |