This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: matching constraints in asm operands question
Quoting Jason Merrill <jason@redhat.com>:
> Well, I assumed the same thing when I started poking at that code, but then
> someone pointed out that it didn't actually work that way, and as I recall
> the code does in fact assume a register. I certainly would not object to
> making '+' work properly for memory operands, but simply asserting that it
> already does is wrong.
The code in reload to make non-matching operands match assumes a register.
However, a match from a plus should always kept in sync (except temporarily
half-way through a substitution, since we now unshare). If it isn't,
that's a regression. Do you have a testcase, and/or can point out the code
that introduces the inconsistency in the rtl?