qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 23/64] tcg: Allow an operand to be matching o


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v4 23/64] tcg: Allow an operand to be matching or a constant
Date: Thu, 8 Dec 2016 09:49:04 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 12/08/2016 09:19 AM, Alex Bennée wrote:

Richard Henderson <address@hidden> writes:

This allows an output operand to match an input operand
only when the input operand needs a register.

Signed-off-by: Richard Henderson <address@hidden>

It's hard to offer anything more than a mechanical review for this as
the constraints aren't intuitive to me (I guess not as a gcc hacker!).

It's even more confusing for a gcc hacker, as we don't have a concept of alternatives. You get one set of constraints.

Could we either expand the documentation of constraints in tcg/README
with a summary of the global ones?

There's only one global constraint: 'i'. So... sure, but I don't know how much that will help.

Should there be a one to one mapping of textual constraint descriptions
to the TCG_CT_FOO defines?

After the entire patch set, there is *not* a 1-1 mapping. I dispense with that in the i386 backend.

I'm finding it hard to figure out why the
text->bitfield step is needed. Is it something to do with the merging of
generic TCG op constraints with their backend counterparts?

It isn't really needed. I've been considering different ways to get rid of that step. Indeed, to take the whole backend and make it more tabular; make it verifiable as a compile-time step; make such data as can be read-only.

But what we have is what we have, for now.


r~


Anyway:

Reviewed-by: Alex Bennée <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]