|
|
1.1 root 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:
1.1.1.2 ! root 10: move.d 0, $r3
1.1 root 11: ; A write that works. Check that flags are set correspondingly.
12: move.d d,r4
1.1.1.2 ! root 13: ;; store to bring it into the tlb with the right prot bits
! 14: move.d r3,[r4]
1.1 root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.