@@ -8,117 +8,133 @@ use core::intrinsics;
88#[ naked]
99#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
1010pub unsafe fn __aeabi_uidivmod ( ) {
11- asm ! ( "push {lr}
12- sub sp, sp, #4
13- mov r2, sp
14- bl __udivmodsi4
15- ldr r1, [sp]
16- add sp, sp, #4
17- pop {pc}" :: : "memory" : "volatile" ) ;
11+ llvm_asm ! ( "
12+ push {lr}
13+ sub sp, sp, #4
14+ mov r2, sp
15+ bl __udivmodsi4
16+ ldr r1, [sp]
17+ add sp, sp, #4
18+ pop {pc}
19+ " :: : "memory" : "volatile" ) ;
1820 intrinsics:: unreachable ( ) ;
1921}
2022
2123#[ cfg( target_os = "ios" ) ]
2224#[ naked]
2325#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
2426pub unsafe fn __aeabi_uidivmod ( ) {
25- asm ! ( "push {lr}
26- sub sp, sp, #4
27- mov r2, sp
28- bl ___udivmodsi4
29- ldr r1, [sp]
30- add sp, sp, #4
31- pop {pc}" :: : "memory" : "volatile" ) ;
27+ llvm_asm ! ( "
28+ push {lr}
29+ sub sp, sp, #4
30+ mov r2, sp
31+ bl ___udivmodsi4
32+ ldr r1, [sp]
33+ add sp, sp, #4
34+ pop {pc}
35+ " :: : "memory" : "volatile" ) ;
3236 intrinsics:: unreachable ( ) ;
3337}
3438
3539#[ cfg( not( target_os = "ios" ) ) ]
3640#[ naked]
3741#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
3842pub unsafe fn __aeabi_uldivmod ( ) {
39- asm ! ( "push {r4, lr}
40- sub sp, sp, #16
41- add r4, sp, #8
42- str r4, [sp]
43- bl __udivmoddi4
44- ldr r2, [sp, #8]
45- ldr r3, [sp, #12]
46- add sp, sp, #16
47- pop {r4, pc}" :: : "memory" : "volatile" ) ;
43+ llvm_asm ! ( "
44+ push {r4, lr}
45+ sub sp, sp, #16
46+ add r4, sp, #8
47+ str r4, [sp]
48+ bl __udivmoddi4
49+ ldr r2, [sp, #8]
50+ ldr r3, [sp, #12]
51+ add sp, sp, #16
52+ pop {r4, pc}
53+ " :: : "memory" : "volatile" ) ;
4854 intrinsics:: unreachable ( ) ;
4955}
5056
5157#[ cfg( target_os = "ios" ) ]
5258#[ naked]
5359#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
5460pub unsafe fn __aeabi_uldivmod ( ) {
55- asm ! ( "push {r4, lr}
56- sub sp, sp, #16
57- add r4, sp, #8
58- str r4, [sp]
59- bl ___udivmoddi4
60- ldr r2, [sp, #8]
61- ldr r3, [sp, #12]
62- add sp, sp, #16
63- pop {r4, pc}" :: : "memory" : "volatile" ) ;
61+ llvm_asm ! ( "
62+ push {r4, lr}
63+ sub sp, sp, #16
64+ add r4, sp, #8
65+ str r4, [sp]
66+ bl ___udivmoddi4
67+ ldr r2, [sp, #8]
68+ ldr r3, [sp, #12]
69+ add sp, sp, #16
70+ pop {r4, pc}
71+ " :: : "memory" : "volatile" ) ;
6472 intrinsics:: unreachable ( ) ;
6573}
6674
6775#[ cfg( not( target_os = "ios" ) ) ]
6876#[ naked]
6977#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
7078pub unsafe fn __aeabi_idivmod ( ) {
71- asm ! ( "push {r0, r1, r4, lr}
72- bl __aeabi_idiv
73- pop {r1, r2}
74- muls r2, r2, r0
75- subs r1, r1, r2
76- pop {r4, pc}" :: : "memory" : "volatile" ) ;
79+ llvm_asm ! ( "
80+ push {r0, r1, r4, lr}
81+ bl __aeabi_idiv
82+ pop {r1, r2}
83+ muls r2, r2, r0
84+ subs r1, r1, r2
85+ pop {r4, pc}
86+ " :: : "memory" : "volatile" ) ;
7787 intrinsics:: unreachable ( ) ;
7888}
7989
8090#[ cfg( target_os = "ios" ) ]
8191#[ naked]
8292#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
8393pub unsafe fn __aeabi_idivmod ( ) {
84- asm ! ( "push {r0, r1, r4, lr}
85- bl ___aeabi_idiv
86- pop {r1, r2}
87- muls r2, r2, r0
88- subs r1, r1, r2
89- pop {r4, pc}" :: : "memory" : "volatile" ) ;
94+ llvm_asm ! ( "
95+ push {r0, r1, r4, lr}
96+ bl ___aeabi_idiv
97+ pop {r1, r2}
98+ muls r2, r2, r0
99+ subs r1, r1, r2
100+ pop {r4, pc}
101+ " :: : "memory" : "volatile" ) ;
90102 intrinsics:: unreachable ( ) ;
91103}
92104
93105#[ cfg( not( target_os = "ios" ) ) ]
94106#[ naked]
95107#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
96108pub unsafe fn __aeabi_ldivmod ( ) {
97- asm ! ( "push {r4, lr}
98- sub sp, sp, #16
99- add r4, sp, #8
100- str r4, [sp]
101- bl __divmoddi4
102- ldr r2, [sp, #8]
103- ldr r3, [sp, #12]
104- add sp, sp, #16
105- pop {r4, pc}" :: : "memory" : "volatile" ) ;
109+ llvm_asm ! ( "
110+ push {r4, lr}
111+ sub sp, sp, #16
112+ add r4, sp, #8
113+ str r4, [sp]
114+ bl __divmoddi4
115+ ldr r2, [sp, #8]
116+ ldr r3, [sp, #12]
117+ add sp, sp, #16
118+ pop {r4, pc}
119+ " :: : "memory" : "volatile" ) ;
106120 intrinsics:: unreachable ( ) ;
107121}
108122
109123#[ cfg( target_os = "ios" ) ]
110124#[ naked]
111125#[ cfg_attr( not( feature = "mangled-names" ) , no_mangle) ]
112126pub unsafe fn __aeabi_ldivmod ( ) {
113- asm ! ( "push {r4, lr}
114- sub sp, sp, #16
115- add r4, sp, #8
116- str r4, [sp]
117- bl ___divmoddi4
118- ldr r2, [sp, #8]
119- ldr r3, [sp, #12]
120- add sp, sp, #16
121- pop {r4, pc}" :: : "memory" : "volatile" ) ;
127+ llvm_asm ! ( "
128+ push {r4, lr}
129+ sub sp, sp, #16
130+ add r4, sp, #8
131+ str r4, [sp]
132+ bl ___divmoddi4
133+ ldr r2, [sp, #8]
134+ ldr r3, [sp, #12]
135+ add sp, sp, #16
136+ pop {r4, pc}
137+ " :: : "memory" : "volatile" ) ;
122138 intrinsics:: unreachable ( ) ;
123139}
124140
0 commit comments