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

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [gold/] [testsuite/] [thumb_blx_in_range.s] - Blame information for rev 303

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

Line No. Rev Author Line
1 27 khays
# thumb_blx_in_range.s
2
#
3
# Test THUMB/THUMB-2 blx instructions just within the branch range limits.
4
# Because bit 1 of the branch target comes from the branch instruction
5
# address, the branch range from PC (branch instruction address + 4) is
6
# acutally -((1<<22) + 2) to ((1<<22) - 4) for THUMB and -((1<<24) + 2) to
7
# ((1<<24) - 4) from THUMB2.
8
 
9
        .syntax unified
10
        .section        .text.pre,"x"
11
 
12
# Add padding so that target is just in branch range.
13
        .space  8
14
 
15
        .align  2
16
        .global _backward_target
17
        .code   32
18
        .type   _backword_target, %function
19
_backward_target:
20
        bx      lr
21
        .size   _backward_target, .-_backward_target
22
 
23
        .text
24
 
25
# Define _start so that linker does not complain.
26
        .global _start
27
        .code   32
28
        .align  2
29
        .type   _start, %function
30
_start:
31
        bx      lr
32
        .size   _start, .-_start
33
 
34
        .global _backward_test
35
        .code   16
36
        .thumb_func
37
        .type   _backward_test, %function
38
_backward_test:
39
        nop.n
40
        blx     _backward_target
41
        .size   _backward_test, .-_backward_test
42
 
43
        .align  2
44
        .global _forward_test
45
        .code   16
46
        .thumb_func
47
        .type   _forward_test, %function
48
_forward_test:
49
        blx     _forward_target
50
        .size   _forward_test, .-_forward_test
51
        .code   32
52
 
53
        .section        .text.post,"x"
54
 
55
# Add padding so that target is just in branch range.
56
        .space  12
57
 
58
        .align  2
59
        .global _forward_target
60
        .code   32
61
        .type   _forward_target, %function
62
_forward_target:
63
        bx      lr
64
        .size   _forward_target, .-_forward_target

powered by: WebSVN 2.1.0

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