This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC][LIBGCC][2 of 2] 64 bit divide implementation for processor without hw divide instruction
- From: Ian Lance Taylor <iant at google dot com>
- To: Kugan <kugan dot vivekanandarajah at linaro dot org>
- Cc: Richard Earnshaw <rearnsha at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "ian at airs dot com" <ian at airs dot com>, "patches at linaro dot org" <patches at linaro dot org>
- Date: Tue, 3 Dec 2013 06:50:38 -0800
- Subject: Re: [RFC][LIBGCC][2 of 2] 64 bit divide implementation for processor without hw divide instruction
- Authentication-results: sourceware.org; auth=none
- References: <52900902 dot 9020602 at linaro dot org> <52900AEC dot 2060301 at linaro dot org> <5294B930 dot 6030608 at arm dot com> <52957548 dot 8060308 at linaro dot org> <529D7CB7 dot 9020500 at linaro dot org>
On Mon, Dec 2, 2013 at 10:39 PM, Kugan
<kugan.vivekanandarajah@linaro.org> wrote:
> ping
This patch needs to be approved by an ARM maintainer.
Ian
> On 27/11/13 15:30, Kugan wrote:
>> On 27/11/13 02:07, Richard Earnshaw wrote:
>>> On 23/11/13 01:54, Kugan wrote:
>>
>> [snip]
>>
>>>> +2013-11-22 Kugan Vivekanandarajah <kuganv@linaro.org>
>>>> +
>>>> + * libgcc/config/arm/pbapi-lib.h (HAVE_NO_HW_DIVIDE): Define for
>>>
>>> It's bpabi-lib.h
>>
>> Thanks for the review.
>>
>>>> + __ARM_ARCH_7_A__.
>>>> +
>>>>
>>>>
>>>
>>> No, this will:
>>> 1) Do the wrong thing for Cortex-a7, A12 and A15 (which all have HW
>>> divide, and currently define __ARM_ARCH_7_A__).
>>> 2) Do the wrong thing for v7-M and v7-R devices, which have Thumb HW
>>> division instructions.
>>> 3) Do the wrong thing for all pre-v7 devices, which don't have HW division.
>>>
>>> I think the correct solution is to test !defined(__ARM_ARCH_EXT_IDIV__)
>>
>> I understand it now and updated the code as attached.
>>
>> +2013-11-27 Kugan Vivekanandarajah <kuganv@linaro.org>
>> +
>> + * config/arm/bpapi-lib.h (TARGET_HAS_NO_HW_DIVIDE): Define for
>> + architectures that does not have hardware divide instruction.
>> + i.e. architectures that does not define __ARM_ARCH_EXT_IDIV__.
>> +
>>
>>
>> Is this OK for trunk now?
>> Thanks,
>> Kugan
>>
>