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