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

« back to all changes in this revision

Viewing changes to callback/vacall_r/vacall-armel.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
        .cpu arm10tdmi
 
2
        .fpu softvfp
 
3
        .file   "vacall-armel.c"
 
4
        .text
 
5
        .align  2
 
6
        .global __vacall_r
 
7
        .type   __vacall_r, %function
 
8
__vacall_r:
 
9
        @ args = 4, pretend = 0, frame = 72
 
10
        @ frame_needed = 0, uses_anonymous_args = 0
 
11
        stmfd   sp!, {r4, r5, r6, r7, r8, lr}
 
12
        sub     sp, sp, #72
 
13
        add     r6, sp, #96
 
14
        ldr     r4, [r6, #-4]
 
15
        ldr     lr, [sp, #88]
 
16
        str     r4, [sp, #32]
 
17
        ldr     r4, [sp, #84]
 
18
        str     lr, [sp, #36]
 
19
        ldr     lr, [sp, #80]
 
20
        mov     r5, #0
 
21
        str     r4, [sp, #40]
 
22
        ldr     r4, [sp, #76]
 
23
        str     lr, [sp, #44]
 
24
        str     r5, [sp, #8]
 
25
        add     lr, sp, #80
 
26
        str     r0, [sp, #80]
 
27
        str     r1, [sp, #84]
 
28
        str     r4, [sp, #48]
 
29
        str     r2, [sp, #88]
 
30
        mov     r7, r0
 
31
        str     r3, [r6, #-4]
 
32
        mov     r8, r1
 
33
        str     lr, [sp, #4]
 
34
        str     r0, [sp, #52]
 
35
        str     r1, [sp, #56]
 
36
        str     r5, [sp, #12]
 
37
        str     r2, [sp, #60]
 
38
        str     r3, [sp, #64]
 
39
        str     r5, [sp, #0]
 
40
        ldr     r0, [ip, #4]
 
41
        mov     r1, sp
 
42
        mov     lr, pc
 
43
        ldr     pc, [ip, #0]
 
44
        ldr     lr, [sp, #12]
 
45
        cmp     lr, r5
 
46
        beq     .L3
 
47
        cmp     lr, #1
 
48
        beq     .L40
 
49
        cmp     lr, #2
 
50
        ldreqsb r0, [sp, #24]
 
51
        beq     .L3
 
52
        cmp     lr, #3
 
53
        beq     .L40
 
54
        cmp     lr, #4
 
55
        ldreqsh r0, [sp, #24]
 
56
        beq     .L3
 
57
        cmp     lr, #5
 
58
        ldreqh  r0, [sp, #24]
 
59
        beq     .L3
 
60
        cmp     lr, #6
 
61
        beq     .L39
 
62
        cmp     lr, #7
 
63
        beq     .L39
 
64
        cmp     lr, #8
 
65
        beq     .L39
 
66
        cmp     lr, #9
 
67
        beq     .L39
 
68
        sub     r3, lr, #10
 
69
        cmp     r3, #1
 
70
        bls     .L38
 
71
        cmp     lr, #12
 
72
        ldreq   r0, [sp, #24]   @ float
 
73
        beq     .L3
 
74
        cmp     lr, #13
 
75
        beq     .L38
 
76
        cmp     lr, #14
 
77
        beq     .L39
 
78
        cmp     lr, #15
 
79
        bne     .L3
 
80
        ldr     r3, [sp, #0]
 
81
        tst     r3, #1
 
82
        ldrne   r0, [sp, #8]
 
83
        bne     .L3
 
84
        tst     r3, #1024
 
85
        beq     .L3
 
86
        ldr     r3, [sp, #16]
 
87
        cmp     r3, #1
 
88
        ldreq   r3, [sp, #8]
 
89
        ldreqb  r0, [r3, #0]    @ zero_extendqisi2
 
90
        beq     .L3
 
91
        cmp     r3, #2
 
92
        ldreq   r3, [sp, #8]
 
93
        ldrne   r3, [sp, #8]
 
94
        ldreqh  r0, [r3, #0]
 
95
        ldrne   r0, [r3, #0]
 
96
.L3:
 
97
        ldr     r3, [sp, #32]
 
98
        str     r3, [r6, #-4]
 
99
        ldr     r2, [sp, #48]
 
100
        str     r2, [r6, #-20]
 
101
        ldr     r3, [sp, #36]
 
102
        str     r3, [r6, #-8]
 
103
        ldr     r2, [sp, #40]
 
104
        str     r2, [r6, #-12]
 
105
        ldr     r3, [sp, #44]
 
106
        str     r3, [r6, #-16]
 
107
        add     sp, sp, #72
 
108
        ldmfd   sp!, {r4, r5, r6, r7, r8, pc}
 
109
.L40:
 
110
        ldrb    r0, [sp, #24]   @ zero_extendqisi2
 
111
        b       .L3
 
112
.L39:
 
113
        ldr     r0, [sp, #24]
 
114
        b       .L3
 
115
.L38:
 
116
        ldr     r0, [sp, #24]
 
117
        ldr     r1, [sp, #28]
 
118
        b       .L3
 
119
        .size   __vacall_r, .-__vacall_r
 
120
        .ident  "GCC: (GNU) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)"