[llvm] r215862 - ARM: improve RTABI 4.2 conformance on Linux

Saleem Abdulrasool compnerd at compnerd.org
Tue Aug 19 19:59:41 PDT 2014


On Tue, Aug 19, 2014 at 4:21 AM, Renato Golin <renato.golin at linaro.org>
wrote:

> On 17 August 2014 23:51, Saleem Abdulrasool <compnerd at compnerd.org> wrote:
> > Author: compnerd
> > Date: Sun Aug 17 17:51:02 2014
> > New Revision: 215862
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=215862&view=rev
> > Log:
> > ARM: improve RTABI 4.2 conformance on Linux
> >
> > The set of functions defined in the RTABI was separated for no real
> reason.
> > This brings us closer to proper utilisation of the functions defined by
> the
> > RTABI.  It also sets the ground for correctly emitting function calls to
> AEABI
> > functions on all AEABI conforming platforms.
> >
> > The previously existing lie on the behaviour of __ldivmod and __uldivmod
> is
> > propagated as it is beyond the scope of the change.
> >
> > The changes to the test are due to the fact that we now use the divmod
> functions
> > which return both the quotient and remainder and thus we no longer need
> to
> > invoke two functions on Linux (making it closer to EABI's behaviour).
>
>
> Hi Saleem,
>
> 64-bit divmod was broken on ARM and AFAIK hasn't been fixed. Your
> tests seem to remove the [[sum]] dependency, making them a bit weaker
> than they were. I just want to make sure that 64-bit divmod is working
> as it should by making sure the generated code is *really* correct.
>

Could you explain what exactly was broken?  I didn't notice anything in the
generated assembly (but, I could have accidentally overlooked it).  Or did
you mean that libgcc's implementation of __aeabi_ldivmod had a bug in it?


> Moritz (cc'd) had some concerns about it, it may be linked.
>
> cheers,
> --renato
>

-- 
Saleem Abdulrasool
compnerd (at) compnerd (dot) org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140819/a161d895/attachment.html>


More information about the llvm-commits mailing list