qemu-ppc
[Top][All Lists]
Advanced

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

Re: [RFC PATCH] target/ppc: Remove xscmpnedp instruction


From: David Gibson
Subject: Re: [RFC PATCH] target/ppc: Remove xscmpnedp instruction
Date: Fri, 7 Jan 2022 12:06:18 +1100

On Thu, Jan 06, 2022 at 02:02:01PM +0100, Greg Kurz wrote:
> On Thu, 6 Jan 2022 13:21:46 +0100
> Cédric Le Goater <clg@kaod.org> wrote:
> 
> > On 1/6/22 12:23, Víctor Colombo wrote:
> > > xscmpnedp was added in ISA v3.0 but removed in v3.0B. This patch
> > > removes this instruction as it was not in the final version of v3.0.
> > > 
> > > RFC to know if you think this is the correct approach.
> > 
> > Usually we deprecate a feature for a minimum of two releases before
> > removing it. It might be overkill for this case since the P9 processor
> > implementation is based on v3.0B.
> > 
> > I would simply remove the instruction since it never existed on any
> > supported HW. I will wait for some more feedback.
> > 
> 
> I don't think it makes sense to keep this instruction if it only
> existed in pre-GA HW.

I agree.  If we have a vistigial POWER9 DD1 in the cpu table we should
probably remove that anyway.

> Acked-by: Greg Kurz <groug@kaod.org>

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>

> 
> > Reviewed-by: Cédric Le Goater <clg@kaod.org>
> > 
> > Thanks,
> > 
> > C.
> > 
> > 
> > > Signed-off-by: Víctor Colombo <victor.colombo@eldorado.org.br>
> > > ---
> > >   target/ppc/fpu_helper.c             | 1 -
> > >   target/ppc/helper.h                 | 1 -
> > >   target/ppc/translate/vsx-impl.c.inc | 1 -
> > >   target/ppc/translate/vsx-ops.c.inc  | 1 -
> > >   4 files changed, 4 deletions(-)
> > > 
> > > diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c
> > > index e5c29b53b8..f030858cf9 100644
> > > --- a/target/ppc/fpu_helper.c
> > > +++ b/target/ppc/fpu_helper.c
> > > @@ -2270,7 +2270,6 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt,   
> > >                           \
> > >   VSX_SCALAR_CMP_DP(xscmpeqdp, eq, 1, 0)
> > >   VSX_SCALAR_CMP_DP(xscmpgedp, le, 1, 1)
> > >   VSX_SCALAR_CMP_DP(xscmpgtdp, lt, 1, 1)
> > > -VSX_SCALAR_CMP_DP(xscmpnedp, eq, 0, 0)
> > >   
> > >   void helper_xscmpexpdp(CPUPPCState *env, uint32_t opcode,
> > >                          ppc_vsr_t *xa, ppc_vsr_t *xb)
> > > diff --git a/target/ppc/helper.h b/target/ppc/helper.h
> > > index f9c72dcd50..8f02cabaf5 100644
> > > --- a/target/ppc/helper.h
> > > +++ b/target/ppc/helper.h
> > > @@ -400,7 +400,6 @@ DEF_HELPER_5(xsnmsubdp, void, env, vsr, vsr, vsr, vsr)
> > >   DEF_HELPER_4(xscmpeqdp, void, env, vsr, vsr, vsr)
> > >   DEF_HELPER_4(xscmpgtdp, void, env, vsr, vsr, vsr)
> > >   DEF_HELPER_4(xscmpgedp, void, env, vsr, vsr, vsr)
> > > -DEF_HELPER_4(xscmpnedp, void, env, vsr, vsr, vsr)
> > >   DEF_HELPER_4(xscmpexpdp, void, env, i32, vsr, vsr)
> > >   DEF_HELPER_4(xscmpexpqp, void, env, i32, vsr, vsr)
> > >   DEF_HELPER_4(xscmpodp, void, env, i32, vsr, vsr)
> > > diff --git a/target/ppc/translate/vsx-impl.c.inc 
> > > b/target/ppc/translate/vsx-impl.c.inc
> > > index c08185e857..fbef496257 100644
> > > --- a/target/ppc/translate/vsx-impl.c.inc
> > > +++ b/target/ppc/translate/vsx-impl.c.inc
> > > @@ -1092,7 +1092,6 @@ GEN_VSX_HELPER_X1(xstsqrtdp, 0x14, 0x06, 0, 
> > > PPC2_VSX)
> > >   GEN_VSX_HELPER_X3(xscmpeqdp, 0x0C, 0x00, 0, PPC2_ISA300)
> > >   GEN_VSX_HELPER_X3(xscmpgtdp, 0x0C, 0x01, 0, PPC2_ISA300)
> > >   GEN_VSX_HELPER_X3(xscmpgedp, 0x0C, 0x02, 0, PPC2_ISA300)
> > > -GEN_VSX_HELPER_X3(xscmpnedp, 0x0C, 0x03, 0, PPC2_ISA300)
> > >   GEN_VSX_HELPER_X2_AB(xscmpexpdp, 0x0C, 0x07, 0, PPC2_ISA300)
> > >   GEN_VSX_HELPER_R2_AB(xscmpexpqp, 0x04, 0x05, 0, PPC2_ISA300)
> > >   GEN_VSX_HELPER_X2_AB(xscmpodp, 0x0C, 0x05, 0, PPC2_VSX)
> > > diff --git a/target/ppc/translate/vsx-ops.c.inc 
> > > b/target/ppc/translate/vsx-ops.c.inc
> > > index c974324c4c..67fa7b2e41 100644
> > > --- a/target/ppc/translate/vsx-ops.c.inc
> > > +++ b/target/ppc/translate/vsx-ops.c.inc
> > > @@ -197,7 +197,6 @@ GEN_XX3FORM_NAME(xsnmsubdp, "xsnmsubmdp", 0x04, 0x17, 
> > > PPC2_VSX),
> > >   GEN_XX3FORM(xscmpeqdp, 0x0C, 0x00, PPC2_ISA300),
> > >   GEN_XX3FORM(xscmpgtdp, 0x0C, 0x01, PPC2_ISA300),
> > >   GEN_XX3FORM(xscmpgedp, 0x0C, 0x02, PPC2_ISA300),
> > > -GEN_XX3FORM(xscmpnedp, 0x0C, 0x03, PPC2_ISA300),
> > >   GEN_XX3FORM(xscmpexpdp, 0x0C, 0x07, PPC2_ISA300),
> > >   GEN_VSX_XFORM_300(xscmpexpqp, 0x04, 0x05, 0x00600001),
> > >   GEN_XX2IFORM(xscmpodp,  0x0C, 0x05, PPC2_VSX),
> > > 
> > 
> 

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

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