This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Help with constraint for single register0
- From: Ulrich Weigand <Ulrich dot Weigand at de dot ibm dot com>
- To: autophile at gmail dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 25 Dec 2004 12:52:53 +0100
- Subject: Re: Help with constraint for single register0
Robert Baruch wrote:
>The problem is that gcc is generating register moves that don't go
>through the W register, such as:
Reload assumes it can generate all register-to-register moves. If this
assumption is incorrect, you need to employ the 'secondary reload'
mechanism. In your case, you'll need to define the SECONDARY_INPUT_RELOAD
and SECONDARY_OUTPUT_RELOAD macros, and specify there that moves of
anything but the W register into (or out of) any other register requires
an intermediate register of class W_REG (i.e. the W register).
Reload will then generate appropriate intermediate moves.
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com