1# source file to test assembly of MIPS64 MDMX ASE instructions
2
3	.set noreorder
4	.set noat
5
6	.globl text_label .text
7text_label:
8
9	movf.l		$v1, $v12, $fcc5
10
11	movn.l		$v1, $v12, $18
12
13	movt.l		$v1, $v12, $fcc5
14
15	movz.l		$v1, $v12, $18
16
17	add.ob		$v1, $v12, 18
18	add.ob		$v1, $v12, $v18
19	add.ob		$v1, $v12, $v18[6]
20
21	add.qh		$v1, $v12, 18
22	add.qh		$v1, $v12, $v18
23	add.qh		$v1, $v12, $v18[2]
24
25	adda.ob		$v12, 18
26	adda.ob		$v12, $v18
27	adda.ob		$v12, $v18[6]
28
29	adda.qh		$v12, 18
30	adda.qh		$v12, $v18
31	adda.qh		$v12, $v18[2]
32
33	addl.ob		$v12, 18
34	addl.ob		$v12, $v18
35	addl.ob		$v12, $v18[6]
36
37	addl.qh		$v12, 18
38	addl.qh		$v12, $v18
39	addl.qh		$v12, $v18[2]
40
41	alni.ob		$v1, $v12, $v18, 6
42
43	alni.qh		$v1, $v12, $v18, 2
44
45	alnv.ob		$v1, $v12, $v18, $21
46
47	alnv.qh		$v1, $v12, $v18, $21
48
49	and.ob		$v1, $v12, 18
50	and.ob		$v1, $v12, $v18
51	and.ob		$v1, $v12, $v18[6]
52
53	and.qh		$v1, $v12, 18
54	and.qh		$v1, $v12, $v18
55	and.qh		$v1, $v12, $v18[2]
56
57	c.eq.ob		$v12, 18
58	c.eq.ob		$v12, $v18
59	c.eq.ob		$v12, $v18[6]
60
61	c.eq.qh		$v12, 18
62	c.eq.qh		$v12, $v18
63	c.eq.qh		$v12, $v18[2]
64
65	c.le.ob		$v12, 18
66	c.le.ob		$v12, $v18
67	c.le.ob		$v12, $v18[6]
68
69	c.le.qh		$v12, 18
70	c.le.qh		$v12, $v18
71	c.le.qh		$v12, $v18[2]
72
73	c.lt.ob		$v12, 18
74	c.lt.ob		$v12, $v18
75	c.lt.ob		$v12, $v18[6]
76
77	c.lt.qh		$v12, 18
78	c.lt.qh		$v12, $v18
79	c.lt.qh		$v12, $v18[2]
80
81	max.ob		$v1, $v12, 18
82	max.ob		$v1, $v12, $v18
83	max.ob		$v1, $v12, $v18[6]
84
85	max.qh		$v1, $v12, 18
86	max.qh		$v1, $v12, $v18
87	max.qh		$v1, $v12, $v18[2]
88
89	min.ob		$v1, $v12, 18
90	min.ob		$v1, $v12, $v18
91	min.ob		$v1, $v12, $v18[6]
92
93	min.qh		$v1, $v12, 18
94	min.qh		$v1, $v12, $v18
95	min.qh		$v1, $v12, $v18[2]
96
97	msgn.qh		$v1, $v12, 18
98	msgn.qh		$v1, $v12, $v18
99	msgn.qh		$v1, $v12, $v18[2]
100
101	mul.ob		$v1, $v12, 18
102	mul.ob		$v1, $v12, $v18
103	mul.ob		$v1, $v12, $v18[6]
104
105	mul.qh		$v1, $v12, 18
106	mul.qh		$v1, $v12, $v18
107	mul.qh		$v1, $v12, $v18[2]
108
109	mula.ob		$v12, 18
110	mula.ob		$v12, $v18
111	mula.ob		$v12, $v18[6]
112
113	mula.qh		$v12, 18
114	mula.qh		$v12, $v18
115	mula.qh		$v12, $v18[2]
116
117	mull.ob		$v12, 18
118	mull.ob		$v12, $v18
119	mull.ob		$v12, $v18[6]
120
121	mull.qh		$v12, 18
122	mull.qh		$v12, $v18
123	mull.qh		$v12, $v18[2]
124
125	muls.ob		$v12, 18
126	muls.ob		$v12, $v18
127	muls.ob		$v12, $v18[6]
128
129	muls.qh		$v12, 18
130	muls.qh		$v12, $v18
131	muls.qh		$v12, $v18[2]
132
133	mulsl.ob	$v12, 18
134	mulsl.ob	$v12, $v18
135	mulsl.ob	$v12, $v18[6]
136
137	mulsl.qh	$v12, 18
138	mulsl.qh	$v12, $v18
139	mulsl.qh	$v12, $v18[2]
140
141	nor.ob		$v1, $v12, 18
142	nor.ob		$v1, $v12, $v18
143	nor.ob		$v1, $v12, $v18[6]
144
145	nor.qh		$v1, $v12, 18
146	nor.qh		$v1, $v12, $v18
147	nor.qh		$v1, $v12, $v18[2]
148
149	or.ob		$v1, $v12, 18
150	or.ob		$v1, $v12, $v18
151	or.ob		$v1, $v12, $v18[6]
152
153	or.qh		$v1, $v12, 18
154	or.qh		$v1, $v12, $v18
155	or.qh		$v1, $v12, $v18[2]
156
157	pickf.ob	$v1, $v12, 18
158	pickf.ob	$v1, $v12, $v18
159	pickf.ob	$v1, $v12, $v18[6]
160
161	pickf.qh	$v1, $v12, 18
162	pickf.qh	$v1, $v12, $v18
163	pickf.qh	$v1, $v12, $v18[2]
164
165	pickt.ob	$v1, $v12, 18
166	pickt.ob	$v1, $v12, $v18
167	pickt.ob	$v1, $v12, $v18[6]
168
169	pickt.qh	$v1, $v12, 18
170	pickt.qh	$v1, $v12, $v18
171	pickt.qh	$v1, $v12, $v18[2]
172
173	rach.ob		$v1
174
175	rach.qh		$v1
176
177	racl.ob		$v1
178
179	racl.qh		$v1
180
181	racm.ob		$v1
182
183	racm.qh		$v1
184
185	rnas.qh		$v1, 18
186	rnas.qh		$v1, $v18
187	rnas.qh		$v1, $v18[2]
188
189	rnau.ob		$v1, 18
190	rnau.ob		$v1, $v18
191	rnau.ob		$v1, $v18[6]
192
193	rnau.qh		$v1, 18
194	rnau.qh		$v1, $v18
195	rnau.qh		$v1, $v18[2]
196
197	rnes.qh		$v1, 18
198	rnes.qh		$v1, $v18
199	rnes.qh		$v1, $v18[2]
200
201	rneu.ob		$v1, 18
202	rneu.ob		$v1, $v18
203	rneu.ob		$v1, $v18[6]
204
205	rneu.qh		$v1, 18
206	rneu.qh		$v1, $v18
207	rneu.qh		$v1, $v18[2]
208
209	rzs.qh		$v1, 18
210	rzs.qh		$v1, $v18
211	rzs.qh		$v1, $v18[2]
212
213	rzu.ob		$v1, 18
214	rzu.ob		$v1, $v18
215	rzu.ob		$v1, $v18[6]
216
217	rzu.qh		$v1, 18
218	rzu.qh		$v1, $v18
219	rzu.qh		$v1, $v18[2]
220
221	shfl.bfla.qh	$v1, $v12, $v18
222
223	shfl.mixh.ob	$v1, $v12, $v18
224	shfl.mixh.qh	$v1, $v12, $v18
225
226	shfl.mixl.ob	$v1, $v12, $v18
227	shfl.mixl.qh	$v1, $v12, $v18
228
229	shfl.pach.ob	$v1, $v12, $v18
230	shfl.pach.qh	$v1, $v12, $v18
231
232	shfl.repa.qh	$v1, $v12, $v18
233
234	shfl.repb.qh	$v1, $v12, $v18
235
236	shfl.upsl.ob	$v1, $v12, $v18
237
238	sll.ob		$v1, $v12, 18
239	sll.ob		$v1, $v12, $v18
240	sll.ob		$v1, $v12, $v18[6]
241
242	sll.qh		$v1, $v12, 18
243	sll.qh		$v1, $v12, $v18
244	sll.qh		$v1, $v12, $v18[2]
245
246	sra.qh		$v1, $v12, 18
247	sra.qh		$v1, $v12, $v18
248	sra.qh		$v1, $v12, $v18[2]
249
250	srl.ob		$v1, $v12, 18
251	srl.ob		$v1, $v12, $v18
252	srl.ob		$v1, $v12, $v18[6]
253
254	srl.qh		$v1, $v12, 18
255	srl.qh		$v1, $v12, $v18
256	srl.qh		$v1, $v12, $v18[2]
257
258	sub.ob		$v1, $v12, 18
259	sub.ob		$v1, $v12, $v18
260	sub.ob		$v1, $v12, $v18[6]
261
262	sub.qh		$v1, $v12, 18
263	sub.qh		$v1, $v12, $v18
264	sub.qh		$v1, $v12, $v18[2]
265
266	suba.ob		$v12, 18
267	suba.ob		$v12, $v18
268	suba.ob		$v12, $v18[6]
269
270	suba.qh		$v12, 18
271	suba.qh		$v12, $v18
272	suba.qh		$v12, $v18[2]
273
274	subl.ob		$v12, 18
275	subl.ob		$v12, $v18
276	subl.ob		$v12, $v18[6]
277
278	subl.qh		$v12, 18
279	subl.qh		$v12, $v18
280	subl.qh		$v12, $v18[2]
281
282	wach.ob		$v12
283
284	wach.qh		$v12
285
286	wacl.ob		$v12, $v18
287
288	wacl.qh		$v12, $v18
289
290	xor.ob		$v1, $v12, 18
291	xor.ob		$v1, $v12, $v18
292	xor.ob		$v1, $v12, $v18[6]
293
294	xor.qh		$v1, $v12, 18
295	xor.qh		$v1, $v12, $v18
296	xor.qh		$v1, $v12, $v18[2]
297
298# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
299      .space  8
300