@@ -26,34 +26,16 @@ See [rust-lang/rust#35437][0].
26
26
27
27
## Progress
28
28
29
- - [ ] absvdi2.c
30
- - [ ] absvsi2.c
31
- - [ ] absvti2.c
32
29
- [ ] adddf3.c
33
30
- [ ] addsf3.c
34
- - [ ] addvdi3.c
35
- - [ ] addvsi3.c
36
- - [ ] addvti3.c
37
31
- [ ] arm/adddf3vfp.S
38
32
- [ ] arm/addsf3vfp.S
39
- - [ ] arm/aeabi_cdcmp.S
40
- - [ ] arm/aeabi_cdcmpeq_check_nan.c
41
- - [ ] arm/aeabi_cfcmp.S
42
- - [ ] arm/aeabi_cfcmpeq_check_nan.c
43
33
- [ ] arm/aeabi_dcmp.S
44
- - [ ] arm/aeabi_div0.c
45
- - [ ] arm/aeabi_drsub.c
46
34
- [ ] arm/aeabi_fcmp.S
47
- - [ ] arm/aeabi_frsub.c
48
35
- [ ] arm/aeabi_idivmod.S
49
36
- [ ] arm/aeabi_ldivmod.S
50
37
- [ ] arm/aeabi_uidivmod.S
51
38
- [ ] arm/aeabi_uldivmod.S
52
- - [ ] arm/bswapdi2.S
53
- - [ ] arm/bswapsi2.S
54
- - [ ] arm/clzdi2.S
55
- - [ ] arm/clzsi2.S
56
- - [ ] arm/comparesf2.S
57
39
- [ ] arm/divdf3vfp.S
58
40
- [ ] arm/divmodsi4.S
59
41
- [ ] arm/divsf3vfp.S
@@ -84,15 +66,9 @@ See [rust-lang/rust#35437][0].
84
66
- [ ] arm/negdf2vfp.S
85
67
- [ ] arm/negsf2vfp.S
86
68
- [ ] arm/nesf2vfp.S
87
- - [ ] arm/restore_vfp_d8_d15_regs.S
88
- - [ ] arm/save_vfp_d8_d15_regs.S
89
69
- [ ] arm/softfloat-alias.list
90
70
- [ ] arm/subdf3vfp.S
91
71
- [ ] arm/subsf3vfp.S
92
- - [ ] arm/switch16.S
93
- - [ ] arm/switch32.S
94
- - [ ] arm/switch8.S
95
- - [ ] arm/switchu8.S
96
72
- [ ] arm/truncdfsf2vfp.S
97
73
- [ ] arm/udivmodsi4.S
98
74
- [ ] arm/udivsi3.S
@@ -103,27 +79,13 @@ See [rust-lang/rust#35437][0].
103
79
- [ ] ashlti3.c
104
80
- [ ] ashrdi3.c
105
81
- [ ] ashrti3.c
106
- - [ ] clzdi2.c
107
- - [ ] clzsi2.c
108
- - [ ] clzti2.c
109
- - [ ] cmpdi2.c
110
- - [ ] cmpti2.c
111
- - [ ] comparedf2.c
112
- - [ ] comparesf2.c
113
- - [ ] ctzdi2.c
114
- - [ ] ctzsi2.c
115
- - [ ] ctzti2.c
116
82
- [ ] divdf3.c
117
83
- [ ] divdi3.c
118
- - [ ] divmoddi4.c
119
- - [ ] divmodsi4.c
120
84
- [ ] divsf3.c
121
85
- [ ] divsi3.c
122
86
- [ ] divti3.c
123
87
- [ ] extendhfsf2.c
124
88
- [ ] extendsfdf2.c
125
- - [ ] ffsdi2.c
126
- - [ ] ffsti2.c
127
89
- [ ] fixdfdi.c
128
90
- [ ] fixdfsi.c
129
91
- [ ] fixdfti.c
@@ -174,44 +136,14 @@ See [rust-lang/rust#35437][0].
174
136
- [ ] muloti4.c
175
137
- [ ] mulsf3.c
176
138
- [ ] multi3.c
177
- - [ ] mulvdi3.c
178
- - [ ] mulvsi3.c
179
- - [ ] mulvti3.c
180
- - [ ] negdf2.c
181
- - [ ] negdi2.c
182
- - [ ] negsf2.c
183
- - [ ] negti2.c
184
- - [ ] negvdi2.c
185
- - [ ] negvsi2.c
186
- - [ ] negvti2.c
187
- - [ ] paritydi2.c
188
- - [ ] paritysi2.c
189
- - [ ] parityti2.c
190
- - [ ] popcountdi2.c
191
- - [ ] popcountsi2.c
192
- - [ ] popcountti2.c
193
139
- [ ] powidf2.c
194
140
- [ ] powisf2.c
195
- - [ ] ppc/gcc_qadd.c
196
- - [ ] ppc/gcc_qdiv.c
197
- - [ ] ppc/gcc_qmul.c
198
- - [ ] ppc/gcc_qsub.c
199
- - [ ] ppc/restFP.S
200
- - [ ] ppc/saveFP.S
201
141
- [ ] subdf3.c
202
142
- [ ] subsf3.c
203
- - [ ] subvdi3.c
204
- - [ ] subvsi3.c
205
- - [ ] subvti3.c
206
143
- [ ] truncdfhf2.c
207
144
- [ ] truncdfsf2.c
208
145
- [ ] truncsfhf2.c
209
- - [ ] ucmpdi2.c
210
- - [ ] ucmpti2.c
211
146
- [ ] udivdi3.c
212
- - [ ] udivmoddi4.c
213
- - [ ] udivmodsi4.c
214
- - [ ] udivmodti4.c
215
147
- [ ] udivsi3.c
216
148
- [ ] udivti3.c
217
149
- [ ] umoddi3.c
@@ -221,7 +153,6 @@ See [rust-lang/rust#35437][0].
221
153
- [ ] x86_64/chkstk2.S
222
154
- [ ] x86_64/floatundidf.S
223
155
- [ ] x86_64/floatundisf.S
224
- - [x] arm/aeabi_memcmp.S
225
156
- [x] arm/aeabi_memcpy.S
226
157
- [x] arm/aeabi_memmove.S
227
158
- [x] arm/aeabi_memset.S
@@ -274,13 +205,85 @@ These builtins involve floating-point types ("`f128`", "`f80`" and complex numbe
274
205
- ~~ ppc/fixunstfdi.c~~
275
206
- ~~ ppc/floatditf.c~~
276
207
- ~~ ppc/floatunditf.c~~
208
+ - ~~ ppc/gcc_qadd.c~~
209
+ - ~~ ppc/gcc_qdiv.c~~
210
+ - ~~ ppc/gcc_qmul.c~~
211
+ - ~~ ppc/gcc_qsub.c~~
277
212
- ~~ ppc/multc3.c~~
278
213
- ~~ subtf3.c~~
279
214
- ~~ trunctfdf2.c~~
280
215
- ~~ trunctfsf2.c~~
281
216
- ~~ x86_64/floatdixf.c~~
282
217
- ~~ x86_64/floatundixf.S~~
283
218
219
+ These builtins are never called by LLVM.
220
+
221
+ - ~~ absvdi2.c~~
222
+ - ~~ absvsi2.c~~
223
+ - ~~ absvti2.c~~
224
+ - ~~ addvdi3.c~~
225
+ - ~~ addvsi3.c~~
226
+ - ~~ addvti3.c~~
227
+ - ~~ arm/aeabi_cdcmp.S~~
228
+ - ~~ arm/aeabi_cdcmpeq_check_nan.c~~
229
+ - ~~ arm/aeabi_cfcmp.S~~
230
+ - ~~ arm/aeabi_cfcmpeq_check_nan.c~~
231
+ - ~~ arm/aeabi_div0.c~~
232
+ - ~~ arm/aeabi_drsub.c~~
233
+ - ~~ arm/aeabi_frsub.c~~
234
+ - ~~ arm/aeabi_memcmp.S~~
235
+ - ~~ arm/bswapdi2.S~~
236
+ - ~~ arm/bswapsi2.S~~
237
+ - ~~ arm/clzdi2.S~~
238
+ - ~~ arm/clzsi2.S~~
239
+ - ~~ arm/comparesf2.S~~
240
+ - ~~ arm/restore_vfp_d8_d15_regs.S~~
241
+ - ~~ arm/save_vfp_d8_d15_regs.S~~
242
+ - ~~ arm/switch16.S~~
243
+ - ~~ arm/switch32.S~~
244
+ - ~~ arm/switch8.S~~
245
+ - ~~ arm/switchu8.S~~
246
+ - ~~ clzdi2.c~~
247
+ - ~~ clzsi2.c~~
248
+ - ~~ clzti2.c~~
249
+ - ~~ cmpdi2.c~~
250
+ - ~~ cmpti2.c~~
251
+ - ~~ comparedf2.c~~
252
+ - ~~ comparesf2.c~~
253
+ - ~~ ctzdi2.c~~
254
+ - ~~ ctzsi2.c~~
255
+ - ~~ ctzti2.c~~
256
+ - ~~ divmoddi4.c~~
257
+ - ~~ divmodsi4.c~~
258
+ - ~~ ffsdi2.c~~
259
+ - ~~ ffsti2.c~~
260
+ - ~~ mulvdi3.c~~
261
+ - ~~ mulvsi3.c~~
262
+ - ~~ mulvti3.c~~
263
+ - ~~ negdf2.c~~
264
+ - ~~ negdi2.c~~
265
+ - ~~ negsf2.c~~
266
+ - ~~ negti2.c~~
267
+ - ~~ negvdi2.c~~
268
+ - ~~ negvsi2.c~~
269
+ - ~~ negvti2.c~~
270
+ - ~~ paritydi2.c~~
271
+ - ~~ paritysi2.c~~
272
+ - ~~ parityti2.c~~
273
+ - ~~ popcountdi2.c~~
274
+ - ~~ popcountsi2.c~~
275
+ - ~~ popcountti2.c~~
276
+ - ~~ ppc/restFP.S~~
277
+ - ~~ ppc/saveFP.S~~
278
+ - ~~ subvdi3.c~~
279
+ - ~~ subvsi3.c~~
280
+ - ~~ subvti3.c~~
281
+ - ~~ ucmpdi2.c~~
282
+ - ~~ ucmpti2.c~~
283
+ - ~~ udivmoddi4.c~~
284
+ - ~~ udivmodsi4.c~~
285
+ - ~~ udivmodti4.c~~
286
+
284
287
Rust only exposes atomic types on platforms that support them, and therefore does not need to fall back to software implementations.
285
288
286
289
- ~~ arm/sync_fetch_and_add_4.S~~
0 commit comments