29 const llvm::Triple &Triple =
Target.getTriple();
33 if (Triple.isPPC64() &&
34 &
Target.getLongDoubleFormat() == &llvm::APFloat::IEEEquad()) {
37 static const llvm::SmallDenseMap<unsigned, StringRef, 64> F128Builtins{
38 {Builtin::BI__builtin___fprintf_chk,
"__fprintf_chkieee128"},
39 {Builtin::BI__builtin___printf_chk,
"__printf_chkieee128"},
40 {Builtin::BI__builtin___snprintf_chk,
"__snprintf_chkieee128"},
41 {Builtin::BI__builtin___sprintf_chk,
"__sprintf_chkieee128"},
42 {Builtin::BI__builtin___vfprintf_chk,
"__vfprintf_chkieee128"},
43 {Builtin::BI__builtin___vprintf_chk,
"__vprintf_chkieee128"},
44 {Builtin::BI__builtin___vsnprintf_chk,
"__vsnprintf_chkieee128"},
45 {Builtin::BI__builtin___vsprintf_chk,
"__vsprintf_chkieee128"},
46 {Builtin::BI__builtin_fprintf,
"__fprintfieee128"},
47 {Builtin::BI__builtin_printf,
"__printfieee128"},
48 {Builtin::BI__builtin_snprintf,
"__snprintfieee128"},
49 {Builtin::BI__builtin_sprintf,
"__sprintfieee128"},
50 {Builtin::BI__builtin_vfprintf,
"__vfprintfieee128"},
51 {Builtin::BI__builtin_vprintf,
"__vprintfieee128"},
52 {Builtin::BI__builtin_vsnprintf,
"__vsnprintfieee128"},
53 {Builtin::BI__builtin_vsprintf,
"__vsprintfieee128"},
54 {Builtin::BI__builtin_fscanf,
"__fscanfieee128"},
55 {Builtin::BI__builtin_scanf,
"__scanfieee128"},
56 {Builtin::BI__builtin_sscanf,
"__sscanfieee128"},
57 {Builtin::BI__builtin_vfscanf,
"__vfscanfieee128"},
58 {Builtin::BI__builtin_vscanf,
"__vscanfieee128"},
59 {Builtin::BI__builtin_vsscanf,
"__vsscanfieee128"},
60 {Builtin::BI__builtin_nexttowardf128,
"__nexttowardieee128"},
62 return F128Builtins.lookup(BuiltinID);
68 if (Triple.isOSAIX() &&
69 &
Target.getLongDoubleFormat() == &llvm::APFloat::IEEEdouble()) {
70 static const llvm::SmallDenseMap<unsigned, StringRef, 4>
71 AIXLongDouble64Builtins{
72 {Builtin::BI__builtin_frexpl,
"frexp"},
73 {Builtin::BI__builtin_ldexpl,
"ldexp"},
74 {Builtin::BI__builtin_modfl,
"modf"},
76 return AIXLongDouble64Builtins.lookup(BuiltinID);