linux-2.3.3 doesn't boot when compiled with egcs-2.93.22
Martin v. Loewis
martin@mira.isdn.cs.tu-berlin.de
Mon May 24 03:11:00 GMT 1999
> The only portable way to write memcpy is with `char*'; you can access
> anything through a pointer-to-character. But, to make it fast, you
> probably have to write it in assembly code.
That's what I first thought, but it doesn't solve the problem
completely.
The idea behind constant_memcpy is to have the compiler emit
integer-moves for small amounts of data, and only use the x86 string
operations for larger pieces of memory.
Now, that *could* be changed to use assembler code for the small
structures as well, but then you'd lose optimization opportunities.
AFAIK, you'd have to say that the asm changes "memory", whereas you
clearly know that it changes *to.
Regards,
Martin
More information about the Gcc-bugs
mailing list