This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: i370 port
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: mutazilah at gmail dot com (Paul Edwards)
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 15 Aug 2011 16:31:56 +0200 (CEST)
- Subject: Re: i370 port
Paul Edwards wrote:
> I was surprised that an instruction that is marked as s_operand
> was getting a seemingly non-s_operand given to it, so I added an
> "S" constraint:
That's right. It is not good to have a constraint that accepts
more than the predicate, since reload will at this point only
consider the constraint. Adding a more restricted constraint
should be the proper fix for this problem.
> That then gave an actual compiler error instead of generating bad
> code, which is a step forward:
>
> pdos.c: In function `pdosLoadExe':
> pdos.c:2703: error: unable to generate reloads for:
You'll need to mark your new constraint as EXTRA_MEMORY_CONSTRAINT
so that reload knows what to do when an argument doesn't match.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com