Statistics
| Branch: | Revision:

root / tests / cris / check_clrjmp1.s @ 7267c094

History | View | Annotate | Download (591 Bytes)

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