nickdesaulniers added a comment.

In D107420#2929115 <https://reviews.llvm.org/D107420#2929115>, @craig.topper 
wrote:
> In D107420#2929039 <https://reviews.llvm.org/D107420#2929039>, @aaron.ballman 
> wrote:
>
>> In D107420#2928975 <https://reviews.llvm.org/D107420#2928975>, @craig.topper 
>> wrote:
>>
>>> I put up a patch for a simple fix for this in the backend. 
>>> https://reviews.llvm.org/D107581  The generated code is not optimal, but 
>>> maybe better than frontend workarounds.
>>
>> Thanks for putting up the backend fix! That's much better than frontend 
>> workarounds.
>
> Looks like I may have opened a small can of worms. In 32-bit mode, a 
> __builtin_mul_overflow of _ExtInt(128) producing a signed result generates a 
> call to _muloti4 which neither compiler-rt or libgcc implement in 32-bit 
> mode. In 64-bit mode only compiler-rt implements _muloti4 for x86-64.

I think this is also producing references to __mulodi4 for signed `long long` 
on 32b targets, see: https://bugs.llvm.org/show_bug.cgi?id=28629.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107420

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to