binutils/
[external/binutils.git] / sim / testsuite / sim / cris / asm / ba.ms
1 # mach: crisv0 crisv3 crisv8 crisv10 crisv32
2 # output: a\n
3
4  .include "testutils.inc"
5
6  .if ..asm.arch.cris.v32
7  .set smalloffset,0
8  .set largeoffset,0
9  .else
10  .set smalloffset,2
11  .set largeoffset,4
12  .endif
13
14  start
15  moveq 0,r3
16
17 ; Short forward branch.
18  ba 0f
19  addq 1,r3
20  fail
21
22 ; Max short forward branch.
23 1:
24  ba 2f
25  addq 1,r3
26  fail
27
28 ; Short backward branch.
29 0:
30  ba 1b
31  addq 1,r3
32  fail
33
34  .space 254-2+smalloffset+1b-.,0
35  moveq 0,r3
36
37 2:
38 ; Transit branch (long).
39  ba 3f
40  addq 1,r3
41  fail
42
43  moveq 0,r3
44 4:
45 ; Long forward branch.
46  ba 5f
47  addq 1,r3
48  fail
49
50  .space 256-2-smalloffset+4b-.,0
51
52  moveq 0,r3
53
54 ; Max short backward branch.
55 3:
56  ba 4b
57  addq 1,r3
58  fail
59
60 5:
61 ; Max long forward branch.
62  ba 6f
63  addq 1,r3
64  fail
65
66  .space 32766+largeoffset-2+5b-.,0
67
68  moveq 0,r3
69 6:
70 ; Transit branch.
71  ba 7f
72  addq 1,r3
73  fail
74
75  moveq 0,r3
76 9:
77  dumpr3
78  quit
79
80 ; Transit branch.
81  moveq 0,r3
82 7:
83  ba 8f
84  addq 1,r3
85  fail
86
87  .space 32768-largeoffset+9b-.,0
88
89 8:
90 ; Max long backward branch.
91  ba 9b
92  addq 1,r3
93  fail