Skip to content

Commit 714cfe0

Browse files
committed
[IR] Change fp128 lowering to use f128 functions by default
Switch from emitting long double functions to using `f128`-specific functions. Fixes llvm#44744.
1 parent a0c33d3 commit 714cfe0

File tree

2 files changed

+147
-147
lines changed

2 files changed

+147
-147
lines changed

llvm/include/llvm/IR/RuntimeLibcalls.def

+34-34
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@ HANDLE_LIBCALL(DIV_PPCF128, "__gcc_qdiv")
110110
HANDLE_LIBCALL(REM_F32, "fmodf")
111111
HANDLE_LIBCALL(REM_F64, "fmod")
112112
HANDLE_LIBCALL(REM_F80, "fmodl")
113-
HANDLE_LIBCALL(REM_F128, "fmodl")
113+
HANDLE_LIBCALL(REM_F128, "fmodf128")
114114
HANDLE_LIBCALL(REM_PPCF128, "fmodl")
115115
HANDLE_LIBCALL(FMA_F32, "fmaf")
116116
HANDLE_LIBCALL(FMA_F64, "fma")
117117
HANDLE_LIBCALL(FMA_F80, "fmal")
118-
HANDLE_LIBCALL(FMA_F128, "fmal")
118+
HANDLE_LIBCALL(FMA_F128, "fmaf128")
119119
HANDLE_LIBCALL(FMA_PPCF128, "fmal")
120120
HANDLE_LIBCALL(POWI_F32, "__powisf2")
121121
HANDLE_LIBCALL(POWI_F64, "__powidf2")
@@ -125,62 +125,62 @@ HANDLE_LIBCALL(POWI_PPCF128, "__powitf2")
125125
HANDLE_LIBCALL(SQRT_F32, "sqrtf")
126126
HANDLE_LIBCALL(SQRT_F64, "sqrt")
127127
HANDLE_LIBCALL(SQRT_F80, "sqrtl")
128-
HANDLE_LIBCALL(SQRT_F128, "sqrtl")
128+
HANDLE_LIBCALL(SQRT_F128, "sqrtf128")
129129
HANDLE_LIBCALL(SQRT_PPCF128, "sqrtl")
130130
HANDLE_LIBCALL(CBRT_F32, "cbrtf")
131131
HANDLE_LIBCALL(CBRT_F64, "cbrt")
132132
HANDLE_LIBCALL(CBRT_F80, "cbrtl")
133-
HANDLE_LIBCALL(CBRT_F128, "cbrtl")
133+
HANDLE_LIBCALL(CBRT_F128, "cbrtf128")
134134
HANDLE_LIBCALL(CBRT_PPCF128, "cbrtl")
135135
HANDLE_LIBCALL(LOG_F32, "logf")
136136
HANDLE_LIBCALL(LOG_F64, "log")
137137
HANDLE_LIBCALL(LOG_F80, "logl")
138-
HANDLE_LIBCALL(LOG_F128, "logl")
138+
HANDLE_LIBCALL(LOG_F128, "logf128")
139139
HANDLE_LIBCALL(LOG_PPCF128, "logl")
140140
HANDLE_LIBCALL(LOG_FINITE_F32, "__logf_finite")
141141
HANDLE_LIBCALL(LOG_FINITE_F64, "__log_finite")
142142
HANDLE_LIBCALL(LOG_FINITE_F80, "__logl_finite")
143-
HANDLE_LIBCALL(LOG_FINITE_F128, "__logl_finite")
143+
HANDLE_LIBCALL(LOG_FINITE_F128, "__logf128_finite")
144144
HANDLE_LIBCALL(LOG_FINITE_PPCF128, "__logl_finite")
145145
HANDLE_LIBCALL(LOG2_F32, "log2f")
146146
HANDLE_LIBCALL(LOG2_F64, "log2")
147147
HANDLE_LIBCALL(LOG2_F80, "log2l")
148-
HANDLE_LIBCALL(LOG2_F128, "log2l")
148+
HANDLE_LIBCALL(LOG2_F128, "log2f128")
149149
HANDLE_LIBCALL(LOG2_PPCF128, "log2l")
150150
HANDLE_LIBCALL(LOG2_FINITE_F32, "__log2f_finite")
151151
HANDLE_LIBCALL(LOG2_FINITE_F64, "__log2_finite")
152152
HANDLE_LIBCALL(LOG2_FINITE_F80, "__log2l_finite")
153-
HANDLE_LIBCALL(LOG2_FINITE_F128, "__log2l_finite")
153+
HANDLE_LIBCALL(LOG2_FINITE_F128, "__log2f128_finite")
154154
HANDLE_LIBCALL(LOG2_FINITE_PPCF128, "__log2l_finite")
155155
HANDLE_LIBCALL(LOG10_F32, "log10f")
156156
HANDLE_LIBCALL(LOG10_F64, "log10")
157157
HANDLE_LIBCALL(LOG10_F80, "log10l")
158-
HANDLE_LIBCALL(LOG10_F128, "log10l")
158+
HANDLE_LIBCALL(LOG10_F128, "log10f128")
159159
HANDLE_LIBCALL(LOG10_PPCF128, "log10l")
160160
HANDLE_LIBCALL(LOG10_FINITE_F32, "__log10f_finite")
161161
HANDLE_LIBCALL(LOG10_FINITE_F64, "__log10_finite")
162162
HANDLE_LIBCALL(LOG10_FINITE_F80, "__log10l_finite")
163-
HANDLE_LIBCALL(LOG10_FINITE_F128, "__log10l_finite")
163+
HANDLE_LIBCALL(LOG10_FINITE_F128, "__log10f128_finite")
164164
HANDLE_LIBCALL(LOG10_FINITE_PPCF128, "__log10l_finite")
165165
HANDLE_LIBCALL(EXP_F32, "expf")
166166
HANDLE_LIBCALL(EXP_F64, "exp")
167167
HANDLE_LIBCALL(EXP_F80, "expl")
168-
HANDLE_LIBCALL(EXP_F128, "expl")
168+
HANDLE_LIBCALL(EXP_F128, "expf128")
169169
HANDLE_LIBCALL(EXP_PPCF128, "expl")
170170
HANDLE_LIBCALL(EXP_FINITE_F32, "__expf_finite")
171171
HANDLE_LIBCALL(EXP_FINITE_F64, "__exp_finite")
172172
HANDLE_LIBCALL(EXP_FINITE_F80, "__expl_finite")
173-
HANDLE_LIBCALL(EXP_FINITE_F128, "__expl_finite")
173+
HANDLE_LIBCALL(EXP_FINITE_F128, "__expf128_finite")
174174
HANDLE_LIBCALL(EXP_FINITE_PPCF128, "__expl_finite")
175175
HANDLE_LIBCALL(EXP2_F32, "exp2f")
176176
HANDLE_LIBCALL(EXP2_F64, "exp2")
177177
HANDLE_LIBCALL(EXP2_F80, "exp2l")
178-
HANDLE_LIBCALL(EXP2_F128, "exp2l")
178+
HANDLE_LIBCALL(EXP2_F128, "exp2f128")
179179
HANDLE_LIBCALL(EXP2_PPCF128, "exp2l")
180180
HANDLE_LIBCALL(EXP2_FINITE_F32, "__exp2f_finite")
181181
HANDLE_LIBCALL(EXP2_FINITE_F64, "__exp2_finite")
182182
HANDLE_LIBCALL(EXP2_FINITE_F80, "__exp2l_finite")
183-
HANDLE_LIBCALL(EXP2_FINITE_F128, "__exp2l_finite")
183+
HANDLE_LIBCALL(EXP2_FINITE_F128, "__exp2f128_finite")
184184
HANDLE_LIBCALL(EXP2_FINITE_PPCF128, "__exp2l_finite")
185185
HANDLE_LIBCALL(EXP10_F32, "exp10f")
186186
HANDLE_LIBCALL(EXP10_F64, "exp10")
@@ -190,12 +190,12 @@ HANDLE_LIBCALL(EXP10_PPCF128, "exp10l")
190190
HANDLE_LIBCALL(SIN_F32, "sinf")
191191
HANDLE_LIBCALL(SIN_F64, "sin")
192192
HANDLE_LIBCALL(SIN_F80, "sinl")
193-
HANDLE_LIBCALL(SIN_F128, "sinl")
193+
HANDLE_LIBCALL(SIN_F128, "sinf128")
194194
HANDLE_LIBCALL(SIN_PPCF128, "sinl")
195195
HANDLE_LIBCALL(COS_F32, "cosf")
196196
HANDLE_LIBCALL(COS_F64, "cos")
197197
HANDLE_LIBCALL(COS_F80, "cosl")
198-
HANDLE_LIBCALL(COS_F128, "cosl")
198+
HANDLE_LIBCALL(COS_F128, "cosf128")
199199
HANDLE_LIBCALL(COS_PPCF128, "cosl")
200200
HANDLE_LIBCALL(TAN_F32, "tanf")
201201
HANDLE_LIBCALL(TAN_F64, "tan")
@@ -247,62 +247,62 @@ HANDLE_LIBCALL(SINCOS_STRET_F64, nullptr)
247247
HANDLE_LIBCALL(POW_F32, "powf")
248248
HANDLE_LIBCALL(POW_F64, "pow")
249249
HANDLE_LIBCALL(POW_F80, "powl")
250-
HANDLE_LIBCALL(POW_F128, "powl")
250+
HANDLE_LIBCALL(POW_F128, "powf128")
251251
HANDLE_LIBCALL(POW_PPCF128, "powl")
252252
HANDLE_LIBCALL(POW_FINITE_F32, "__powf_finite")
253253
HANDLE_LIBCALL(POW_FINITE_F64, "__pow_finite")
254254
HANDLE_LIBCALL(POW_FINITE_F80, "__powl_finite")
255-
HANDLE_LIBCALL(POW_FINITE_F128, "__powl_finite")
255+
HANDLE_LIBCALL(POW_FINITE_F128, "__powf128_finite")
256256
HANDLE_LIBCALL(POW_FINITE_PPCF128, "__powl_finite")
257257
HANDLE_LIBCALL(CEIL_F32, "ceilf")
258258
HANDLE_LIBCALL(CEIL_F64, "ceil")
259259
HANDLE_LIBCALL(CEIL_F80, "ceill")
260-
HANDLE_LIBCALL(CEIL_F128, "ceill")
260+
HANDLE_LIBCALL(CEIL_F128, "ceilf128")
261261
HANDLE_LIBCALL(CEIL_PPCF128, "ceill")
262262
HANDLE_LIBCALL(TRUNC_F32, "truncf")
263263
HANDLE_LIBCALL(TRUNC_F64, "trunc")
264264
HANDLE_LIBCALL(TRUNC_F80, "truncl")
265-
HANDLE_LIBCALL(TRUNC_F128, "truncl")
265+
HANDLE_LIBCALL(TRUNC_F128, "truncf128")
266266
HANDLE_LIBCALL(TRUNC_PPCF128, "truncl")
267267
HANDLE_LIBCALL(RINT_F32, "rintf")
268268
HANDLE_LIBCALL(RINT_F64, "rint")
269269
HANDLE_LIBCALL(RINT_F80, "rintl")
270-
HANDLE_LIBCALL(RINT_F128, "rintl")
270+
HANDLE_LIBCALL(RINT_F128, "rintf128")
271271
HANDLE_LIBCALL(RINT_PPCF128, "rintl")
272272
HANDLE_LIBCALL(NEARBYINT_F32, "nearbyintf")
273273
HANDLE_LIBCALL(NEARBYINT_F64, "nearbyint")
274274
HANDLE_LIBCALL(NEARBYINT_F80, "nearbyintl")
275-
HANDLE_LIBCALL(NEARBYINT_F128, "nearbyintl")
275+
HANDLE_LIBCALL(NEARBYINT_F128, "nearbyintf128")
276276
HANDLE_LIBCALL(NEARBYINT_PPCF128, "nearbyintl")
277277
HANDLE_LIBCALL(ROUND_F32, "roundf")
278278
HANDLE_LIBCALL(ROUND_F64, "round")
279279
HANDLE_LIBCALL(ROUND_F80, "roundl")
280-
HANDLE_LIBCALL(ROUND_F128, "roundl")
280+
HANDLE_LIBCALL(ROUND_F128, "roundf128")
281281
HANDLE_LIBCALL(ROUND_PPCF128, "roundl")
282282
HANDLE_LIBCALL(ROUNDEVEN_F32, "roundevenf")
283283
HANDLE_LIBCALL(ROUNDEVEN_F64, "roundeven")
284284
HANDLE_LIBCALL(ROUNDEVEN_F80, "roundevenl")
285-
HANDLE_LIBCALL(ROUNDEVEN_F128, "roundevenl")
285+
HANDLE_LIBCALL(ROUNDEVEN_F128, "roundevenf128")
286286
HANDLE_LIBCALL(ROUNDEVEN_PPCF128, "roundevenl")
287287
HANDLE_LIBCALL(FLOOR_F32, "floorf")
288288
HANDLE_LIBCALL(FLOOR_F64, "floor")
289289
HANDLE_LIBCALL(FLOOR_F80, "floorl")
290-
HANDLE_LIBCALL(FLOOR_F128, "floorl")
290+
HANDLE_LIBCALL(FLOOR_F128, "floorf128")
291291
HANDLE_LIBCALL(FLOOR_PPCF128, "floorl")
292292
HANDLE_LIBCALL(COPYSIGN_F32, "copysignf")
293293
HANDLE_LIBCALL(COPYSIGN_F64, "copysign")
294294
HANDLE_LIBCALL(COPYSIGN_F80, "copysignl")
295-
HANDLE_LIBCALL(COPYSIGN_F128, "copysignl")
295+
HANDLE_LIBCALL(COPYSIGN_F128, "copysignf128")
296296
HANDLE_LIBCALL(COPYSIGN_PPCF128, "copysignl")
297297
HANDLE_LIBCALL(FMIN_F32, "fminf")
298298
HANDLE_LIBCALL(FMIN_F64, "fmin")
299299
HANDLE_LIBCALL(FMIN_F80, "fminl")
300-
HANDLE_LIBCALL(FMIN_F128, "fminl")
300+
HANDLE_LIBCALL(FMIN_F128, "fminf128")
301301
HANDLE_LIBCALL(FMIN_PPCF128, "fminl")
302302
HANDLE_LIBCALL(FMAX_F32, "fmaxf")
303303
HANDLE_LIBCALL(FMAX_F64, "fmax")
304304
HANDLE_LIBCALL(FMAX_F80, "fmaxl")
305-
HANDLE_LIBCALL(FMAX_F128, "fmaxl")
305+
HANDLE_LIBCALL(FMAX_F128, "fmaxf128")
306306
HANDLE_LIBCALL(FMAX_PPCF128, "fmaxl")
307307
HANDLE_LIBCALL(FMINIMUM_F32, "fminimumf")
308308
HANDLE_LIBCALL(FMINIMUM_F64, "fminimum")
@@ -327,32 +327,32 @@ HANDLE_LIBCALL(FMAXIMUMNUM_PPCF128, "fmaximum_numl")
327327
HANDLE_LIBCALL(LROUND_F32, "lroundf")
328328
HANDLE_LIBCALL(LROUND_F64, "lround")
329329
HANDLE_LIBCALL(LROUND_F80, "lroundl")
330-
HANDLE_LIBCALL(LROUND_F128, "lroundl")
330+
HANDLE_LIBCALL(LROUND_F128, "lroundf128")
331331
HANDLE_LIBCALL(LROUND_PPCF128, "lroundl")
332332
HANDLE_LIBCALL(LLROUND_F32, "llroundf")
333333
HANDLE_LIBCALL(LLROUND_F64, "llround")
334334
HANDLE_LIBCALL(LLROUND_F80, "llroundl")
335-
HANDLE_LIBCALL(LLROUND_F128, "llroundl")
335+
HANDLE_LIBCALL(LLROUND_F128, "llroundf128")
336336
HANDLE_LIBCALL(LLROUND_PPCF128, "llroundl")
337337
HANDLE_LIBCALL(LRINT_F32, "lrintf")
338338
HANDLE_LIBCALL(LRINT_F64, "lrint")
339339
HANDLE_LIBCALL(LRINT_F80, "lrintl")
340-
HANDLE_LIBCALL(LRINT_F128, "lrintl")
340+
HANDLE_LIBCALL(LRINT_F128, "lrintf128")
341341
HANDLE_LIBCALL(LRINT_PPCF128, "lrintl")
342342
HANDLE_LIBCALL(LLRINT_F32, "llrintf")
343343
HANDLE_LIBCALL(LLRINT_F64, "llrint")
344344
HANDLE_LIBCALL(LLRINT_F80, "llrintl")
345-
HANDLE_LIBCALL(LLRINT_F128, "llrintl")
345+
HANDLE_LIBCALL(LLRINT_F128, "llrintf128")
346346
HANDLE_LIBCALL(LLRINT_PPCF128, "llrintl")
347347
HANDLE_LIBCALL(LDEXP_F32, "ldexpf")
348348
HANDLE_LIBCALL(LDEXP_F64, "ldexp")
349349
HANDLE_LIBCALL(LDEXP_F80, "ldexpl")
350-
HANDLE_LIBCALL(LDEXP_F128, "ldexpl")
350+
HANDLE_LIBCALL(LDEXP_F128, "ldexpf128")
351351
HANDLE_LIBCALL(LDEXP_PPCF128, "ldexpl")
352352
HANDLE_LIBCALL(FREXP_F32, "frexpf")
353353
HANDLE_LIBCALL(FREXP_F64, "frexp")
354354
HANDLE_LIBCALL(FREXP_F80, "frexpl")
355-
HANDLE_LIBCALL(FREXP_F128, "frexpl")
355+
HANDLE_LIBCALL(FREXP_F128, "frexpf128")
356356
HANDLE_LIBCALL(FREXP_PPCF128, "frexpl")
357357
HANDLE_LIBCALL(SINCOSPI_F32, "sincospif")
358358
HANDLE_LIBCALL(SINCOSPI_F64, "sincospi")

0 commit comments

Comments
 (0)