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
10 move.d 0, $r3
11; A write that works.  Check that flags are set correspondingly.
12 move.d d,r4
13 ;; store to bring it into the tlb with the right prot bits
14 move.d r3,[r4]
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
270:
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
440:
45 checkr3 fffffffe
46 quit
47
48 .data
49d:
50 .dword 42424242
51