Statistics
| Branch: | Revision:

root / tests / cris / check_movei.s @ f97572e5

History | View | Annotate | Download (657 Bytes)

1 dd43edf4 ths
# mach: crisv32
2 dd43edf4 ths
# output: fffffffe\n
3 dd43edf4 ths
# output: fffffffe\n
4 dd43edf4 ths
5 dd43edf4 ths
; Check basic integral-write semantics regarding flags.
6 dd43edf4 ths
7 dd43edf4 ths
 .include "testutils.inc"
8 dd43edf4 ths
 start
9 dd43edf4 ths
10 54f25d0a edgar_igl
 move.d 0, $r3	
11 dd43edf4 ths
; A write that works.  Check that flags are set correspondingly.
12 dd43edf4 ths
 move.d d,r4
13 54f25d0a edgar_igl
 ;; store to bring it into the tlb with the right prot bits
14 54f25d0a edgar_igl
 move.d r3,[r4]
15 dd43edf4 ths
 moveq -2,r5
16 dd43edf4 ths
 setf c
17 dd43edf4 ths
 clearf p
18 dd43edf4 ths
 move.d [r4],r3
19 dd43edf4 ths
 ax
20 dd43edf4 ths
 move.d r5,[r4]
21 dd43edf4 ths
 move.d [r4],r3
22 dd43edf4 ths
23 dd43edf4 ths
 bcc 0f
24 dd43edf4 ths
 nop
25 dd43edf4 ths
 fail
26 dd43edf4 ths
27 dd43edf4 ths
0:
28 dd43edf4 ths
 checkr3 fffffffe
29 dd43edf4 ths
30 dd43edf4 ths
; A write that fails; check flags too.
31 dd43edf4 ths
 move.d d,r4
32 dd43edf4 ths
 moveq 23,r5
33 dd43edf4 ths
 setf p
34 dd43edf4 ths
 clearf c
35 dd43edf4 ths
 move.d [r4],r3
36 dd43edf4 ths
 ax
37 dd43edf4 ths
 move.d r5,[r4]
38 dd43edf4 ths
 move.d [r4],r3
39 dd43edf4 ths
40 dd43edf4 ths
 bcs 0f
41 dd43edf4 ths
 nop
42 dd43edf4 ths
 fail
43 dd43edf4 ths
44 dd43edf4 ths
0:
45 dd43edf4 ths
 checkr3 fffffffe
46 dd43edf4 ths
 quit
47 dd43edf4 ths
48 dd43edf4 ths
 .data
49 dd43edf4 ths
d:
50 dd43edf4 ths
 .dword 42424242