Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jun 2021 17:33:00 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 1adf1b31582d - stable/12 - Disable llvm generating 128-bit multiply libcalls on 32-bit ARM
Message-ID:  <202106251733.15PHX0Ko099189@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/12 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=1adf1b31582d9c311ff9166994bd6e4db7fb7e9e

commit 1adf1b31582d9c311ff9166994bd6e4db7fb7e9e
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-06-22 20:26:13 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-06-25 17:31:27 +0000

    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)
---
 contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp | 1 +
 1 file changed, 1 insertion(+)

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() &&



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202106251733.15PHX0Ko099189>