aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2021-06-22 20:26:13 +0000
committerDimitry Andric <dim@FreeBSD.org>2021-06-22 20:26:13 +0000
commit014a40f8f643a5dad6a6ba5c4bf6ea5d4f445fe6 (patch)
treea8b5314a8f5f2a568d135b9b238e49320cd7cb5b
parentdf3b437c1e073eb83e9a93af1c417f3ee8d0de3b (diff)
downloadsrc-014a40f8f643a5dad6a6ba5c4bf6ea5d4f445fe6.tar.gz
src-014a40f8f643a5dad6a6ba5c4bf6ea5d4f445fe6.zip
Disable llvm generating 128-bit multiply libcalls on 32-bit ARM
Merge commit 789708617d20 from llvm git (Koutheir Attouchi): Do not generate calls to the 128-bit function __multi3() on 32-bit ARM Re-applying this patch after bots failures. Should be fine now. The function __multi3() is undefined on 32-bit ARM, so a call to it should never be emitted. Instead, plain instructions need to be generated to perform 128-bit multiplications. Differential Revision: https://reviews.llvm.org/D103906 Reported by: mmel MFC after: 3 days
-rw-r--r--contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 598062672a56..c3cb02431e66 100644
--- a/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -541,6 +541,7 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM,
setLibcallName(RTLIB::SHL_I128, nullptr);
setLibcallName(RTLIB::SRL_I128, nullptr);
setLibcallName(RTLIB::SRA_I128, nullptr);
+ setLibcallName(RTLIB::MUL_I128, nullptr);
// RTLIB
if (Subtarget->isAAPCS_ABI() &&