diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2021-06-22 20:26:13 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2021-06-22 20:26:13 +0000 |
commit | 014a40f8f643a5dad6a6ba5c4bf6ea5d4f445fe6 (patch) | |
tree | a8b5314a8f5f2a568d135b9b238e49320cd7cb5b | |
parent | df3b437c1e073eb83e9a93af1c417f3ee8d0de3b (diff) | |
download | src-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.cpp | 1 |
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() && |