gas/
[deliverable/binutils-gdb.git] / gas / testsuite / gas / mips / micromips-size-0.s
1 # Source file used to test the microMIPS instruction size overrides (#0).
2
3 .text
4 foo:
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 addu16 $12, $14
16 addu32 $12, $14
17 add.ps $f2, $f4
18 add16.ps $f2, $f4
19 add32.ps $f2, $f4
20 addiusp 256
21 addiusp16 256
22 addiusp32 256
23
24 # Test jumps and branches.
25 jar $23
26 jar16 $23
27 jar32 $23
28 jalr $4
29 jalr16 $4
30 jalr32 $4
31 jalr $24
32 jalr16 $24
33 jalr32 $24
34 jalr $31,$5
35 jalr16 $31,$5
36 jalr32 $31,$5
37 jalr $31,$25
38 jalr16 $31,$25
39 jalr32 $31,$25
40 jalr $30,$26
41 jalr16 $30,$26
42 jalr32 $30,$26
43 b bar
44 b16 bar
45 b32 bar
46 beqz $7, bar
47 beqz16 $7, bar
48 beqz32 $7, bar
49 beqz $27, bar
50 beqz16 $27, bar
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 add16.ps $f2, $f4
71 bltzal $2, bar
72 add32.ps $f2, $f4
73 bltzals $2, bar
74 add.ps $f2, $f4
75 bltzals $2, bar
76 add16.ps $f2, $f4
77 bltzals $2, bar
78 add32.ps $f2, $f4
79 bltzal $2, bar
80 addiusp 256
81 bltzal $2, bar
82 addiusp16 256
83 bltzal $2, bar
84 addiusp32 256
85 bltzals $2, bar
86 addiusp 256
87 bltzals $2, bar
88 addiusp16 256
89 bltzals $2, bar
90 addiusp32 256
91 .set reorder
92
93 # Test macro delay slots.
94 .set noreorder
95 bltzall $2, bar
96 addu $16, $17
97 bltzall $2, bar
98 addu16 $16, $17
99 bltzall $2, bar
100 addu32 $16, $17
101 bltzall $2, bar
102 add.ps $f2, $f4
103 bltzall $2, bar
104 add16.ps $f2, $f4
105 bltzall $2, bar
106 add32.ps $f2, $f4
107 bltzall $2, bar
108 addiusp 256
109 bltzall $2, bar
110 addiusp16 256
111 bltzall $2, bar
112 addiusp32 256
113 .set reorder
114
115 # Test shift instructions to complement 64-bit tests.
116 sll $2, $3, 5
117 sll16 $2, $3, 5
118 sll32 $2, $3, 5
119 sll $2, $3, 13
120 sll16 $2, $3, 13
121 sll32 $2, $3, 13
122 sll $10, $11, 5
123 sll16 $10, $11, 5
124 sll32 $10, $11, 5
125
126 # Test 64-bit instructions.
127 dsll $2, $3, 5
128 dsll16 $2, $3, 5
129 dsll32 $2, $3, 5 # No way to force 32-bit DSLL.
130 dsll3216 $2, $3, 5
131 dsll3232 $2, $3, 5
132 dsll $2, $3, 13
133 dsll16 $2, $3, 13
134 dsll32 $2, $3, 13 # No way to force 32-bit DSLL.
135 dsll3216 $2, $3, 13
136 dsll3232 $2, $3, 13
137 dsll $10, $11, 5
138 dsll16 $10, $11, 5
139 dsll32 $10, $11, 5 # No way to force 32-bit DSLL.
140 dsll3216 $10, $11, 5
141 dsll3232 $10, $11, 5
142
143 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
144 .align 2
145 .space 8
This page took 0.032145 seconds and 4 git commands to generate.