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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [arm/] [arm-it-auto.s] - Blame information for rev 205

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 205 julius
        .syntax unified
2
        .arch armv7
3
        .thumb
4
main:
5
 
6
@These branches are to see the labels in the generated file
7
        bl .L888
8
        bl .L111
9
        bl .L777
10
 
11
@No IT block here:
12
        bne .L4
13
 
14
@The following groups should be an IT block each.
15
@it ne
16
        addne.n   pc, r0
17
 
18
@it ne
19
        tbbne [r0, r1]
20
 
21
@it eq
22
        tbheq [r1, r0]
23
 
24
@The following group should be left as is:
25
        itet    eq
26
.L111:  moveq   r0, #2
27
        movne   r0, #3
28
        moveq   r0, #4
29
 
30
@Same, reverted condition:
31
        itet    ne
32
        movne   r0, #2
33
        moveq   r0, #3
34
        movne   r0, #4
35
 
36
 
37
@Two groups shall be generated, due to the label:
38
    movne   r0, #1
39
@ second group, the label should be at the IT insn
40
.L777:  moveq   r0, #2
41
        ldrne   pc, [r1]
42
 
43
@it ne
44
        blne .L4
45
 
46
@it lt
47
        bllt .L9
48
 
49
@itett ne
50
.L888:  movne   r0, #45
51
        moveq   r0, #5
52
        movne   r0, #6
53
        addne.n pc, r0
54
 
55
@iteet eq
56
        moveq   r0, #7
57
        movne   r0, #8
58
        movne   r0, #3
59
        moveq   r0, #4
60
 
61
@itete eq
62
        moveq   r0, #5
63
        movne   r0, #6
64
        moveq   r0, #7
65
        movne   r0, #8
66
 
67
@ite eq - this group finishes due to the mov.n pc, rn
68
        moveq   r0, #5
69
        movne   r0, #6
70
        mov.n   pc, r0
71
 
72
@itete eq
73
        moveq   r0, #7
74
        movne   r0, #8
75
        moveq   r0, #5
76
        movne   r0, #6
77
 
78
@this shall not generate an IT block
79
        add.n   pc, r0
80
 
81
@ite eq - testing condition change (eq -> gt)
82
        moveq   r0, #7
83
        movne   r0, #8
84
 
85
@ite gt (group shall finish due to another condition change)
86
        movgt   r0, #9
87
        movle   r0, #10
88
 
89
@it eq
90
        moveq   r0, #11
91
 
92
@it le
93
        movle   r0, #12
94
 
95
@it ne
96
        movne   r0, #13
97
 
98
        bl      f
99
.L4:
100
        pop     {r4, pc}
101
.L9:
102
        bl      f
103
 
104
@Only the movlt shall be enclosed in the IT block
105
movlt r0, #0
106
muls r0, r0, r1
107
 
108
@Same here:
109
movlt r0, #0
110
muls r0, r0, r1

powered by: WebSVN 2.1.0

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