* sim/cris/asm/pid1.ms: New test.
authorHans-Peter Nilsson <hp@axis.com>
Sat, 3 Jan 2009 17:52:19 +0000 (17:52 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Sat, 3 Jan 2009 17:52:19 +0000 (17:52 +0000)
sim/testsuite/ChangeLog
sim/testsuite/sim/cris/asm/pid1.ms [new file with mode: 0644]

index ea2fae56d483738270e9f6c7d26a593c1d1fe90c..e3cfea94e60d42dde3b33e73dc8ff2985735ed13 100644 (file)
@@ -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 (file)
index 0000000..16e3489
--- /dev/null
@@ -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