On Fri, Jun 21, 2013 at 9:22 AM, Hendrik Greving
<hendrik.greving.in...@gmail.com> wrote:
> A question regarding regalloc (probably greg?)
>
> I understand that matching constraints can constrain allocation to
> re-use registers, e.g. for an 'add' actually has 2 instruction
> operands (instead of 3). This is documented well. But what about if I
> do not necessarily constrain the output template, e.g. zero extend
> output template <myzeroextend> %1, %0. Does the register allocator by
> default assume  the machine can have %1==%0 (e.g. use edge of %0
> interferes with define edge %1)? Anything else would surprise me, just
> making sure?

If you don't use constraints such as & to say that %1 and %0 can not
be in the same register, then they can be.

By the way, you do know that this has all changed in current mainline, right?

Ian

Reply via email to