On Wed, Apr 11, 2012 at 11:01 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
> Hi,
>
> this is the spurious error on asm statements of the form:
>
>  error: 'asm' operand requires impossible reload
>
> present for IA-64 on mainline and 4.7 branch.  As diagnosed by Ulrich, the 
> code
> responsible for the error implicitly assumes that constraints accepting memory
> operands also accept pseudo-registers during reload.  That isn't true for the
> Q constraint of IA-64.  The patch also fixes the MEM_VOLATILE_P access not
> properly guarded by a MEM_P test in the expression.
>
> Bootstrapped/regtested on IA-64/Linux, OK for mainline and 4.7 branch?

How ugly ;)  Can we have a generic helper for the pseudo-created-by-reload
test on trunk please?

Ok.

Thanks,
Richard.

>
> 2012-04-11  Eric Botcazou  <ebotca...@adacore.com>
>
>        PR target/48496
>        * config/ia64/constraints.md (Q): Only accept non-volatile MEMs and
>        also pseudo-registers during reload.
>
>
> 2012-04-11  Eric Botcazou  <ebotca...@adacore.com>
>
>        * gcc.target/ia64/pr48496.c: New test.
>        * gcc.target/ia64/pr52657.c: Likewise.
>
>
> --
> Eric Botcazou

Reply via email to