> > Motion across hardreg sets/uses are not restricted. And I would not expect > an optimizing compiler to do that (it's your own fault to use hardregs in > complex C code).
Well, the syscall sequence is an example of somehting that should be inlined into arbitrary code w/o potential risk of ICEs. But I guess if things works in practice (as they seem), we don't need to worry much at the moment. Most of code movement we do is very simple. I don't see how to convince GCC to move memcpy or division into the middle of a basic block containing the libcall sequence.... Even when the basic block can be broken up with -fno-call-exceptions at the asm statement by an EH edge... Honza > > Richard.