This is the mail archive of the
mailing list for the GCC project.
RE: [Patch,AVR] PR54222: Add fixed point support
> -----Original Message-----
> From: Georg-Johann Lay
> Sent: Thursday, August 23, 2012 8:49 AM
> To: Denis Chertykov
> Cc: Weddington, Eric; email@example.com
> Subject: Re: [Patch,AVR] PR54222: Add fixed point support
> 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?
I have no objections to the patch, but I think it also best to wait for Denis to approve as well.
Based on your analysis of the test case failure you mentioned above, do you think we need to have some other new test cases for the AVR fixed-point support?
BTW, I appreciate all the great work that you've done on this! :-)