This is the mail archive of the gcc@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: 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


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