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: A question about UNSPEC expression and register allocation


On Saturday 17 May 2008, Mohamed Shafi wrote:
> Hello all,
>
> Recently i noticed that register allocation for the operands in a
> unspec pattern was going wrong.
> This was because there was no conflict between the registers used in
> the unspec pattern and the other registers which should have been
> there.
> During debugging i found out that the code is written in such a way
> that it doesn't consider registers used inside an unspec expression.
> So i rewrote the patten so that the unspec is in the source rather
> than in the destination of the pattern. That solved the issue. But is
> this expected?
> Will the allocation also go wrong for the source operands if they
> contain registers inside an unpsec expression? I still haven't
> encountered this.

Registers in an unspec are no different to registers used anywhere else.
All the normal rues about overallping operands, early clobbers, etc. apply.

Paul


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