@@ -459,7 +459,6 @@ def __multi3 : RuntimeLibcallImpl<MUL_I128>;
459
459
460
460
def __mulosi4 : RuntimeLibcallImpl<MULO_I32>;
461
461
def __mulodi4 : RuntimeLibcallImpl<MULO_I64>;
462
- def __muloti4 : RuntimeLibcallImpl<MULO_I128>;
463
462
464
463
def __divqi3 : RuntimeLibcallImpl<SDIV_I8>;
465
464
def __divhi3 : RuntimeLibcallImpl<SDIV_I16>;
@@ -935,6 +934,12 @@ def calloc : RuntimeLibcallImpl<CALLOC>;
935
934
936
935
} // End let IsDefault = true
937
936
937
+ //--------------------------------------------------------------------
938
+ // compiler-rt, not available for most architectures
939
+ //--------------------------------------------------------------------
940
+
941
+ def __muloti4 : RuntimeLibcallImpl<MULO_I128>;
942
+
938
943
//--------------------------------------------------------------------
939
944
// Define implementation other libcalls
940
945
//--------------------------------------------------------------------
@@ -1032,14 +1037,18 @@ defvar AllDefaultRuntimeLibcallImpls
1032
1037
// Exist in libgcc and compiler-rt for 64-bit targets, or if
1033
1038
// COMPILER_RT_ENABLE_SOFTWARE_INT128.
1034
1039
defvar Int128RTLibcalls = [
1035
- __ashlti3, __lshrti3, __ashrti3, __multi3, __mulodi4
1040
+ __ashlti3, __lshrti3, __ashrti3, __multi3
1036
1041
];
1037
1042
1038
1043
// Only available in compiler-rt
1039
- defvar CompilerRTOnlyInt128Libcalls = [
1044
+ defvar CompilerRTOnlyInt64Libcalls = [
1040
1045
__mulodi4
1041
1046
];
1042
1047
1048
+ defvar CompilerRTOnlyInt128Libcalls = [
1049
+ __muloti4
1050
+ ];
1051
+
1043
1052
defvar DefaultRuntimeLibcallImpls_f80 =
1044
1053
!filter(entry, AllDefaultRuntimeLibcallImpls,
1045
1054
!match(!cast<string>(entry.Provides), "F80"));
@@ -1057,7 +1066,8 @@ defvar DefaultRuntimeLibcallImpls =
1057
1066
!listremove(
1058
1067
!listremove(
1059
1068
!listremove(AllDefaultRuntimeLibcallImpls, Int128RTLibcalls),
1060
- CompilerRTOnlyInt128Libcalls),
1069
+ !listconcat(CompilerRTOnlyInt64Libcalls,
1070
+ CompilerRTOnlyInt128Libcalls)),
1061
1071
DefaultRuntimeLibcallImpls_f80),
1062
1072
DefaultRuntimeLibcallImpls_ppcf128);
1063
1073
@@ -2143,5 +2153,5 @@ def isWasm : RuntimeLibcallPredicate<"TT.isWasm()">;
2143
2153
def WasmSystemLibrary
2144
2154
: SystemRuntimeLibrary<isWasm,
2145
2155
(add DefaultRuntimeLibcallImpls, Int128RTLibcalls,
2146
- CompilerRTOnlyInt128Libcalls,
2156
+ CompilerRTOnlyInt64Libcalls, CompilerRTOnlyInt128Libcalls,
2147
2157
emscripten_return_address)>;
0 commit comments