OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [cris/] [branch.s] - Blame information for rev 156

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
;
2
; Test that branches work: 8- and 16-bit all insns, relaxing to
3
; 32-bit, forward and backward.  No need to check the border
4
; cases for *all* insns.
5
;
6
 .text
7
start_original:
8
 nop
9
startm32: ;       start     start2    start3
10
 nop
11
 .space 32750-(256-21*2+20)-(21*2+10*2+21*4)-12,0
12
startm16:
13
 nop
14
 ; The size of a bunch of short branches is start2-start = 42,
15
 ; so make the threshold be dependent of the size of that block,
16
 ; for the next block; half of them will be relaxed.
17
 .space 256-21*2-20,0
18
start:
19
 nop
20
 ba start
21
 bcc start
22
 bcs start
23
 beq start
24
 bwf start
25
 bext start
26
 bext start ; leftover, used to be never-implemented "bir"
27
 bge start
28
 bgt start
29
 bhi start
30
 bhs start
31
 ble start
32
 blo start
33
 bls start
34
 blt start
35
 bmi start
36
 bne start
37
 bpl start
38
 bvc start
39
 bvs start
40
start2:
41
 nop
42
 ba startm16
43
 bcc startm16
44
 bcs startm16
45
 beq startm16
46
 bwf startm16
47
 bext startm16
48
 bext startm16
49
 bge startm16
50
 bgt startm16
51
 bhi startm16
52
 bhs startm16
53
 ble startm16
54
 blo startm16
55
 bls startm16
56
 blt startm16
57
 bmi startm16
58
 bne startm16
59
 bpl startm16
60
 bvc startm16
61
 bvs startm16
62
start3:
63
; Ok, once more to make sure *all* 16-bit variants get ok for
64
; backward references.
65
 nop
66
 ba startm16
67
 bcc startm16
68
 bcs startm16
69
 beq startm16
70
 bwf startm16
71
 bext startm16
72
 bext startm16
73
 bge startm16
74
 bgt startm16
75
 bhi startm16
76
 bhs startm16
77
 ble startm16
78
 blo startm16
79
 bls startm16
80
 blt startm16
81
 bmi startm16
82
 bne startm16
83
 bpl startm16
84
 bvc startm16
85
 bvs startm16
86
;
87
; Now check that dynamically relaxing some of these branches
88
; from 16-bit to 32-bit works.
89
;
90
start4:
91
 nop
92
 ba startm32
93
 bcc startm32
94
 bcs startm32
95
 beq startm32
96
 bwf startm32
97
 bext startm32
98
 bext startm32
99
 bge startm32
100
 bgt startm32
101
 bhi startm32
102
 bhs startm32
103
 ble startm32
104
 blo startm32
105
 bls startm32
106
 blt startm32
107
 bmi startm32
108
 bne startm32
109
 bpl startm32
110
 bvc startm32
111
 bvs startm32
112
;
113
; Again, so all insns get to be tested for 32-bit relaxing.
114
;
115
start5:
116
 nop
117
 ba startm32
118
 bcc startm32
119
 bcs startm32
120
 beq startm32
121
 bwf startm32
122
 bext startm32
123
 bext startm32
124
 bge startm32
125
 bgt startm32
126
 bhi startm32
127
 bhs startm32
128
 ble startm32
129
 blo startm32
130
 bls startm32
131
 blt startm32
132
 bmi startm32
133
 bne startm32
134
 bpl startm32
135
 bvc startm32
136
 bvs startm32
137
;
138
; Now test forward references.  Symmetrically as above.
139
;
140
; All to 32-bit:
141
start6:
142
 nop
143
 ba endp32
144
 bcc endp32
145
 bcs endp32
146
 beq endp32
147
 bwf endp32
148
 bext endp32
149
 bext endp32
150
 bge endp32
151
 bgt endp32
152
 bhi endp32
153
 bhs endp32
154
 ble endp32
155
 blo endp32
156
 bls endp32
157
 blt endp32
158
 bmi endp32
159
 bne endp32
160
 bpl endp32
161
 bvc endp32
162
 bvs endp32
163
;
164
; Some get relaxed:
165
;
166
start7:
167
 nop
168
 ba endp32
169
 bcc endp32
170
 bcs endp32
171
 beq endp32
172
 bwf endp32
173
 bext endp32
174
 bext endp32
175
 bge endp32
176
 bgt endp32
177
 bhi endp32
178
 bhs endp32
179
 ble endp32
180
 blo endp32
181
 bls endp32
182
 blt endp32
183
 bmi endp32
184
 bne endp32
185
 bpl endp32
186
 bvc endp32
187
 bvs endp32
188
;
189
; All to 16-bit:
190
;
191
start8:
192
 nop
193
 ba endp16
194
 bcc endp16
195
 bcs endp16
196
 beq endp16
197
 bwf endp16
198
 bext endp16
199
 bext endp16
200
 bge endp16
201
 bgt endp16
202
 bhi endp16
203
 bhs endp16
204
 ble endp16
205
 blo endp16
206
 bls endp16
207
 blt endp16
208
 bmi endp16
209
 bne endp16
210
 bpl endp16
211
 bvc endp16
212
 bvs endp16
213
;
214
; Some relaxing:
215
;
216
start9:
217
 nop
218
 ba endp16
219
 bcc endp16
220
 bcs endp16
221
 beq endp16
222
 bwf endp16
223
 bext endp16
224
 bext endp16
225
 bge endp16
226
 bgt endp16
227
 bhi endp16
228
 bhs endp16
229
 ble endp16
230
 blo endp16
231
 bls endp16
232
 blt endp16
233
 bmi endp16
234
 bne endp16
235
 bpl endp16
236
 bvc endp16
237
 bvs endp16
238
;
239
; And all the short ones, forward.
240
;
241
start10:
242
 ba end
243
 bcc end
244
 bcs end
245
 beq end
246
 bwf end
247
 bext end
248
 bext end
249
 bge end
250
 bgt end
251
 bhi end
252
 bhs end
253
 ble end
254
 blo end
255
 bls end
256
 blt end
257
 bmi end
258
 bne end
259
 bpl end
260
 bvc end
261
 bvs end
262
 nop
263
end:
264
 nop
265
 .space 256-21*2-20,0
266
endp16:
267
 nop
268
 .space 32750-(256-21*2+20)-(21*2+10*2+21*4)-12,0
269
endp32:
270
 nop

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.