mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
target/ppc: Implement xs{max,min}cqp
Signed-off-by: Víctor Colombo <victor.colombo@eldorado.org.br> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> Message-Id: <20220225210936.1749575-46-matheus.ferst@eldorado.org.br> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
da499405aa
commit
7b8d6e3e79
4 changed files with 9 additions and 0 deletions
|
@ -2560,6 +2560,8 @@ void helper_##name(CPUPPCState *env, \
|
||||||
|
|
||||||
VSX_MAX_MINC(XSMAXCDP, true, float64, VsrD(0));
|
VSX_MAX_MINC(XSMAXCDP, true, float64, VsrD(0));
|
||||||
VSX_MAX_MINC(XSMINCDP, false, float64, VsrD(0));
|
VSX_MAX_MINC(XSMINCDP, false, float64, VsrD(0));
|
||||||
|
VSX_MAX_MINC(XSMAXCQP, true, float128, f128);
|
||||||
|
VSX_MAX_MINC(XSMINCQP, false, float128, f128);
|
||||||
|
|
||||||
#define VSX_MAX_MINJ(name, max) \
|
#define VSX_MAX_MINJ(name, max) \
|
||||||
void helper_##name(CPUPPCState *env, \
|
void helper_##name(CPUPPCState *env, \
|
||||||
|
|
|
@ -377,6 +377,8 @@ DEF_HELPER_4(XSMAXCDP, void, env, vsr, vsr, vsr)
|
||||||
DEF_HELPER_4(XSMINCDP, void, env, vsr, vsr, vsr)
|
DEF_HELPER_4(XSMINCDP, void, env, vsr, vsr, vsr)
|
||||||
DEF_HELPER_4(XSMAXJDP, void, env, vsr, vsr, vsr)
|
DEF_HELPER_4(XSMAXJDP, void, env, vsr, vsr, vsr)
|
||||||
DEF_HELPER_4(XSMINJDP, void, env, vsr, vsr, vsr)
|
DEF_HELPER_4(XSMINJDP, void, env, vsr, vsr, vsr)
|
||||||
|
DEF_HELPER_4(XSMAXCQP, void, env, vsr, vsr, vsr)
|
||||||
|
DEF_HELPER_4(XSMINCQP, void, env, vsr, vsr, vsr)
|
||||||
DEF_HELPER_3(xscvdphp, void, env, vsr, vsr)
|
DEF_HELPER_3(xscvdphp, void, env, vsr, vsr)
|
||||||
DEF_HELPER_4(xscvdpqp, void, env, i32, vsr, vsr)
|
DEF_HELPER_4(xscvdpqp, void, env, i32, vsr, vsr)
|
||||||
DEF_HELPER_3(xscvdpsp, void, env, vsr, vsr)
|
DEF_HELPER_3(xscvdpsp, void, env, vsr, vsr)
|
||||||
|
|
|
@ -664,6 +664,9 @@ XSMAXCDP 111100 ..... ..... ..... 10000000 ... @XX3
|
||||||
XSMINCDP 111100 ..... ..... ..... 10001000 ... @XX3
|
XSMINCDP 111100 ..... ..... ..... 10001000 ... @XX3
|
||||||
XSMAXJDP 111100 ..... ..... ..... 10010000 ... @XX3
|
XSMAXJDP 111100 ..... ..... ..... 10010000 ... @XX3
|
||||||
XSMINJDP 111100 ..... ..... ..... 10011000 ... @XX3
|
XSMINJDP 111100 ..... ..... ..... 10011000 ... @XX3
|
||||||
|
XSMAXCQP 111111 ..... ..... ..... 1010100100 - @X
|
||||||
|
XSMINCQP 111111 ..... ..... ..... 1011100100 - @X
|
||||||
|
|
||||||
XSCMPEQDP 111100 ..... ..... ..... 00000011 ... @XX3
|
XSCMPEQDP 111100 ..... ..... ..... 00000011 ... @XX3
|
||||||
XSCMPGEDP 111100 ..... ..... ..... 00010011 ... @XX3
|
XSCMPGEDP 111100 ..... ..... ..... 00010011 ... @XX3
|
||||||
XSCMPGTDP 111100 ..... ..... ..... 00001011 ... @XX3
|
XSCMPGTDP 111100 ..... ..... ..... 00001011 ... @XX3
|
||||||
|
|
|
@ -2645,6 +2645,8 @@ static bool do_xscmpqp(DisasContext *ctx, arg_X *a,
|
||||||
TRANS(XSCMPEQQP, do_xscmpqp, gen_helper_XSCMPEQQP)
|
TRANS(XSCMPEQQP, do_xscmpqp, gen_helper_XSCMPEQQP)
|
||||||
TRANS(XSCMPGEQP, do_xscmpqp, gen_helper_XSCMPGEQP)
|
TRANS(XSCMPGEQP, do_xscmpqp, gen_helper_XSCMPGEQP)
|
||||||
TRANS(XSCMPGTQP, do_xscmpqp, gen_helper_XSCMPGTQP)
|
TRANS(XSCMPGTQP, do_xscmpqp, gen_helper_XSCMPGTQP)
|
||||||
|
TRANS(XSMAXCQP, do_xscmpqp, gen_helper_XSMAXCQP)
|
||||||
|
TRANS(XSMINCQP, do_xscmpqp, gen_helper_XSMINCQP)
|
||||||
|
|
||||||
#undef GEN_XX2FORM
|
#undef GEN_XX2FORM
|
||||||
#undef GEN_XX3FORM
|
#undef GEN_XX3FORM
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue