mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 18:05:37 +00:00
target-ppc: Altivec 2.07: Vector Min/Max Doubleword Instructions
This patch adds the Vector Minimum and Maximum Doubleword instructions that are introduced in Power ISA Version 2.07. Signed-off-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
e13500b3c3
commit
8203e31b54
|
@ -123,15 +123,19 @@ DEF_HELPER_3(vavgsw, void, avr, avr, avr)
|
|||
DEF_HELPER_3(vminsb, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vminsh, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vminsw, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vminsd, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxsb, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxsh, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxsw, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxsd, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vminub, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vminuh, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vminuw, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vminud, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxub, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxuh, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxuw, void, avr, avr, avr)
|
||||
DEF_HELPER_3(vmaxud, void, avr, avr, avr)
|
||||
DEF_HELPER_4(vcmpequb, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vcmpequh, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vcmpequw, void, env, avr, avr, avr)
|
||||
|
|
|
@ -824,9 +824,11 @@ void helper_vmhraddshs(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a,
|
|||
VMINMAX(sb, s8)
|
||||
VMINMAX(sh, s16)
|
||||
VMINMAX(sw, s32)
|
||||
VMINMAX(sd, s64)
|
||||
VMINMAX(ub, u8)
|
||||
VMINMAX(uh, u16)
|
||||
VMINMAX(uw, u32)
|
||||
VMINMAX(ud, u64)
|
||||
#undef VMINMAX_DO
|
||||
#undef VMINMAX
|
||||
|
||||
|
|
|
@ -6940,15 +6940,19 @@ GEN_VXFORM(vsubudm, 0, 19);
|
|||
GEN_VXFORM(vmaxub, 1, 0);
|
||||
GEN_VXFORM(vmaxuh, 1, 1);
|
||||
GEN_VXFORM(vmaxuw, 1, 2);
|
||||
GEN_VXFORM(vmaxud, 1, 3);
|
||||
GEN_VXFORM(vmaxsb, 1, 4);
|
||||
GEN_VXFORM(vmaxsh, 1, 5);
|
||||
GEN_VXFORM(vmaxsw, 1, 6);
|
||||
GEN_VXFORM(vmaxsd, 1, 7);
|
||||
GEN_VXFORM(vminub, 1, 8);
|
||||
GEN_VXFORM(vminuh, 1, 9);
|
||||
GEN_VXFORM(vminuw, 1, 10);
|
||||
GEN_VXFORM(vminud, 1, 11);
|
||||
GEN_VXFORM(vminsb, 1, 12);
|
||||
GEN_VXFORM(vminsh, 1, 13);
|
||||
GEN_VXFORM(vminsw, 1, 14);
|
||||
GEN_VXFORM(vminsd, 1, 15);
|
||||
GEN_VXFORM(vavgub, 1, 16);
|
||||
GEN_VXFORM(vavguh, 1, 17);
|
||||
GEN_VXFORM(vavguw, 1, 18);
|
||||
|
@ -10372,15 +10376,19 @@ GEN_VXFORM_207(vsubudm, 0, 19),
|
|||
GEN_VXFORM(vmaxub, 1, 0),
|
||||
GEN_VXFORM(vmaxuh, 1, 1),
|
||||
GEN_VXFORM(vmaxuw, 1, 2),
|
||||
GEN_VXFORM_207(vmaxud, 1, 3),
|
||||
GEN_VXFORM(vmaxsb, 1, 4),
|
||||
GEN_VXFORM(vmaxsh, 1, 5),
|
||||
GEN_VXFORM(vmaxsw, 1, 6),
|
||||
GEN_VXFORM_207(vmaxsd, 1, 7),
|
||||
GEN_VXFORM(vminub, 1, 8),
|
||||
GEN_VXFORM(vminuh, 1, 9),
|
||||
GEN_VXFORM(vminuw, 1, 10),
|
||||
GEN_VXFORM_207(vminud, 1, 11),
|
||||
GEN_VXFORM(vminsb, 1, 12),
|
||||
GEN_VXFORM(vminsh, 1, 13),
|
||||
GEN_VXFORM(vminsw, 1, 14),
|
||||
GEN_VXFORM_207(vminsd, 1, 15),
|
||||
GEN_VXFORM(vavgub, 1, 16),
|
||||
GEN_VXFORM(vavguh, 1, 17),
|
||||
GEN_VXFORM(vavguw, 1, 18),
|
||||
|
|
Loading…
Reference in a new issue