# mach: crisv3 crisv8 crisv10 crisv32 | |
# output: ffffff00\n | |
; A bug resulting in a non-effectual clear.b discovered running the GCC | |
; testsuite; jump actually wrote to p0. | |
.include "testutils.inc" | |
start | |
jump 1f | |
nop | |
.p2align 8 | |
1: | |
move.d y,r4 | |
.if 0 ;0 == ..asm.arch.cris.v32 | |
; There was a bug causing this insn to set special register p0 | |
; (byte-clear) to 8 (low 8 bits of location after insn). | |
jump [r4+] | |
.endif | |
1: | |
move.d 0f,r4 | |
; The corresponding bug would cause this insn too, to set p0. | |
jump r4 | |
nop | |
quit | |
0: | |
moveq -1,r3 | |
clear.b r3 | |
checkr3 ffffff00 | |
quit | |
y: | |
.dword 1b |