Re: [PATCH] Add support for a helper with 7 arguments

2020-02-10 Thread Richard Henderson
On 2/9/20 4:54 AM, Taylor Simpson wrote: > One question I have from implementing this is > - Is there a way to pass a constant value to gen_helper_XXX? No. > It would be great if this would be possible instead of calling > tcg_const_tl() and passing the TCGv. You have to use tcg_const_{i32,i64,tl

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-09 Thread Taylor Simpson
> -Original Message- > From: Taylor Simpson > Sent: Sunday, February 9, 2020 2:51 PM > To: Richard Henderson ; Richard Henderson > ; qemu-devel@nongnu.org > Cc: Paolo Bonzini > Subject: RE: [PATCH] Add support for a helper with 7 arguments > > > How

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-09 Thread Taylor Simpson
> -Original Message- > From: Richard Henderson > Sent: Sunday, February 9, 2020 12:18 PM > To: Taylor Simpson ; Richard Henderson > ; qemu-devel@nongnu.org > Cc: Paolo Bonzini > Subject: Re: [PATCH] Add support for a helper with 7 arguments > We can optimiz

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-09 Thread Richard Henderson
On 2/8/20 5:08 AM, Taylor Simpson wrote: >> { >> r6 = memb(r1) >> r7 = memb(r2) >> } >> >> qemu_ld t0, r1, MO_UB, mmu_idx >> qemu_ld t1, r2, MO_UB, mmu_idx >> mov r6, t0 >> mov r7, t1 >> > > Here is the TCG we generate currently. > movi_i32 tmp0,$0x0 > add_i32 loc2,r1,tmp0 >

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-08 Thread Taylor Simpson
> On 2/7/20 12:43 PM, Taylor Simpson wrote: > > > >> -Original Message- > >> From: Richard Henderson > >> > >> But I encourage you to re-think your purely mechanical approach to the > >> hexagon port. It seems to me that you should be doing much more > during > >> the translation phase

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-07 Thread Richard Henderson
On 2/7/20 12:43 PM, Taylor Simpson wrote: > >> -Original Message- >> From: Richard Henderson >> >> But I encourage you to re-think your purely mechanical approach to the >> hexagon port. It seems to me that you should be doing much more during >> the translation phase so that you can mi

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-07 Thread Taylor Simpson
> -Original Message- > From: Richard Henderson > > But I encourage you to re-think your purely mechanical approach to the > hexagon > port. It seems to me that you should be doing much more during the > translation > phase so that you can minimize the number of helpers that you require.

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-07 Thread Richard Henderson
On 2/5/20 10:41 PM, Taylor Simpson wrote: > Currently, helpers can only take up to 6 arguments. This patch adds the > capability for up to 7 arguments. I have tested it with the Hexagon port > that I am preparing for submission. > > Signed-off-by: Taylor Simpson > --- > include/exec/helper-gen

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-07 Thread Taylor Simpson
> -Original Message- > From: Richard Henderson > Sent: Friday, February 7, 2020 2:53 AM > To: Taylor Simpson ; Richard Henderson > ; qemu-devel@nongnu.org > Cc: Paolo Bonzini > Subject: Re: [PATCH] Add support for a helper with 7 arguments > > On 2/7/20 4:

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-07 Thread Richard Henderson
On 2/7/20 4:46 AM, Taylor Simpson wrote: >> I think that we can do the store immediately -- I give specifics above. Do >> you >> have a counter-example? Admittedly I'm new to browsing the architecture, >> but I >> don't see a legal packet for which you can't just Store Now. > > You can have two

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-06 Thread Taylor Simpson
> -Original Message- > From: Richard Henderson > Sent: Thursday, February 6, 2020 6:28 PM > To: Taylor Simpson ; Richard Henderson > ; qemu-devel@nongnu.org > Cc: Paolo Bonzini > Subject: Re: [PATCH] Add support for a helper with 7 arguments > > On 2/6/20 5:

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-06 Thread Richard Henderson
On 2/6/20 5:52 PM, Taylor Simpson wrote: > > >> -Original Message- >> From: Richard Henderson On Behalf Of Richard >> Henderson >> Sent: Thursday, February 6, 2020 9:35 AM >> To: Taylor Simpson ; qemu-devel@nongnu.org >> Cc: Paolo Bonzini

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-06 Thread Taylor Simpson
> -Original Message- > From: Richard Henderson On Behalf Of Richard > Henderson > Sent: Thursday, February 6, 2020 9:35 AM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: Paolo Bonzini > Subject: Re: [PATCH] Add support for a helper with 7 arguments > > &

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-06 Thread Richard Henderson
On 2/6/20 2:03 PM, Taylor Simpson wrote: > Some of the more complex instructions need a lot of operands. Here's an > example > if (Pv4) memb(Rs32 + Ru32 << #u2) = Rt32 > This is a predicated store with 5 operands: > Pv4predicate > Rs32, Ru32, u2used to compute the effective address >

RE: [PATCH] Add support for a helper with 7 arguments

2020-02-06 Thread Taylor Simpson
half Of Richard > Henderson > Sent: Thursday, February 6, 2020 4:29 AM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: Paolo Bonzini > Subject: Re: [PATCH] Add support for a helper with 7 arguments > > -

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-06 Thread Richard Henderson
On 2/6/20 6:02 AM, Richard Henderson wrote: > On 2/5/20 10:41 PM, Taylor Simpson wrote: >> Currently, helpers can only take up to 6 arguments. This patch adds the >> capability for up to 7 arguments. I have tested it with the Hexagon port >> that I am preparing for submission. > > This is not sa

Re: [PATCH] Add support for a helper with 7 arguments

2020-02-05 Thread Richard Henderson
On 2/5/20 10:41 PM, Taylor Simpson wrote: > Currently, helpers can only take up to 6 arguments. This patch adds the > capability for up to 7 arguments. I have tested it with the Hexagon port > that I am preparing for submission. This is not safe, in general, without other changes. >From include

[PATCH] Add support for a helper with 7 arguments

2020-02-05 Thread Taylor Simpson
Currently, helpers can only take up to 6 arguments. This patch adds the capability for up to 7 arguments. I have tested it with the Hexagon port that I am preparing for submission. Signed-off-by: Taylor Simpson --- include/exec/helper-gen.h | 13 + include/exec/helper-head.h |