[BUG mm] "fixed" i386 memcpy inlining buggy
Paolo Bonzini
bonzini@gnu.org
Wed Apr 6 15:26:00 GMT 2005
> The only thing that would avoid this is to either tell the compiler to
> never put esi/edi in memory (which I think is not possibly across
> different versions of gcc) or to always generate a single asm section
> for all the different cases.
Use __asm__ ("%esi") and __asm__ ("%edi"). It is not guaranteed that
they access the registers always (you can still have copy propagation
etcetera); but, if your __asm__ statement constraints match the register
you specify, then you can be reasonably sure that good code is produced.
Paolo
More information about the Gcc
mailing list