]>
Commit | Line | Data |
---|---|---|
dd43edf4 TS |
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 |