MIPS: Verify the ISA mode and alignment of branch and jump targets
[external/binutils.git] / gas / testsuite / gas / mips / unaligned-jump-micromips-1.s
1         .text
2         .set    noreorder
3         .space  0x1000
4
5         .align  4
6         .set    micromips
7         .ent    foo
8 foo:
9         not     $2, $3
10         jalx    bar0
11          not    $2, $3
12         jal     bar0
13          not    $2, $3
14         jals    bar0
15          not    $2, $3
16         j       bar0
17          not    $2, $3
18         jalx    bar1
19          not    $2, $3
20         jal     bar1
21          not    $2, $3
22         jals    bar1
23          not    $2, $3
24         j       bar1
25          not    $2, $3
26         jalx    bar2
27          not    $2, $3
28         jal     bar2
29          not    $2, $3
30         jals    bar2
31          not    $2, $3
32         j       bar2
33          not    $2, $3
34         jalx    bar3
35          not    $2, $3
36         jal     bar3
37          not    $2, $3
38         jals    bar3
39          not    $2, $3
40         j       bar3
41          not    $2, $3
42         jalx    bar4
43          not    $2, $3
44         jal     bar4
45          not    $2, $3
46         jals    bar4
47          not    $2, $3
48         j       bar4
49          not    $2, $3
50         jalx    bar4 + 1
51          not    $2, $3
52         jal     bar4 + 1
53          not    $2, $3
54         jals    bar4 + 1
55          not    $2, $3
56         j       bar4 + 1
57          not    $2, $3
58         jalx    bar4 + 2
59          not    $2, $3
60         jal     bar4 + 2
61          not    $2, $3
62         jals    bar4 + 2
63          not    $2, $3
64         j       bar4 + 2
65          not    $2, $3
66         jalx    bar4 + 3
67          not    $2, $3
68         jal     bar4 + 3
69          not    $2, $3
70         jals    bar4 + 3
71          not    $2, $3
72         j       bar4 + 3
73          not    $2, $3
74         jalx    bar4 + 4
75          not    $2, $3
76         jal     bar4 + 4
77          not    $2, $3
78         jals    bar4 + 4
79          not    $2, $3
80         j       bar4 + 4
81          not    $2, $3
82         jalx    bar16
83          not    $2, $3
84         jal     bar16
85          not    $2, $3
86         jals    bar16
87          not    $2, $3
88         j       bar16
89          not    $2, $3
90         jalx    bar17
91          not    $2, $3
92         jal     bar17
93          not    $2, $3
94         jals    bar17
95          not    $2, $3
96         j       bar17
97          not    $2, $3
98         jalx    bar18
99          not    $2, $3
100         jal     bar18
101          not    $2, $3
102         jals    bar18
103          not    $2, $3
104         j       bar18
105          not    $2, $3
106         jalx    bar18 + 1
107          not    $2, $3
108         jal     bar18 + 1
109          not    $2, $3
110         jals    bar18 + 1
111          not    $2, $3
112         j       bar18 + 1
113          not    $2, $3
114         jalx    bar18 + 2
115          not    $2, $3
116         jal     bar18 + 2
117          not    $2, $3
118         jals    bar18 + 2
119          not    $2, $3
120         j       bar18 + 2
121          not    $2, $3
122         jalx    bar18 + 3
123          not    $2, $3
124         jal     bar18 + 3
125          not    $2, $3
126         jals    bar18 + 3
127          not    $2, $3
128         j       bar18 + 3
129          not    $2, $3
130         jalx    bar18 + 4
131          not    $2, $3
132         jal     bar18 + 4
133          not    $2, $3
134         jals    bar18 + 4
135          not    $2, $3
136         j       bar18 + 4
137          not    $2, $3
138         jalr    $0, $ra
139          not    $2, $3
140         .end    foo
141
142 # Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
143         .align  4, 0
144         .space  16
145
146         .macro  obj n:req
147         .type   bar\@, @object
148 bar\@ :
149         .byte   0
150         .size   bar\@, . - bar\@
151         .if     \n - 1
152         obj     \n - 1
153         .endif
154         .endm
155
156         .macro  fun n:req
157         .type   bar\@, @function
158 bar\@ :
159         .insn
160         .hword  0
161         .size   bar\@, . - bar\@
162         .if     \n - 1
163         fun     \n - 1
164         .endif
165         .endm
166
167         .align  4
168         obj     16
169         fun     8