~ubuntu-branches/ubuntu/hoary/binutils/hoary

« back to all changes in this revision

Viewing changes to ld/testsuite/ld-m68hc11/adj-jump.s

  • Committer: Bazaar Package Importer
  • Author(s): James Troup
  • Date: 2004-05-19 10:35:44 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040519103544-17h3o6e8pwndydrg
Tags: 2.14.90.0.7-8
debian/rules: don't use gcc-2.95 on m68k.  Thanks to Adam Conrad for
pointing this out.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
;;; Test 68HC11 linker relaxation and fixup of bcc/bra branches
 
2
;;; 
 
3
        .sect .text
 
4
        .globl _start
 
5
_start:
 
6
        ;; Next 'bra' is assembled as a 'jmp'.  It is relaxed to 'bra L3'
 
7
        ;; during a second pass of relax.
 
8
        bra     L3
 
9
        .skip   20
 
10
        ;; Next 'jmp' must be relaxed to a 'bra' during the first pass.
 
11
        ;; The branch offset must then be adjusted by consecutive relax.
 
12
        jmp     L3
 
13
L1:
 
14
        addd    0,x
 
15
        bne     L1              ; Branch not adjusted
 
16
        addd    _toto
 
17
        beq     L1              ; Backward branch, adjust -1
 
18
        addd    _toto+1
 
19
        jbne    L1              ; Backward branch, adjust -2
 
20
        bgt     L1              ; All possible backward branchs, adjust -2
 
21
        bge     L1
 
22
        beq     L1
 
23
        ble     L1
 
24
        blt     L1
 
25
        bhi     L1
 
26
        bhs     L1
 
27
        beq     L1
 
28
        bls     L1
 
29
        blo     L1
 
30
        bcs     L1
 
31
        bmi     L1
 
32
        bvs     L1
 
33
        bcc     L1
 
34
        bpl     L1
 
35
        bvc     L1
 
36
        bne     L1
 
37
        brn     L1
 
38
        bra     L1
 
39
        ;; Relax several insn to reduce block by 15
 
40
        addd    _toto
 
41
        addd    _toto
 
42
        addd    _toto
 
43
        addd    _toto
 
44
        addd    _toto
 
45
        addd    _toto
 
46
        addd    _toto
 
47
        addd    _toto
 
48
        addd    _toto
 
49
        addd    _toto
 
50
        addd    _toto
 
51
        addd    _toto
 
52
        addd    _toto
 
53
        addd    _toto
 
54
        addd    _toto
 
55
L2:
 
56
        jmp     _start          ; -> relax to bra _start
 
57
        bne     L2              ; Backward branch, adjust -1
 
58
        beq     L3              ; Forward branch, adjust -2
 
59
        addd    _toto
 
60
        beq     L3              ; Forward branch, adjust -1
 
61
        addd    _toto
 
62
L3:
 
63
        addd    _toto
 
64
        rts
 
65
 
 
66
        .sect   .page0
 
67
_bar:
 
68
        .long   0
 
69
_toto:
 
70
        .long   0
 
71
        .skip   32
 
72
stack:
 
73
        .skip   10
 
74
_table: