Skip to content

Commit 8c7228f

Browse files
committed
Fix the Thumb1 build which I forgot to test
1 parent 6e3b7ab commit 8c7228f

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

compiler-rt/lib/builtins/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,9 @@ set(thumb1_base_SOURCES
474474
if(COMPILER_RT_ARM_OPTIMIZED_FP)
475475
set(thumb1_base_SOURCES
476476
arm/thumb1/mulsf3.S
477+
arm/fnan2.c
478+
arm/fnorm2.c
479+
arm/funder.c
477480
${thumb1_base_SOURCES}
478481
)
479482
endif()

compiler-rt/lib/builtins/arm/thumb1/mulsf3.S

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ LOCAL_LABEL(outflow):
145145
// To handle underflow, we construct an intermediate value in the IEEE 754
146146
// style (using our existing full-length mantissa, and bias the exponent by
147147
// +0xC0), and indicate whether that intermediate was rounded up, down or not
148-
// at all. Then call the helper function __funder, which will denormalise and
148+
// at all. Then call the helper function funder, which will denormalise and
149149
// re-round correctly.
150150
LSLS r1, r0, #7 // shift up the post-rounding mantissa
151151
SUBS r1, r3, r1 // and subtract it from the pre-rounding version
@@ -159,7 +159,7 @@ LOCAL_LABEL(outflow):
159159
LSLS r3, r2, #23
160160
ADDS r0, r0, r3 // put on the biased exponent
161161

162-
BL __funder
162+
BL SYMBOL_NAME(__compiler_rt_funder)
163163
POP {r4,r5,r6,pc}
164164

165165
LOCAL_LABEL(overflow):
@@ -196,15 +196,15 @@ LOCAL_LABEL(zero):
196196
LSLS r0, r4, #31 // shift up the output sign to make the return value
197197
POP {r4,r5,r6,pc}
198198

199-
// Handle denormals via the helper function __fnorm2, which will break both
199+
// Handle denormals via the helper function fnorm2, which will break both
200200
// inputs up into mantissa and exponent, renormalising and generating a
201201
// negative exponent if necessary.
202202
LOCAL_LABEL(denorm):
203203
PUSH {r0,r1,r2,r3}
204204
MOV r0, sp
205-
BL __fnorm2
205+
BL SYMBOL_NAME(__compiler_rt_fnorm2)
206206
POP {r0,r1,r2,r3}
207-
// Convert __fnorm2's return values into the right form to rejoin the main
207+
// Convert fnorm2's return values into the right form to rejoin the main
208208
// code path.
209209
LSLS r0, r0, #1
210210
LSLS r1, r1, #1
@@ -234,11 +234,11 @@ LOCAL_LABEL(naninf):
234234
// an appropriately signed infinity.
235235
B LOCAL_LABEL(overflow) // reuse the code there
236236

237-
// We come here if at least one input is a NaN. Hand off to __fnan2, which
237+
// We come here if at least one input is a NaN. Hand off to fnan2, which
238238
// propagates an appropriate NaN to the output, dealing with the special
239239
// cases of signalling/quiet NaNs.
240240
LOCAL_LABEL(nan):
241-
BL __fnan2
241+
BL SYMBOL_NAME(__compiler_rt_fnan2)
242242
POP {r4,r5,r6,pc}
243243

244244
// Return a quiet NaN as the result of infinity * zero.

0 commit comments

Comments
 (0)