[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH] target/ppc: Remove xscmpnedp instruction
From: |
Greg Kurz |
Subject: |
Re: [RFC PATCH] target/ppc: Remove xscmpnedp instruction |
Date: |
Thu, 6 Jan 2022 14:02:01 +0100 |
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.
Acked-by: Greg Kurz <groug@kaod.org>
> 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),
> >
>