[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