[PATCH] EABI Divmod, take #1
Kristof Beyls
kristof.beyls at arm.com
Thu Jul 11 02:41:40 PDT 2013
Hi Renato,
Thanks for working on this.
I have mainly looked at the regression tests, for which I have the
following questions:
1. Would it be possible to also add checks that check if the values
are returned in r0,r1 in EABI mode? I'm not sure if it would be
a good idea, but e.g. when compiling at -O2, I would expect for
the testcase in function f, it could be checked that the
instruction right after __aeabi_idivmod adds r0 and r1?
Or is that not possible at the moment, because currently 2 calls
to __aeabi_idivmod are being generated instead of 1 call for
(a/b,a%b)?
2. It seems the regression tests only check the behaviour for i32 and
i64 data types. Would it be a good idea to adapt some of the current
tests to instead check i8 and i16 data types, so all data types are
covered in the tests?
3. The check in functions f, g1 and g4 look very similar. Maybe only one
of these functions need to be retained? I can't identify what testing
value g1 and f have over g4.
Kristof
From: Renato Golin [mailto:renato.golin at linaro.org]
Sent: 11 July 2013 02:41
To: LLVM Commits
Cc: Tim Northover; Kristof Beyls
Subject: [PATCH] EABI Divmod, take #1
Hi all,
The attached patch implements __eabi_*divmod calls when on EABI mode only.
It also allows for the contraction of div+mod and uses the correct ABI of
using R1, not the stack as in the GNU variant.
This patch does not test for 64-bit values correctness, yet, nor the use of
divmod for calculating only the remainder, which shall go on separate
patch(es). FIXMEs in place.
The test-suite buildbot is unaffected because it runs on
arm-linux-gnueabihf, not arm-none-eabi.
Please review.
cheers,
--renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130711/a3a21d0e/attachment.html>
More information about the llvm-commits
mailing list