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.