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 |