diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2021-06-22 20:26:13 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2021-06-25 17:31:53 +0000 |
commit | a35615900cf525d1b4318837ccd4ce32fdf0fe5c (patch) | |
tree | 3f792e5bae3db646071791663966fe5281770bca | |
parent | 591bd6a9b85d233bbef5eeaae46454f5994bf42f (diff) | |
download | src-a35615900cf525d1b4318837ccd4ce32fdf0fe5c.tar.gz src-a35615900cf525d1b4318837ccd4ce32fdf0fe5c.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
(cherry picked from commit 014a40f8f643a5dad6a6ba5c4bf6ea5d4f445fe6)
-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 9f504b1eaa42..00e709292eb8 100644 --- a/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -511,6 +511,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() && |