@@ -227,7 +227,8 @@ else () # MSVC
227
227
set (i686_SOURCES ${i386_SOURCES} )
228
228
endif () # if (NOT MSVC)
229
229
230
- set (arm_SOURCES
230
+ # These are sources that should be appropriate for any ARM platform.
231
+ set (arm_GENERIC_SOURCES
231
232
arm/aeabi_cdcmp.S
232
233
arm/aeabi_cdcmpeq_check_nan.c
233
234
arm/aeabi_cfcmp.S
@@ -253,32 +254,10 @@ set(arm_SOURCES
253
254
arm/divmodsi4.S
254
255
arm/divsi3.S
255
256
arm/modsi3.S
256
- arm/negdf2vfp.S
257
- arm/negsf2vfp.S
258
257
arm/switch16.S
259
258
arm/switch32.S
260
259
arm/switch8.S
261
260
arm/switchu8.S
262
- arm/sync_fetch_and_add_4.S
263
- arm/sync_fetch_and_add_8.S
264
- arm/sync_fetch_and_and_4.S
265
- arm/sync_fetch_and_and_8.S
266
- arm/sync_fetch_and_max_4.S
267
- arm/sync_fetch_and_max_8.S
268
- arm/sync_fetch_and_min_4.S
269
- arm/sync_fetch_and_min_8.S
270
- arm/sync_fetch_and_nand_4.S
271
- arm/sync_fetch_and_nand_8.S
272
- arm/sync_fetch_and_or_4.S
273
- arm/sync_fetch_and_or_8.S
274
- arm/sync_fetch_and_sub_4.S
275
- arm/sync_fetch_and_sub_8.S
276
- arm/sync_fetch_and_umax_4.S
277
- arm/sync_fetch_and_umax_8.S
278
- arm/sync_fetch_and_umin_4.S
279
- arm/sync_fetch_and_umin_8.S
280
- arm/sync_fetch_and_xor_4.S
281
- arm/sync_fetch_and_xor_8.S
282
261
arm/sync_synchronize.S
283
262
arm/udivmodsi4.S
284
263
arm/udivsi3.S
@@ -304,7 +283,32 @@ set(aarch64_SOURCES
304
283
trunctfsf2.c
305
284
${GENERIC_SOURCES} )
306
285
307
- set (armhf_SOURCES
286
+ # These are sources for the ARM platform that require Thumb2 instructions
287
+ # support.
288
+ set (arm_THUMB_SOURCES
289
+ arm/sync_fetch_and_add_4.S
290
+ arm/sync_fetch_and_add_8.S
291
+ arm/sync_fetch_and_and_4.S
292
+ arm/sync_fetch_and_and_8.S
293
+ arm/sync_fetch_and_max_4.S
294
+ arm/sync_fetch_and_max_8.S
295
+ arm/sync_fetch_and_min_4.S
296
+ arm/sync_fetch_and_min_8.S
297
+ arm/sync_fetch_and_nand_4.S
298
+ arm/sync_fetch_and_nand_8.S
299
+ arm/sync_fetch_and_or_4.S
300
+ arm/sync_fetch_and_or_8.S
301
+ arm/sync_fetch_and_sub_4.S
302
+ arm/sync_fetch_and_sub_8.S
303
+ arm/sync_fetch_and_umax_4.S
304
+ arm/sync_fetch_and_umax_8.S
305
+ arm/sync_fetch_and_umin_4.S
306
+ arm/sync_fetch_and_umin_8.S
307
+ arm/sync_fetch_and_xor_4.S
308
+ arm/sync_fetch_and_xor_8.S)
309
+
310
+ # These are sources for the ARM platform that require VFP instructions support.
311
+ set (arm_VFP_SOURCES
308
312
arm/adddf3vfp.S
309
313
arm/addsf3vfp.S
310
314
arm/divdf3vfp.S
@@ -330,6 +334,8 @@ set(armhf_SOURCES
330
334
arm/ltsf2vfp.S
331
335
arm/muldf3vfp.S
332
336
arm/mulsf3vfp.S
337
+ arm/negdf2vfp.S
338
+ arm/negsf2vfp.S
333
339
arm/nedf2vfp.S
334
340
arm/nesf2vfp.S
335
341
arm/restore_vfp_d8_d15_regs.S
@@ -338,16 +344,18 @@ set(armhf_SOURCES
338
344
arm/subsf3vfp.S
339
345
arm/truncdfsf2vfp.S
340
346
arm/unorddf2vfp.S
341
- arm/unordsf2vfp.S
342
- ${arm_SOURCES} )
343
- set (armv7_SOURCES ${arm_SOURCES} )
344
- set (armv7s_SOURCES ${arm_SOURCES} )
347
+ arm/unordsf2vfp.S)
348
+
349
+ set (arm_SOURCES ${arm_GENERIC_SOURCES} )
350
+ set (armhf_SOURCES ${arm_GENERIC_SOURCES} ${arm_VFP_SOURCES} )
351
+ set (armv7_SOURCES ${arm_GENERIC_SOURCES} ${arm_VFP_SOURCES} ${arm_THUMB_SOURCES} )
352
+ set (armv7s_SOURCES ${arm_GENERIC_SOURCES} ${arm_VFP_SOURCES} ${arm_THUMB_SOURCES} )
345
353
set (arm64_SOURCES ${aarch64_SOURCES} )
346
354
347
355
# macho_embedded archs
348
356
set (armv6m_SOURCES ${GENERIC_SOURCES} )
349
- set (armv7m_SOURCES ${arm_SOURCES } )
350
- set (armv7em_SOURCES ${arm_SOURCES } )
357
+ set (armv7m_SOURCES ${arm_GENERIC_SOURCES} ${arm_THUMB_SOURCES } )
358
+ set (armv7em_SOURCES ${arm_GENERIC_SOURCES} ${arm_THUMB_SOURCES } )
351
359
352
360
set (mips_SOURCES ${GENERIC_SOURCES} )
353
361
set (mipsel_SOURCES ${mips_SOURCES} )
0 commit comments