Re: [Qemu-devel] [PATCH v1 1/2] tcg: Add support for constant value promises

2016-01-19 Thread Lluís Vilanova
Edgar E Iglesias writes: > On Sat, Jan 16, 2016 at 09:57:36PM +0100, Lluís Vilanova wrote: >> Richard Henderson writes: >> >> > On 01/15/2016 12:12 PM, Lluís Vilanova wrote: >> >> Richard Henderson writes: >> >> >> >>> On 01/15/2016 07:35 AM, Lluís Vilanova wrote: >> +TCGv_i64 tcg_promise_i

Re: [Qemu-devel] [PATCH v1 1/2] tcg: Add support for constant value promises

2016-01-19 Thread Edgar E. Iglesias
On Sat, Jan 16, 2016 at 09:57:36PM +0100, Lluís Vilanova wrote: > Richard Henderson writes: > > > On 01/15/2016 12:12 PM, Lluís Vilanova wrote: > >> Richard Henderson writes: > >> > >>> On 01/15/2016 07:35 AM, Lluís Vilanova wrote: > +TCGv_i64 tcg_promise_i64(TCGv_promise_i64 *promise) > >>>

Re: [Qemu-devel] [PATCH v1 1/2] tcg: Add support for constant value promises

2016-01-16 Thread Lluís Vilanova
Richard Henderson writes: > On 01/15/2016 12:12 PM, Lluís Vilanova wrote: >> Richard Henderson writes: >> >>> On 01/15/2016 07:35 AM, Lluís Vilanova wrote: +TCGv_i64 tcg_promise_i64(TCGv_promise_i64 *promise) +{ +int pi = tcg_ctx.gen_next_parm_idx; +*promise = (TCGv_pr

Re: [Qemu-devel] [PATCH v1 1/2] tcg: Add support for constant value promises

2016-01-15 Thread Richard Henderson
On 01/15/2016 12:12 PM, Lluís Vilanova wrote: > Richard Henderson writes: > >> On 01/15/2016 07:35 AM, Lluís Vilanova wrote: >>> +TCGv_i64 tcg_promise_i64(TCGv_promise_i64 *promise) >>> +{ >>> +int pi = tcg_ctx.gen_next_parm_idx; >>> +*promise = (TCGv_promise_i64)&tcg_ctx.gen_opparam_buf[p

Re: [Qemu-devel] [PATCH v1 1/2] tcg: Add support for constant value promises

2016-01-15 Thread Lluís Vilanova
Richard Henderson writes: > On 01/15/2016 07:35 AM, Lluís Vilanova wrote: >> +TCGv_i64 tcg_promise_i64(TCGv_promise_i64 *promise) >> +{ >> +int pi = tcg_ctx.gen_next_parm_idx; >> +*promise = (TCGv_promise_i64)&tcg_ctx.gen_opparam_buf[pi]; >> +return tcg_const_i64(0xdeadcafe); >> +} >

Re: [Qemu-devel] [PATCH v1 1/2] tcg: Add support for constant value promises

2016-01-15 Thread Richard Henderson
On 01/15/2016 07:35 AM, Lluís Vilanova wrote: > +TCGv_i64 tcg_promise_i64(TCGv_promise_i64 *promise) > +{ > +int pi = tcg_ctx.gen_next_parm_idx; > +*promise = (TCGv_promise_i64)&tcg_ctx.gen_opparam_buf[pi]; > +return tcg_const_i64(0xdeadcafe); > +} This doesn't work for a 32-bit host.

[Qemu-devel] [PATCH v1 1/2] tcg: Add support for constant value promises

2016-01-15 Thread Lluís Vilanova
A TCG constant value promise allows creating TCG code that works with a constant whose value is not known until after the code has been generated (e.g., a count of the instructions in a basic block). Signed-off-by: Lluís Vilanova --- tcg/tcg-op.h |6 ++ tcg/tcg.c| 33 ++