@@ -50,6 +50,7 @@ def isWindowsMSVCOrItaniumEnvironment : RuntimeLibcallPredicate<
5050def isGNUEnvironment : RuntimeLibcallPredicate<"TT.isGNUEnvironment()">;
5151def darwinHasSinCosStret : RuntimeLibcallPredicate<"darwinHasSinCosStret(TT)">;
5252def darwinHasExp10 : RuntimeLibcallPredicate<"darwinHasExp10(TT)">;
53+ def darwinHasMemsetPattern : RuntimeLibcallPredicate<[{darwinHasMemsetPattern(TT)}]>;
5354
5455def hasExp10 : RuntimeLibcallPredicate<[{!TT.isOSDarwin()}]>;
5556
@@ -1976,6 +1977,11 @@ defvar DarwinSinCosStret = LibcallImpls<(add __sincosf_stret, __sincos_stret,
19761977 darwinHasSinCosStret>;
19771978defvar DarwinExp10 = LibcallImpls<(add __exp10f, __exp10), darwinHasExp10>;
19781979
1980+ defvar DarwinMemsetPattern = LibcallImpls<(add memset_pattern4,
1981+ memset_pattern8,
1982+ memset_pattern16),
1983+ darwinHasMemsetPattern>;
1984+
19791985defvar SecurityCheckCookieIfWinMSVC =
19801986 LibcallImpls<(add __security_check_cookie, __security_cookie),
19811987 isWindowsMSVCOrItaniumEnvironment>;
@@ -2133,7 +2139,7 @@ def AArch64SystemLibrary : SystemRuntimeLibrary<
21332139 AArch64LibcallImpls,
21342140 LibcallImpls<(add Int128RTLibcalls), isAArch64_ILP64>,
21352141 LibcallImpls<(add bzero), isOSDarwin>,
2136- DarwinExp10, DarwinSinCosStret,
2142+ DarwinExp10, DarwinSinCosStret, DarwinMemsetPattern,
21372143 LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
21382144 DefaultLibmExp10,
21392145 DefaultStackProtector,
@@ -2603,7 +2609,7 @@ def ARMSystemLibrary
26032609 WindowARMFPIntCasts,
26042610 SecurityCheckCookieIfWinMSVC,
26052611 AEABIDivRemCalls,
2606- DarwinSinCosStret, DarwinExp10,
2612+ DarwinSinCosStret, DarwinExp10, DarwinMemsetPattern,
26072613 LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
26082614 DefaultLibmExp10,
26092615
@@ -3288,7 +3294,7 @@ defvar MemChkLibcalls = [__memcpy_chk, __memset_chk, __memmove_chk];
32883294
32893295defvar X86CommonLibcalls =
32903296 (add (sub WinDefaultLibcallImpls, WindowsDivRemMulLibcallOverrides, MemChkLibcalls),
3291- DarwinSinCosStret, DarwinExp10,
3297+ DarwinSinCosStret, DarwinExp10, DarwinMemsetPattern,
32923298 X86_F128_Libcalls,
32933299 LibmHasSinCosF80, // FIXME: Depends on long double
32943300 SinCosF32F64Libcalls,
0 commit comments