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