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