[PPCISelLowering] Avoid emitting calls to __multi3, __muloti4
authorAaron Puchert <aaronpuchert@alice-dsl.net>
Sun, 20 Mar 2022 19:59:06 +0000 (20:59 +0100)
committerAaron Puchert <aaronpuchert@alice-dsl.net>
Sun, 20 Mar 2022 19:59:30 +0000 (20:59 +0100)
commitc1a31ee65b3a2bf2b452febb99703b3fdfa43328
tree5e4449c06bc44790e9eef3d9d158bdabbbba3f4b
parentbce1bf0ee29e2da6be1e114a3a7678275a110a42
[PPCISelLowering] Avoid emitting calls to __multi3, __muloti4

After D108936, @llvm.smul.with.overflow.i64 was lowered to __multi3
instead of __mulodi4, which also doesn't exist on PowerPC 32-bit, not
even with compiler-rt. Block it as well so that we get inline code.

Because libgcc doesn't have __muloti4, we block that as well.

Fixes #54460.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D122090
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll
llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll