[PATCH] D103906: Do not generate calls to the 128-bit function __multi3() on 32-bit ARM.

Stephen Hines via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 8 11:39:56 PDT 2021


srhines added a comment.

In D103906#2806084 <https://reviews.llvm.org/D103906#2806084>, @rengolin wrote:

> Right, ok, this is true for compiler-rt, but not necessarily other runtime libraries.
>
> There is an open discussion if we should assume compiler-rt is the default and use what we have, but this is a different issue.
>
> If the call to `__multi3` is there by accident (leaked from other target's default), then it's ok to remove it. If not, we may need some more complex solution.
>
> @compnerd @joerg @t.p.northover @srhines, do you know of any Arm32 runtime library that implements 128-bit maths with Clang?
>
> I think Android does, so perhaps we can add a condition there on `AndroidEABI`?

We don't define 128-bit operations. https://cs.android.com/search?q=CRT_HAS_128BIT%20-filepath:external%2Fcompiler-rt%20-filepath:external%2Fllvm-project&sq=&ss=android shows that we don't define `CRT_HAS_128BIT` anywhere, nor do I see any 128-bit symbols in our `libclang_rt.builtins-arm-android.a`. We do default to compiler-rt these days for builtins, and thus the 128-bit symbols can't be coming from anywhere else either.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103906/new/

https://reviews.llvm.org/D103906



More information about the llvm-commits mailing list