Do not generate calls to the 128-bit function __multi3() on 32-bit ARM
authorKoutheir Attouchi <koutheir@gmail.com>
Fri, 11 Jun 2021 10:37:16 +0000 (11:37 +0100)
committerRenato Golin <rengolin@systemcall.eu>
Fri, 11 Jun 2021 10:45:21 +0000 (11:45 +0100)
commit789708617d2023dbb343c65120556b2e6a97044d
treebe3d02da70013e1c0d314d630e2376e2c7fcf965
parentd7c219a506ec9aabe7c5d36c0da55656af487b73
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
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
llvm/test/CodeGen/Thumb/pr35836_2.ll
llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll
llvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll