1; Check the push and pop builtin "macros".
2 .text
3 .syntax no_register_prefix
4start:
5 push r1
6 push r0
7 push r4
8 ; Check that there is no recognition of invalid offsets.
9 move.b r5,[sp=sp-8]
10 move.w r5,[sp=sp-8]
11 move.d r5,[sp=sp-8]
12
13 move.b r5,[sp=sp-5]
14 move.w r5,[sp=sp-5]
15 move.d r5,[sp=sp-5]
16
17 move.w r5,[sp=sp-4]
18 move.b r3,[sp=sp-4]
19
20 move.d r5,[sp=sp-3]
21 move.w r11,[sp=sp-3]
22 move.b r5,[sp=sp-3]
23
24 move.d r5,[sp=sp-2]
25 move.b r5,[sp=sp-2]
26
27 move.d r5,[sp=sp-1]
28 move.w r5,[sp=sp-1]
29
30 move.d r5,[sp=sp+0]
31 move.b r5,[sp=sp+0]
32 move.w r5,[sp=sp+0]
33
34 move.d r5,[sp=sp+1]
35 move.w r5,[sp=sp+1]
36 move.b r5,[sp=sp+1]
37
38 move.d r5,[sp=sp+2]
39 move.w r5,[sp=sp+2]
40 move.b r5,[sp=sp+2]
41
42 move.d r5,[sp=sp+3]
43 move.w r5,[sp=sp+3]
44 move.b r5,[sp=sp+3]
45
46 move.d r5,[sp=sp+4]
47 move.w r5,[sp=sp+4]
48 move.b r5,[sp=sp+4]
49
50 move.d r5,[sp=sp+5]
51 move.w r5,[sp=sp+5]
52 move.b r5,[sp=sp+5]
53
54 move.d r1,[sp=sp+8]
55 move.w r9,[sp=sp+8]
56 move.b r13,[sp=sp+8]
57
58;
59; All these will have postincrement on the "real" instruction
60; (e.g. "move.d [sp+],r6") which is the actual insn recognized as
61; pop; it is *not* e.g. "move.d [sp=sp+4],r6".
62;  Here we make sure that neither the combination nor the second
63; is interpreted as a pop.
64;
65 move.b [sp=sp+8],r5
66 move.w [sp=sp+8],r5
67 move.d [sp=sp+8],r5
68
69 move.b [sp=sp+5],r5
70 move.w [sp=sp+5],r5
71 move.d [sp=sp+5],r5
72
73 move.d [sp=sp+4],r5
74 move.w [sp=sp+4],r5
75 move.b [sp=sp+4],r3
76
77 move.d [sp=sp+3],r5
78 move.w [sp=sp+3],r11
79 move.b [sp=sp+3],r5
80
81 move.d [sp=sp+2],r5
82 move.w [sp=sp+2],r5
83 move.b [sp=sp+2],r5
84
85 move.d [sp=sp+1],r5
86 move.w [sp=sp+1],r5
87 move.b [sp=sp+1],r5
88
89 move.d [sp=sp-0],r5
90 move.w [sp=sp-0],r5
91 move.b [sp=sp-0],r5
92
93 move.d [sp=sp-1],r5
94 move.w [sp=sp-1],r5
95 move.b [sp=sp-1],r5
96
97 move.d [sp=sp-2],r5
98 move.w [sp=sp-2],r5
99 move.b [sp=sp-2],r5
100
101 move.d [sp=sp-3],r5
102 move.w [sp=sp-3],r5
103 move.b [sp=sp-3],r5
104
105 move.d [sp=sp-4],r5
106 move.w [sp=sp-4],r5
107 move.b [sp=sp-4],r5
108
109 move.d [sp=sp-5],r5
110 move.w [sp=sp-5],r5
111 move.b [sp=sp-5],r5
112
113 move.d [sp=sp-8],r5
114 move.w [sp=sp-8],r5
115 move.b [sp=sp-8],r5
116
117 push r0
118 pop r2
119 pop r3
120 push r13
121end:
122