This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch,AVR] PR54222: Add fixed point support


2012/8/23 Georg-Johann Lay <avr@gjlay.de>:
> Denis Chertykov wrote:
>> 2012/8/13 Georg-Johann Lay:
>>> Denis Chertykov wrote:
>>>> 2012/8/11 Georg-Johann Lay:
>>>>> Weddington, Eric schrieb:
>>>>>>> From: Georg-Johann Lay
>>>>>>>
>>>>>>>
>>>>>>> The first step would be to bisect and find the patch that lead to
>>>>>>> PR53923.  It was not a change in the avr BE, so the question goes
>>>>>>> to the authors of the respective patch.
>>>>>>>
>>>>>>> Up to now I didn't even try to bisect; that would take years on the
>>>>>>> host that I have available...
>>>>>>>
>>>>>>>> My only real concern is that this is a major feature addition and
>>>>>>>> the AVR port is currently broken.
>>>>>>> I don't know if it's the avr port or some parts of the middle end that
>>>>>>> don't cooperate with avr.
>>>>>> I would really, really love to see fixed point support added in,
>>>>>> especially since I know that Sean has worked on it for quite a while,
>>>>>> and you've also done a lot of work in getting the patches in shape to
>>>>>> get them committed.
>>>>>>
>>>>>> But, if the AVR port is currently broken (by whomever, and whatever
>>>>>> patch) and a major feature like this can't be tested to make sure it
>>>>>> doesn't break anything else in the AVR backend, then I'm hesitant to
>>>>>> approve (even though I really want to approve).
>>>>> I don't understand enough of DF to fix PR53923.  The insn that leads
>>>>> to the ICE is (in df-problems.c:dead_debug_insert_temp):
>>>>>
>>>> Today I have updated GCC svn tree and successfully compiled avr-gcc.
>>>> The libgcc2-mulsc3.c from   also compiled without bugs.
>>>>
>>>> Denis.
>>>>
>>>> PS: May be I'm doing something wrong ? (I had too long vacations)
>>> I am configuring with --target=avr --disable-nls --with-dwarf2
>>> --enable-languages=c,c++ --enable-target-optspace=yes --enable-checking=yes,rtl
>>>
>>> Build GCC is "gcc version 4.3.2".
>>> Build and host are i686-pc-linux-gnu.
>>>
>>> Maybe it's different on a 64-bit computer, but I only have 32-bit host.
>>>
>>
>> I have debugging PR53923 and on my opinion it's not an AVR port bug.
>> Please commit fixed point support.
>>
>> Denis.
>
> Hi, here is an updated patch.
>
> Some functions are reworked and there is some code clean up.
>
> The test results look good, there are no additional regressions.
>
> The new test cases in gcc.dg/fixed-point pass except some convert-*.c for
> two reasons:
>
> * Some test cases have a loss of precision and therefore fail.
>   One fail is that 0x3fffffffc0000000 is compared against
>   0x4000000000000000 and thus fails.  Presumably its a rounding
>   error from float.  I'd say this is not critical.
>
> * PR54330: This leads to wrong code for __satfractudadq and the
>   wrong code is already present in .expand.  From the distance
>   this looks like a middle-end or tree-ssa problem.
>
> The new patch implements TARGET_BUILD_BUILTIN_VA_LIST.
> Rationale is that avr-fixed.md adjust some modes bit these
> changes are not reflected by the built-in macros made by gcc.
> This leads to wrong code in libgcc because it deduces the
> type layout from these built-in defines.  Thus, the respective
> nodes must be patches *before* built-in macros are emit.
>
> The changes to LIB2FUNCS_EXCLUDE currently have no effects,
> this needs http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01580.html
> which is currently under review.
>
> Ok to install?
>

Please commit.

Denis.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]