1# source file to test assembly of MIPS DSP ASE for MIPS32 instructions
2
3	.set noreorder
4	.set nomacro
5	.set noat
6
7	.text
8text_label:
9
10	addq.ph		$0,$1,$2
11	addq_s.ph	$1,$2,$3
12	addq_s.w	$2,$3,$4
13	addu.qb		$3,$4,$5
14	addu_s.qb	$4,$5,$6
15	subq.ph		$5,$6,$7
16	subq_s.ph	$6,$7,$8
17	subq_s.w	$7,$8,$9
18	subu.qb		$8,$9,$10
19	subu_s.qb	$9,$10,$11
20	addsc		$10,$11,$12
21	addwc		$11,$12,$13
22	modsub		$12,$13,$14
23	raddu.w.qb	$13,$14
24	absq_s.ph	$14,$15
25	absq_s.w	$15,$16
26	precrq.qb.ph	$16,$17,$18
27	precrq.ph.w	$17,$18,$19
28	precrq_rs.ph.w	$18,$19,$20
29	precrqu_s.qb.ph	$19,$20,$21
30	preceq.w.phl	$20,$21
31	preceq.w.phr	$21,$22
32	precequ.ph.qbl	$22,$23
33	precequ.ph.qbr	$23,$24
34	precequ.ph.qbla	$24,$25
35	precequ.ph.qbra	$25,$26
36	preceu.ph.qbl	$26,$27
37	preceu.ph.qbr	$27,$28
38	preceu.ph.qbla	$28,$29
39	preceu.ph.qbra	$29,$30
40	shll.qb		$30,$31,0
41	shll.qb		$30,$31,7
42	shllv.qb	$31,$0,$1
43	shll.ph		$0,$1,0
44	shll.ph		$0,$1,15
45	shllv.ph	$1,$2,$3
46	shll_s.ph	$2,$3,0
47	shll_s.ph	$2,$3,15
48	shllv_s.ph	$3,$4,$5
49	shll_s.w	$4,$5,0
50	shll_s.w	$4,$5,31
51	shllv_s.w	$5,$6,$7
52	shrl.qb		$6,$7,0
53	shrl.qb		$6,$7,7
54	shrlv.qb	$7,$8,$9
55	shra.ph		$8,$9,0
56	shra.ph		$8,$9,15
57	shrav.ph	$9,$10,$11
58	shra_r.ph	$10,$11,0
59	shra_r.ph	$10,$11,15
60	shrav_r.ph	$11,$12,$13
61	shra_r.w	$12,$13,0
62	shra_r.w	$12,$13,31
63	shrav_r.w	$13,$14,$15
64	muleu_s.ph.qbl	$14,$15,$16
65	muleu_s.ph.qbr	$15,$16,$17
66	mulq_rs.ph	$16,$17,$18
67	muleq_s.w.phl	$17,$18,$19
68	muleq_s.w.phr	$18,$19,$20
69	dpau.h.qbl	$ac0,$19,$20
70	dpau.h.qbr	$ac1,$20,$21
71	dpsu.h.qbl	$ac2,$21,$22
72	dpsu.h.qbr	$ac3,$22,$23
73	dpaq_s.w.ph	$ac0,$23,$24
74	dpsq_s.w.ph	$ac1,$24,$25
75	mulsaq_s.w.ph	$ac2,$25,$26
76	dpaq_sa.l.w	$ac3,$26,$27
77	dpsq_sa.l.w	$ac0,$27,$28
78	maq_s.w.phl	$ac1,$28,$29
79	maq_s.w.phr	$ac2,$29,$30
80	maq_sa.w.phl	$ac3,$30,$31
81	maq_sa.w.phr	$ac0,$31,$0
82	bitrev		$0,$1
83	insv		$1,$2
84	repl.qb		$2,0
85	repl.qb		$2,255
86	replv.qb	$3,$4
87	repl.ph		$4,-512
88	repl.ph		$4,511
89	replv.ph	$5,$6
90	cmpu.eq.qb	$6,$7
91	cmpu.lt.qb	$7,$8
92	cmpu.le.qb	$8,$9
93	cmpgu.eq.qb	$9,$10,$11
94	cmpgu.lt.qb	$10,$11,$12
95	cmpgu.le.qb	$11,$12,$13
96	cmp.eq.ph	$12,$13
97	cmp.lt.ph	$13,$14
98	cmp.le.ph	$14,$15
99	pick.qb		$15,$16,$17
100	pick.ph		$16,$17,$18
101	packrl.ph	$17,$18,$19
102	extr.w		$18,$ac1,0
103	extr.w		$18,$ac1,31
104	extr_r.w	$19,$ac2,0
105	extr_r.w	$19,$ac2,31
106	extr_rs.w	$20,$ac3,0
107	extr_rs.w	$20,$ac3,31
108	extr_s.h	$21,$ac0,0
109	extr_s.h	$21,$ac0,31
110	extrv_s.h	$22,$ac1,$23
111	extrv.w		$23,$ac2,$24
112	extrv_r.w	$24,$ac3,$25
113	extrv_rs.w	$25,$ac0,$26
114	extp		$26,$ac1,0
115	extp		$26,$ac1,31
116	extpv		$27,$ac2,$28
117	extpdp		$28,$ac3,0
118	extpdp		$28,$ac3,31
119	extpdpv		$29,$ac0,$30
120	shilo		$ac1,-32
121	shilo		$ac1,31
122	shilov		$ac2,$30
123	mthlip		$31,$ac3
124	mfhi		$0,$ac0
125	mflo		$1,$ac1
126	mthi		$2,$ac2
127	mtlo		$3,$ac3
128	wrdsp		$4,0
129	wrdsp		$4,63
130	wrdsp		$5
131	rddsp		$6,0
132	rddsp		$6,63
133	rddsp		$7
134	lbux		$8,$9($10)
135	lhx		$9,$10($11)
136	lwx		$10,$11($12)
137	bposge32	text_label
138	nop
139	madd		$ac2,$11,$12
140	maddu		$ac3,$12,$13
141	msub		$ac0,$13,$14
142	msubu		$ac1,$14,$15
143	mult		$ac3,$21,$22
144	multu		$ac0,$22,$23
145
146# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
147	.space	8
148