1# Miscellaneous instructions.
2 .data
3foodata: .word 42
4	 .text
5footext:
6
7# Multiply instructions.
8	.global macsb
9macsb:
10macsb r0 , r1
11
12	.global macub
13macub:
14macub r2 , r3
15
16	.global macqb
17macqb:
18macqb r4 , r5
19
20	.global macsw
21macsw:
22macsw r6 , r7
23
24	.global macuw
25macuw:
26macuw r8 , r9
27
28	.global macqw
29macqw:
30macqw r10 , r11
31
32	.global macsd
33macsd:
34macsd r12 , r13
35
36	.global macud
37macud:
38macud r14 , r15
39
40	.global macqd
41macqd:
42macqd ra , sp
43
44	.global mullsd
45mullsd:
46mullsd r0 , r2
47
48	.global mullud
49mullud:
50mullud r1 , r3
51
52	.global mulsbw
53mulsbw:
54mulsbw r4 , r6
55
56	.global mulubw
57mulubw:
58mulubw r5 , r7
59
60	.global mulswd
61mulswd:
62mulswd r8 , r10
63
64	.global muluwd
65muluwd:
66muluwd r9 , r11
67
68# Signextend instructions.
69	.global sextbw
70sextbw:
71sextbw r12 , ra
72
73	.global sextbd
74sextbd:
75sextbd r13 , sp
76
77	.global sextwd
78sextwd:
79sextwd r14 , r15
80
81	.global zextbw
82zextbw:
83zextbw r5 , r0
84
85	.global zextbd
86zextbd:
87zextbd r10 , r6
88
89	.global zextwd
90zextwd:
91zextwd r7 , r15
92
93# Misc. instructions.
94
95	.global getrfid
96getrfid:
97getrfid r14
98
99	.global setrfid
100setrfid:
101setrfid sp
102
103	.global bswap
104bswap:
105bswap r14 , r2
106
107	.global maxsb
108maxsb:
109maxsb r8 , r3
110
111	.global minsb
112minsb:
113minsb r15 , r14
114
115	.global maxub
116maxub:
117maxub r13 , r12
118
119	.global minub
120minub:
121minub r11 , r10
122
123	.global absb
124absb:
125absb r9 , r8
126
127	.global negb
128negb:
129negb r7 , r6
130
131	.global cntl0b
132cntl0b:
133cntl0b r5 , r4
134
135	.global cntl1b
136cntl1b:
137cntl1b r3 , r2
138
139	.global popcntb
140popcntb:
141popcntb r1 , r0
142
143	.global rotlb
144rotlb:
145rotlb r11 , r4
146
147	.global rotrb
148rotrb:
149rotrb r7 , r2
150
151	.global mulqb
152mulqb:
153mulqb r14 , ra
154
155	.global addqb
156addqb:
157addqb r15 , sp
158
159	.global subqb
160subqb:
161subqb r0 , r10
162
163	.global cntlsb
164cntlsb:
165cntlsb r2 , r12
166
167	.global maxsw
168maxsw:
169maxsw r8 , r3
170
171	.global minsw
172minsw:
173minsw r15 , r14
174
175	.global maxuw
176maxuw:
177maxuw r13 , r12
178
179	.global minuw
180minuw:
181minuw r11 , r10
182
183	.global absw
184absw:
185absw r9 , r8
186
187	.global negw
188negw:
189negw r7 , r6
190
191	.global cntl0w
192cntl0w:
193cntl0w r5 , r4
194
195	.global cntl1w
196cntl1w:
197cntl1w r3 , r2
198
199	.global popcntw
200popcntw:
201popcntw r1 , r0
202
203	.global rotlw
204rotlw:
205rotlw r11 , r4
206
207	.global rotrw
208rotrw:
209rotrw r7 , r2
210
211	.global mulqw
212mulqw:
213mulqw r14 , ra
214
215	.global addqw
216addqw:
217addqw r15 , sp
218
219	.global subqw
220subqw:
221subqw r0 , r10
222
223	.global cntlsw
224cntlsw:
225cntlsw r2 , r12
226
227	.global maxsd
228maxsd:
229maxsd r8 , r3
230
231	.global minsd
232minsd:
233minsd r15 , r14
234
235	.global maxud
236maxud:
237maxud r13 , r12
238
239	.global minud
240minud:
241minud r11 , r10
242
243	.global absd
244absd:
245absd r9 , r8
246
247	.global negd
248negd:
249negd r7 , r6
250
251	.global cntl0d
252cntl0d:
253cntl0d r5 , r4
254
255	.global cntl1d
256cntl1d:
257cntl1d r3 , r2
258
259	.global popcntd
260popcntd:
261popcntd r1 , r0
262
263	.global rotld
264rotld:
265rotld r11 , r4
266
267	.global rotrd
268rotrd:
269rotrd r7 , r2
270
271	.global mulqd
272mulqd:
273mulqd r14 , ra
274
275	.global addqd
276addqd:
277addqd r15 , sp
278
279	.global subqd
280subqd:
281subqd r0 , r10
282
283	.global cntlsd
284cntlsd:
285cntlsd r2 , r12
286
287	.global excp
288excp:
289excp BPT
290excp svc
291
292	.global ram
293ram:
294ram $24, $9, $1, ra, r12
295
296	.global rim
297rim:
298rim $0x1f, $0xf, $0xe, r2, r1
299
300	.global rotb
301rotb:
302rotb $7, r1
303
304	.global rotw
305rotw:
306rotw $13, r3
307
308	.global rotd
309rotd:
310rotd $27, r2
311
312
313