* sim/cris/asm/testutils.inc (test_h_mem): Use register prefix.
[deliverable/binutils-gdb.git] / sim / testsuite / sim / cris / asm / movmp.ms
CommitLineData
5e1f6430
HPN
1# mach: crisv3 crisv8 crisv10 crisv32
2# output: ffffff00\nffff0000\n0\nffffff00\nffff0000\n0\nffffff00\nffff0000\n0\nbb113344\n664433aa\ncc557788\nabcde012\nabcde000\n77880000\n0\n
3
4# Test generic "move Ps,[]" and "move [],Pd" insns; the ones with
5# functionality common to all models.
6
7 .include "testutils.inc"
8 start
9
10 .data
11filler:
12 .byte 0xaa
13 .word 0x4433
14 .dword 0x55778866
15 .byte 0xcc
16
17 .text
18; Test that writing to zero-registers is a nop
632c75db
HPN
19 .if 0
20 ; We used to just ignore the writes, but now an error is emitted. We
21 ; keep the test-code but disabled, in case we need to change this again.
5e1f6430
HPN
22 move 0xaa,p0
23 move 0x4433,p4
24 move 0x55774433,p8
632c75db
HPN
25 .endif
26
5e1f6430
HPN
27 moveq -1,r3
28 setf zcvn
29 clear.b r3
30 test_cc 1 1 1 1
31 dumpr3
32
33 moveq -1,r3
34 clearf zcvn
35 clear.w r3
36 test_cc 0 0 0 0
37 dumpr3
38
39 moveq -1,r3
40 clear.d r3
41 dumpr3
42
43; "Write" using ordinary memory references too.
632c75db 44 .if 0 ; See ".if 0" above.
5e1f6430
HPN
45 move.d filler,r6
46 move [r6],p0
47 move [r6],p4
48 move [r6],p8
632c75db
HPN
49 .endif
50
5e1f6430
HPN
51 moveq -1,r3
52 clear.b r3
53 dumpr3
54
55 moveq -1,r3
56 clear.w r3
57 dumpr3
58
59 moveq -1,r3
60 clear.d r3
61 dumpr3
62
63; And postincremented.
632c75db 64 .if 0 ; See ".if 0" above.
5e1f6430
HPN
65 move [r6+],p0
66 move [r6+],p4
67 move [r6+],p8
632c75db
HPN
68 .endif
69
5e1f6430
HPN
70 moveq -1,r3
71 clear.b r3
72 dumpr3
73
74 moveq -1,r3
75 clear.w r3
76 dumpr3
77
78 moveq -1,r3
79 clear.d r3
80 dumpr3
81
82; Now see that we can write to the registers too.
83
84; [PC+]
85 move.d filler,r9
86 move 0xbb113344,srp
87 move srp,r3
88 dumpr3
89
90; [R+]
91 move [r9+],srp
92 move srp,r3
93 dumpr3
94
95; [R]
96 move [r9],srp
97 move srp,r3
98 dumpr3
99
100; And check writing to memory, clear and srp.
101
102 move.d filler,r9
103 move 0xabcde012,srp
104 setf zcvn
105 move srp,[r9+]
106 test_cc 1 1 1 1
107 subq 4,r9
108 move.d [r9],r3
109 dumpr3
110
111 clearf zcvn
112 clear.b [r9]
113 test_cc 0 0 0 0
114 move.d [r9],r3
115 dumpr3
116
117 addq 2,r9
118 clear.w [r9+]
119 subq 2,r9
120 move.d [r9],r3
121 dumpr3
122
123 clear.d [r9]
124 move.d [r9],r3
125 dumpr3
126
127 quit
This page took 0.035985 seconds and 4 git commands to generate.