Skip to content

Commit 2b8d363

Browse files
committed
Exclude the optimized sources from older Arm architectures
The current functions depend on the MLS instruction, and future ones will depend on CLZ too.
1 parent e18048a commit 2b8d363

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

compiler-rt/lib/builtins/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@ set(arm_or_thumb2_base_SOURCES
427427
option(COMPILER_RT_ARM_OPTIMIZED_FP
428428
"On 32-bit Arm, use optimized assembly implementations of FP arithmetic. Likely to increase code size, but be faster." ON)
429429

430+
set(arm_or_thumb2_optimized_fp_SOURCES)
430431
if(COMPILER_RT_ARM_OPTIMIZED_FP AND BUILTIN_SUPPORTED_ARCH MATCHES "arm")
431432
check_assembler_flag(COMPILER_RT_HAS_MIMPLICIT_IT -mimplicit-it=always)
432433
if(COMPILER_RT_HAS_MIMPLICIT_IT)
@@ -448,12 +449,11 @@ if(COMPILER_RT_ARM_OPTIMIZED_FP AND BUILTIN_SUPPORTED_ARCH MATCHES "arm")
448449
arm/divsf3.S)
449450
set_source_files_properties(${assembly_files}
450451
PROPERTIES COMPILE_OPTIONS ${implicit_it_flag})
451-
set(arm_or_thumb2_base_SOURCES
452+
set(arm_or_thumb2_optimized_fp_SOURCES
452453
${assembly_files}
453454
arm/fnan2.c
454455
arm/fnorm2.c
455456
arm/funder.c
456-
${arm_or_thumb2_base_SOURCES}
457457
)
458458
endif()
459459
endif()
@@ -612,6 +612,7 @@ if(MINGW)
612612
arm/aeabi_uldivmod.S
613613
arm/chkstk.S
614614
${arm_or_thumb2_base_SOURCES}
615+
${arm_or_thumb2_optimized_fp_SOURCES}
615616
${arm_sync_SOURCES}
616617
)
617618

@@ -622,6 +623,7 @@ elseif(NOT WIN32)
622623
# TODO the EABI sources should only be added to EABI targets
623624
set(arm_SOURCES
624625
${arm_or_thumb2_base_SOURCES}
626+
${arm_or_thumb2_optimized_fp_SOURCES}
625627
${arm_sync_SOURCES}
626628
${arm_EABI_SOURCES}
627629
${arm_Thumb1_SOURCES}

0 commit comments

Comments
 (0)