[all-commits] [llvm/llvm-project] c1a31e: [PPCISelLowering] Avoid emitting calls to __multi3...

Aaron Puchert via All-commits all-commits at lists.llvm.org
Sun Mar 20 13:00:32 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c1a31ee65b3a2bf2b452febb99703b3fdfa43328
      https://github.com/llvm/llvm-project/commit/c1a31ee65b3a2bf2b452febb99703b3fdfa43328
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2022-03-20 (Sun, 20 Mar 2022)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll
    M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll

  Log Message:
  -----------
  [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




More information about the All-commits mailing list