Hi Segher, the patch looks ok for me. Just for my understanding: A memory clobber would also make rtx_moveable_p return false, thru the following case:
case MEM:
if (type == OP_IN && MEM_READONLY_P (x))
return rtx_moveable_p (&XEXP (x, 0), OP_IN);
return false;
...
case CLOBBER:
return rtx_moveable_p (&SET_DEST (x), OP_OUT);
because that memory clobber is in a parallel statement
together with the ASM_OUTPUT.
Right?
Bernd.
