The runtime library has two family library implementation for ppc_fp128 and fp128. For IBM Long double(ppc_fp128), it is suffixed with 'l', i.e(sqrtl). For IEEE Long double(fp128), it is suffixed with "ieee128" or "f128". We miss to map several libcall for IEEE Long double.
nemanjai lei qiucf
- Group Reviewers
- rG08e287aaf39f: [PowerPC][FP128] Fix the incorrect signature for math library call
I see in llvm/include/llvm/IR/RuntimeLibcalls.def:
HANDLE_LIBCALL(FPTOSINT_F128_I128, "__fixtfti") HANDLE_LIBCALL(FPTOSINT_PPCF128_I128, "__fixtfti")
So only PPC uses KF instead of TF for IEEE f128?
And it seems compiler-rt doesn't have impl for __fixkfti now.
Do we need to unify those names - *f128 or __*ieee128?
Should be __llroundieee128
Yes. See the comments in this code.
Though the compiler-rt didn't have the implementation now, we still need to fix it.
Good suggestion. Though the ieee128 version works, we should use f128 to align with old name convention.