[ARM] Lower UDIV+UREM to UDIV+MLS (and the same for SREM)
authorPablo Barrio <pablo.barrio@arm.com>
Wed, 7 Sep 2016 12:49:15 +0000 (12:49 +0000)
committerPablo Barrio <pablo.barrio@arm.com>
Wed, 7 Sep 2016 12:49:15 +0000 (12:49 +0000)
commitfc752bb70aa8a52d7a683b88c5cc0fa234bdb91a
treef87ba4f5eef41e5beb76460a23a1763c2fca3bfc
parentf3fd3162238be28e742daf24b1309075908ceefb
[ARM] Lower UDIV+UREM to UDIV+MLS (and the same for SREM)

Summary:
This saves a library call to __aeabi_uidivmod. However, the
processor must feature hardware division in order to benefit from
the transformation.

Reviewers: scott-0, jmolloy, compnerd, rengolin

Subscribers: t.p.northover, compnerd, aemerson, rengolin, samparker, llvm-commits

Differential Revision: https://reviews.llvm.org/D24133

llvm-svn: 280808
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/ARM/urem-opt-size.ll