This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH:[darwin] fix load of a misaligned double word


Geoff wrote:
> Right.  So we should be trying to arrange for reload to choose the
> alternative that will actually make progress.  Since in this case, one
> alternative requires reloading two operands, but the better
> alternative requires reloading only one, this should not be a problem.

Of course, we end up in this situation, because the right alternative
has two '?'. We wouldn't run into this, if we would change
the distribution of '?' in this particular insn, maybe
take them totally away, as already discussed in this thread.
But I have the suspicion, that we will sooner or later will have
a reoccurrence of this problem, if we don't provide secondary
reload in/outs.

How should we proceed ? Change the constraints in the insn and
wait, if we will see the problem again ?
And if we change the constraints,
is this the proposed change:
[(set (match_operand:DF 0 "nonimmediate_operand" "=?Y,?r,!r,f,f,m,!cl,!r,!r,!r,!r")
or this:
[(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,!cl,!r,!r,!r,!r")

      regards, Hartmut




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]