2012/8/23 Georg-Johann Lay <a...@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.