Hi, On Fri, 18 Jan 2008, Michael Matz wrote:
> On Fri, 18 Jan 2008, Johannes Schindelin wrote: > > > > But I'm not talking about the clobber list at all. I reacted to the > > > first mail forwarded to me, which was a question specifically about > > > the hunk adding the "q" constraint, whose purpose I explained. Are > > > you now also asking about the changes regarding %ecx and the clobber > > > list? > > > > Okay, look, I do not have enough time to fix it myself. But there > > _is_ a breakage with gcc 3.4.2 on MinGW. If that is not fixed, I will > > openly oppose that patch going into CVS. > > That's fine and is why I sent a test patch which might fix the breakage > when applied on top of the constraint patch. > > > All I tried was to get an understanding why the current patch "Fix > > i386" (which is still misnamed) broke on MinGW. > > Well, I can tell you why, but it doesn't help you: the 3.4.2 compiler > has different deficiencies in reload than the 4.x line of compilers. > To make the whole thingy work on all compilers trying and testing is > required to avoid all these different deficiencies. My patch is partly > real bug fixes (the "q" constraint part for instance) and partly changes > helping to lessen the register pressure which reload needs to fix (the > %ecx thingy for instance). Both of these might expose the bugs in > 3.4.2, in which case we need to hack around those as well. That's what > I tried to do with the patch from > http://article.gmane.org/gmane.comp.emulators.qemu/22762 , but it needs > of course testing by someone who actually uses 3.4.2. I just downloaded it, and tested it on MinGW with 3.4.2, and I still get the "can't find register in class `Q_REGS´ while reloading `asm´" error. Ciao, Dscho