~ubuntu-branches/debian/squeeze/ffcall/squeeze

« back to all changes in this revision

Viewing changes to ffcall/callback/vacall_r/vacall-arm.S

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2010-06-26 15:29:30 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20100626152930-c09y01gk3szcnykn
Tags: 1.10+cvs20100619-2
Ship to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include "asmarm.h"
2
 
// Generated by gcc 2.6.3 for ARM/RISCiX
3
 
rfp     .req    r9
4
 
sl      .req    r10
5
 
fp      .req    r11
6
 
ip      .req    r12
7
 
sp      .req    r13
8
 
lr      .req    r14
9
 
pc      .req    r15
10
 
.text
11
 
        .align  0
12
 
        .global C(__vacall_r)
13
 
        DECLARE_FUNCTION(__vacall_r)
14
 
C(__vacall_r:)
15
 
        // args = 4, pretend = 0, frame = 48
16
 
        // frameC(needed) = 0, current_function_anonymous_args = 0
17
 
        stmfd   sp!, {lr}
18
 
        sub     sp, sp, $48
19
 
        ldr     lr, [sp, $48]
20
 
        str     lr, [sp, $28]
21
 
        str     r0, [sp, $36]
22
 
        str     r1, [sp, $40]
23
 
        str     r2, [sp, $44]
24
 
        str     r3, [sp, $48]
25
 
        mov     r2, $0
26
 
        str     r2, [sp, $0]
27
 
        add     r3, sp, $36
28
 
        str     r3, [sp, $4]
29
 
        str     r2, [sp, $8]
30
 
        str     r2, [sp, $12]
31
 
        mov     r1, sp
32
 
        ldr     r0, [ip, $4]
33
 
        mov     lr, pc
34
 
        ldr     pc, [ip, $0]
35
 
        ldr     r3, [sp, $12]
36
 
        cmp     r3, $0
37
 
        beq     L3
38
 
        cmp     r3, $1
39
 
        beq     L41
40
 
        cmp     r3, $2
41
 
        ldreqb  r3, [sp, $20]
42
 
        moveq   r3, r3, asl $24
43
 
        moveq   r0, r3, asr $24
44
 
        beq     L3
45
 
L6:
46
 
        cmp     r3, $3
47
 
        bne     L8
48
 
L41:
49
 
        ldrb    r0, [sp, $20]   // zeroC(extendqisi2)
50
 
        b       L3
51
 
L8:
52
 
        cmp     r3, $4
53
 
        ldreq   r3, [sp, $20]   // movhi
54
 
        moveq   r3, r3, asl $16
55
 
        moveq   r0, r3, asr $16
56
 
        beq     L3
57
 
L10:
58
 
        cmp     r3, $5
59
 
        ldreq   r3, [sp, $20]   // movhi
60
 
        beq     L42
61
 
L12:
62
 
        cmp     r3, $6
63
 
        beq     L43
64
 
        cmp     r3, $7
65
 
        beq     L43
66
 
        cmp     r3, $8
67
 
        beq     L43
68
 
        cmp     r3, $9
69
 
        beq     L43
70
 
        sub     r3, r3, $10
71
 
        cmp     r3, $1
72
 
        ldrls   r0, [sp, $20]
73
 
        ldrls   r1, [sp, $24]
74
 
        bls     L3
75
 
L22:
76
 
        ldr     r3, [sp, $12]
77
 
        cmp     r3, $12
78
 
        ldfeqs  f0, [sp, $20]
79
 
        beq     L3
80
 
L24:
81
 
        cmp     r3, $13
82
 
        ldfeqd  f0, [sp, $20]
83
 
        beq     L3
84
 
L26:
85
 
        cmp     r3, $14
86
 
        bne     L28
87
 
L43:
88
 
        ldr     r0, [sp, $20]
89
 
        b       L3
90
 
L28:
91
 
        cmp     r3, $15
92
 
        bne     L3
93
 
        ldr     r3, [sp, $0]
94
 
        tst     r3, $1
95
 
        ldrne   r0, [sp, $8]
96
 
        bne     L3
97
 
L31:
98
 
        tst     r3, $1024
99
 
        beq     L3
100
 
        ldr     r3, [sp, $16]
101
 
        cmp     r3, $1
102
 
        ldreq   r3, [sp, $8]
103
 
        ldreqb  r0, [r3, $0]    // zeroC(extendqisi2)
104
 
        beq     L3
105
 
L34:
106
 
        cmp     r3, $2
107
 
        bne     L36
108
 
        ldr     r3, [sp, $8]
109
 
        ldr     r3, [r3, $0]    // movhi
110
 
L42:
111
 
        mov     r3, r3, asl $16
112
 
        mov     r0, r3, lsr $16
113
 
        b       L3
114
 
L36:
115
 
        cmp     r3, $4
116
 
        ldreq   r3, [sp, $8]
117
 
        ldreq   r0, [r3, $0]
118
 
        beq     L3
119
 
L38:
120
 
        cmp     r3, $8
121
 
        ldreq   r3, [sp, $8]
122
 
        ldreq   r0, [r3, $0]
123
 
        ldreq   r1, [r3, $4]
124
 
L3:
125
 
        ldr     r3, [sp, $28]
126
 
        str     r3, [sp, $48]
127
 
        add     sp, sp, $48
128
 
        ldmfd   sp!, {pc}^