1# Source file used to test microMIPS instruction size overrides (#1).
2
3	.text
4foo:
5# Smoke-test a trivial case.
6	nop
7	nop16
8	nop32
9
10# Test ALU operations.
11	addu	$2, $4
12	addu16	$2, $4
13	addu32	$2, $4
14	addu	$12, $14
15	addu32	$12, $14
16	add.ps	$f2, $f4
17	add32.ps $f2, $f4
18	addiusp	256
19	addiusp16 256
20
21# Test jumps and branches.
22	jalr	$4
23	jalr16	$4
24	jalr32	$4
25	jalr	$24
26	jalr16	$24
27	jalr32	$24
28	jalr	$31,$5
29	jalr16	$31,$5
30	jalr32	$31,$5
31	jalr	$31,$25
32	jalr16	$31,$25
33	jalr32	$31,$25
34	jalr	$30,$26
35	jalr32	$30,$26
36	nop
37	b	bar
38	nop
39	b16	bar
40	nop
41	b32	bar
42	nop
43	beqz	$7, bar
44	nop
45	beqz16	$7, bar
46	nop
47	beqz32	$7, bar
48	nop
49	beqz	$27, bar
50	nop
51	beqz32	$27, bar
52
53# Test branch delay slots.
54	.set	noreorder
55	bltzal	$2, bar
56	 addu	$16, $17
57	bltzal	$2, bar
58	 addu16	$16, $17
59	bltzal	$2, bar
60	 addu32	$16, $17
61	bltzals	$2, bar
62	 addu	$16, $17
63	bltzals	$2, bar
64	 addu16	$16, $17
65	bltzals	$2, bar
66	 addu32	$16, $17
67	bltzal	$2, bar
68	 add.ps	$f2, $f4
69	bltzal	$2, bar
70	 add32.ps $f2, $f4
71	bltzals	$2, bar
72	 add.ps	$f2, $f4
73	bltzals	$2, bar
74	 add32.ps $f2, $f4
75	bltzal	$2, bar
76	 addiusp 256
77	bltzal	$2, bar
78	 addiusp16 256
79	bltzals	$2, bar
80	 addiusp 256
81	bltzals	$2, bar
82	 addiusp16 256
83	.set	reorder
84
85# Test macro delay slots.
86	.set	noreorder
87	bltzall	$2, bar
88	 addu	$16, $17
89	bltzall	$2, bar
90	 addu16	$16, $17
91	bltzall	$2, bar
92	 addu32	$16, $17
93	bltzall	$2, bar
94	 add.ps	$f2, $f4
95	bltzall	$2, bar
96	 add32.ps $f2, $f4
97	bltzall	$2, bar
98	 addiusp 256
99	bltzall	$2, bar
100	 addiusp16 256
101	.set	reorder
102
103# Test shift instructions to complement 64-bit tests.
104	sll	$2, $3, 5
105	sll16	$2, $3, 5
106	sll32	$2, $3, 5
107	sll	$2, $3, 13
108	sll32	$2, $3, 13
109	sll	$10, $11, 5
110	sll32	$10, $11, 5
111
112# Test 64-bit instructions.
113	dsll	$2, $3, 5
114	dsll32	$2, $3, 5			# No way to force 32-bit DSLL.
115	dsll3232 $2, $3, 5
116	dsll	$2, $3, 13
117	dsll32	$2, $3, 13			# No way to force 32-bit DSLL.
118	dsll3232 $2, $3, 13
119	dsll	$10, $11, 5
120	dsll32	$10, $11, 5			# No way to force 32-bit DSLL.
121	dsll3232 $10, $11, 5
122
123# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
124	.align	2
125	.space	8
126