ARM EABI divmod support
authorRenato Golin <renato.golin@linaro.org>
Tue, 16 Jul 2013 09:32:17 +0000 (09:32 +0000)
committerRenato Golin <renato.golin@linaro.org>
Tue, 16 Jul 2013 09:32:17 +0000 (09:32 +0000)
commit103ba845f09252d90a05109af7174f54bf412daf
tree89516426cf9df19eab94f801e39cfefb1ceb7eae
parent9273151c3bbc96c9b2911caffe3e1a724261cd06
ARM EABI divmod support

This patch enables calls to __aeabi_idivmod when in EABI mode,
by using the remainder value returned on registers (R1),
enabled by the ARM triple "none-eabi". Note that Darwin and
GNUEABI triples will continue lowering on GNU style, that is,
using the stack for the remainder.

Still need to add SREM/UREM support fix for 64-bit lowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186390 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMSubtarget.h
test/CodeGen/ARM/divmod-eabi.ll [new file with mode: 0644]