target/ppc: Fix xxspltib
xxspltib raises a VMX or a VSX exception depending on the register set it is operating on. We had a check, but it was backwards. Fixes: f113283525a4 ("target-ppc: add xxspltib instruction") Signed-off-by: Anton Blanchard <anton@ozlabs.org> Message-Id: <20190509061713.69490488@kryten> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
7fa0ddc1d6
commit
4c406ca734
@ -1355,13 +1355,13 @@ static void gen_xxspltib(DisasContext *ctx)
|
|||||||
int rt = xT(ctx->opcode);
|
int rt = xT(ctx->opcode);
|
||||||
|
|
||||||
if (rt < 32) {
|
if (rt < 32) {
|
||||||
if (unlikely(!ctx->altivec_enabled)) {
|
if (unlikely(!ctx->vsx_enabled)) {
|
||||||
gen_exception(ctx, POWERPC_EXCP_VPU);
|
gen_exception(ctx, POWERPC_EXCP_VSXU);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (unlikely(!ctx->vsx_enabled)) {
|
if (unlikely(!ctx->altivec_enabled)) {
|
||||||
gen_exception(ctx, POWERPC_EXCP_VSXU);
|
gen_exception(ctx, POWERPC_EXCP_VPU);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user