Hi, On Fri, 18 Jan 2008, Johannes Schindelin wrote:
> > 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. Bummer. As a test of theory (I'm not proposing this as patch), can you see what happens if you make vtmp volatile, i.e. make it look like so ? : #if DATA_SIZE == 1 || DATA_SIZE == 2 volatile RES_TYPE vtmp = v; #endif Bah, remote work-arounding of reload sucks :-) Ciao, Michael.