This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/20972] Can't describe an early-clobber by an auto-inc
- From: "amylaar at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Feb 2006 21:27:47 -0000
- Subject: [Bug rtl-optimization/20972] Can't describe an early-clobber by an auto-inc
- References: <bug-20972-10413@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from amylaar at gcc dot gnu dot org 2006-02-14 21:27 -------
(In reply to comment #3)
> There's currently no way for a back-end to describe that an auto-inc operation
> might be an early-clobber. The obvious '&<>' in the constraint doesn't work,
> causing an abort in find_reloads().
Actually, according to rtl.texi, there is no way to describe an auto-inc
operation that is not an early-clobber at all.
They are basically an earlyclobber for insns that do/would fit for a load-store
architecture. If you have more than one memory address in the insn, it gets
more complicated, as rtl.texi makes a distiction between address and
non-address
uses:
If a register used as the operand of these expressions is used in
another address in an insn, the original value of the register is used.
Uses of the register outside of an address are not permitted within the
same insn as a use in an embedded side effect expression because such
insns behave differently on different machines and hence must be treated
as ambiguous and disallowed.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20972