target/ppc: move resolve_PLS_D to translate.c
Move resolve_PLS_D from fixedpoint-impl.c.inc to translate.c because this way the function can be used not only by fixed point instructions. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Fernando Eckhardt Valle <phervalle@gmail.com> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> Message-Id: <20211029202424.175401-3-matheus.ferst@eldorado.org.br> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
eb63efd9f6
commit
725b2d4dac
@ -7502,6 +7502,25 @@ static int times_4(DisasContext *ctx, int x)
|
||||
#include "decode-insn64.c.inc"
|
||||
#include "power8-pmu-regs.c.inc"
|
||||
|
||||
/*
|
||||
* Incorporate CIA into the constant when R=1.
|
||||
* Validate that when R=1, RA=0.
|
||||
*/
|
||||
static bool resolve_PLS_D(DisasContext *ctx, arg_D *d, arg_PLS_D *a)
|
||||
{
|
||||
d->rt = a->rt;
|
||||
d->ra = a->ra;
|
||||
d->si = a->si;
|
||||
if (a->r) {
|
||||
if (unlikely(a->ra != 0)) {
|
||||
gen_invalid(ctx);
|
||||
return false;
|
||||
}
|
||||
d->si += ctx->cia;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#include "translate/fixedpoint-impl.c.inc"
|
||||
|
||||
#include "translate/fp-impl.c.inc"
|
||||
|
@ -17,25 +17,6 @@
|
||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Incorporate CIA into the constant when R=1.
|
||||
* Validate that when R=1, RA=0.
|
||||
*/
|
||||
static bool resolve_PLS_D(DisasContext *ctx, arg_D *d, arg_PLS_D *a)
|
||||
{
|
||||
d->rt = a->rt;
|
||||
d->ra = a->ra;
|
||||
d->si = a->si;
|
||||
if (a->r) {
|
||||
if (unlikely(a->ra != 0)) {
|
||||
gen_invalid(ctx);
|
||||
return false;
|
||||
}
|
||||
d->si += ctx->cia;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fixed-Point Load/Store Instructions
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user