MIPS/GAS: Implement microMIPS branch/jump compaction
[deliverable/binutils-gdb.git] / gas / testsuite / gas / mips / micromips-size-1.s
CommitLineData
df58fc94
RS
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
7bd374a4 36 nop
df58fc94 37 b bar
7bd374a4 38 nop
df58fc94 39 b16 bar
7bd374a4 40 nop
df58fc94 41 b32 bar
7bd374a4 42 nop
df58fc94 43 beqz $7, bar
7bd374a4 44 nop
df58fc94 45 beqz16 $7, bar
7bd374a4 46 nop
df58fc94 47 beqz32 $7, bar
7bd374a4 48 nop
df58fc94 49 beqz $27, bar
7bd374a4 50 nop
df58fc94
RS
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
This page took 0.238261 seconds and 4 git commands to generate.