root / tests / cris / check_clrjmp1.s @ dd43edf4
History | View | Annotate | Download (591 Bytes)
1 |
# mach: crisv3 crisv8 crisv10 crisv32 |
---|---|
2 |
# output: ffffff00\n |
3 |
|
4 |
; A bug resulting in a non-effectual clear.b discovered running the GCC |
5 |
; testsuite; jump actually wrote to p0. |
6 |
|
7 |
.include "testutils.inc" |
8 |
|
9 |
start |
10 |
jump 1f |
11 |
nop |
12 |
.p2align 8 |
13 |
1: |
14 |
move.d y,r4 |
15 |
|
16 |
.if 0 ;0 == ..asm.arch.cris.v32 |
17 |
; There was a bug causing this insn to set special register p0 |
18 |
; (byte-clear) to 8 (low 8 bits of location after insn). |
19 |
jump [r4+] |
20 |
.endif |
21 |
|
22 |
1: |
23 |
move.d 0f,r4 |
24 |
|
25 |
; The corresponding bug would cause this insn too, to set p0. |
26 |
jump r4 |
27 |
nop |
28 |
quit |
29 |
0: |
30 |
moveq -1,r3 |
31 |
clear.b r3 |
32 |
checkr3 ffffff00 |
33 |
quit |
34 |
|
35 |
y: |
36 |
.dword 1b |