in some implementations (eg. sun4c), the hardware modifies the destination
reg before checking for write permission on the memory location. without
this change, gcc was using the same register for the address and the
destination, so if the store part of the instruction faulted, the address
was already gone when the instruction was retried after resolving the fault.
part of PR 25633, PR 25896.