On Wed, 27 Apr 2011, Michael Hope wrote:
On Wed, Apr 27, 2011 at 12:23 AM, Andrew Stubbs andrew.stubbs@linaro.org wrote:
On 26/04/11 03:39, Nicolas Pitre wrote:
But I digress. This is just to say that gcc shouldn't pull __aeabi_uldivmod in this case because:
There isn't a library call (or instruction) for a straight 'mod' operation, so GCC always has to use 'divmod', no exceptions.
In any case, optimization of a div and a mod into a single call is problematic, at best, so it's unlikely that's happening. See GCC PR43721.
Ah, sorry. So the divmod call is there due to the modulo operation only.
Makes sense. Now... why is the uldivmod version used over the uidivmod version when all the variables involved are only 32 bit wide?
Nicolas