~martin-decky/helenos/rcu

« back to all changes in this revision

Viewing changes to uspace/lib/c/arch/arm32/src/eabi.S

  • Committer: Martin Decky
  • Date: 2012-04-11 13:01:28 UTC
  • Revision ID: martin@decky.cz-20120411130128-5ixgsl9zhx4v63un
finally unbreak the ARM EABI division and modulo wrappers

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
        mov pc, lr
45
45
 
46
46
__aeabi_idiv:
47
 
        push {sp, lr}
 
47
        push {lr}
48
48
        bl __divsi3
49
 
        ldr lr, [sp, #4]
50
 
        add sp, sp, #8
 
49
        pop {lr}
51
50
        mov pc, lr
52
51
 
53
52
__aeabi_uidiv:
54
 
        push {sp, lr}
 
53
        push {lr}
55
54
        bl __udivsi3
56
 
        ldr lr, [sp, #4]
57
 
        add sp, sp, #8
 
55
        pop {lr}
58
56
        mov pc, lr
59
57
 
60
58
__aeabi_idivmod:
61
 
        sub sp, sp, #8
62
 
        push {sp, lr}
63
 
        bl __divmodsi3
64
 
        ldr lr, [sp, #4]
65
 
        add sp, sp, #8
66
 
        pop {r1, r2}
 
59
        push {lr}
 
60
        sub sp, sp, #12
 
61
        add r2, sp, #4
 
62
        bl __udivmodsi3
 
63
        ldr r1, [sp, #4]
 
64
        add sp, sp, #12
 
65
        pop {lr}
67
66
        mov pc, lr
68
67
 
69
68
__aeabi_uidivmod:
70
 
        sub sp, sp, #8
71
 
        push {sp, lr}
 
69
        push {lr}
 
70
        sub sp, sp, #12
 
71
        add r2, sp, #4
72
72
        bl __udivmodsi3
73
 
        ldr lr, [sp, #4]
74
 
        add sp, sp, #8
75
 
        pop {r1, r2}
 
73
        ldr r1, [sp, #4]
 
74
        add sp, sp, #12
 
75
        pop {lr}
76
76
        mov pc, lr
77
77
 
78
78
__aeabi_ldivmod:
79
 
        sub sp, sp, #8
80
 
        push {sp, lr}
 
79
        push {lr}
 
80
        sub sp, sp, #24
 
81
        push {sp}
81
82
        bl __divmoddi3
82
 
        ldr lr, [sp, #4]
83
 
        add sp, sp, #8
 
83
        add sp, sp, #4
84
84
        pop {r2, r3}
 
85
        add sp, sp, #16
 
86
        pop {lr}
85
87
        mov pc, lr
86
88
 
87
89
__aeabi_uldivmod:
88
 
        sub sp, sp, #8
89
 
        push {sp, lr}
 
90
        push {lr}
 
91
        sub sp, sp, #24
 
92
        push {sp}
90
93
        bl __udivmoddi3
91
 
        ldr lr, [sp, #4]
92
 
        add sp, sp, #8
 
94
        add sp, sp, #4
93
95
        pop {r2, r3}
 
96
        add sp, sp, #16
 
97
        pop {lr}
94
98
        mov pc, lr