It would fix the problem I pointed out, but it would create new
problems. If op0 has a narrower mode than HOST_WIDE_INT, overflow
will not be detected by your version.
How is that possible? The shift amount isn't being changed. So if the
shift of -1 would overflow, why wouldn't the current shift of 1 in the
similar situation?