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