diff options
Diffstat (limited to 'sim/testsuite/cris/asm/dflags.ms')
-rw-r--r-- | sim/testsuite/cris/asm/dflags.ms | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/sim/testsuite/cris/asm/dflags.ms b/sim/testsuite/cris/asm/dflags.ms new file mode 100644 index 0000000..2735014 --- /dev/null +++ b/sim/testsuite/cris/asm/dflags.ms @@ -0,0 +1,62 @@ +# mach: crisv3 crisv8 crisv10 crisv32 +# output: 31\n + +; Check that flag settings in the delay slot for a conditional branch do +; not affect the branch. + + .include "testutils.inc" + + start + moveq 1,r3 + moveq 0,r4 + +; 8-bit branches. + + move.d r4,r4 + bne 0f + move.d r3,r3 + bne 1f + move.d r4,r4 + nop +0: + quit + +1: + move.d r3,r3 + beq 0b + move.d r4,r4 + beq 4f + move.d r3,r3 + nop + quit +4: + jump 2f + nop + .space 1000 + +; 16-bit branches + +2: + move.d r4,r4 + bne 0b + move.d r3,r3 + bne 3f + move.d r4,r4 + nop + quit + .space 1000 + +3: + move.d r3,r3 + beq 0b + move.d r4,r4 + beq 4f + move.d r3,r3 + nop + quit + .space 1000 + +4: + move.d 0x31,r3 + dumpr3 + quit |