On 12/02/2017 01:59 PM, Segher Boessenkool wrote:
The documentation (rtl.texi) says:
When a @code{clobber} expression for a register appears inside a
@code{parallel} with other side effects, the register allocator
guarantees that the register is unoccupied both before and after that
insn if it is a hard register clobber.
and at least the rs6000 backend relies on that (see PR83245). This
patch restores that behaviour.
Registers that are also used as operands in the instruction are not
treated as earlyclobber, so such insns also still work (PR80818, an
s390 testcase).
Tested on powerpc64-linux {-m32,-m64}, also tested with a s390 cross.
Andreas, can you confirm this really still works after this patch?
Vlad, if so, is this okay for trunk?
Yes, it is ok for me in any case, even if it creates a trouble for s390
PR80818. Sorry for the inconvenience from my patch. I should have been
more careful.