mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 12:09:58 +00:00
target-ppc: Altivec 2.07: Pack Doubleword Instructions
This patch adds the Vector Pack Doubleword instructions introduced in Power ISA Version 2.07: - Vector Pack Signed Doubleword Signed Saturate (vpksdss) - Vector Pack Signed Doubleword Unsigned Saturate (vpksdus) - Vector Pack Unsigned Doubleword Unsigned Modulo (vpkudum) - Vector Pack Unsigned Doubleword Unsigned Saturate (vpkudus) Signed-off-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
8203e31b54
commit
024215b242
@ -234,10 +234,14 @@ DEF_HELPER_4(vpkshss, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkshus, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkswss, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkswus, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpksdss, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpksdus, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkuhus, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkuwus, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkudus, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkuhum, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkuwum, void, env, avr, avr, avr)
|
||||
DEF_HELPER_4(vpkudum, void, env, avr, avr, avr)
|
||||
DEF_HELPER_3(vpkpx, void, avr, avr, avr)
|
||||
DEF_HELPER_5(vmhaddshs, void, env, avr, avr, avr, avr)
|
||||
DEF_HELPER_5(vmhraddshs, void, env, avr, avr, avr, avr)
|
||||
|
@ -1089,10 +1089,14 @@ VPK(shss, s16, s8, cvtshsb, 1)
|
||||
VPK(shus, s16, u8, cvtshub, 1)
|
||||
VPK(swss, s32, s16, cvtswsh, 1)
|
||||
VPK(swus, s32, u16, cvtswuh, 1)
|
||||
VPK(sdss, s64, s32, cvtsdsw, 1)
|
||||
VPK(sdus, s64, u32, cvtsduw, 1)
|
||||
VPK(uhus, u16, u8, cvtuhub, 1)
|
||||
VPK(uwus, u32, u16, cvtuwuh, 1)
|
||||
VPK(udus, u64, u32, cvtuduw, 1)
|
||||
VPK(uhum, u16, u8, I, 0)
|
||||
VPK(uwum, u32, u16, I, 0)
|
||||
VPK(udum, u64, u32, I, 0)
|
||||
#undef I
|
||||
#undef VPK
|
||||
#undef PKBIG
|
||||
|
@ -7012,12 +7012,16 @@ GEN_VXFORM(vsl, 2, 7);
|
||||
GEN_VXFORM(vsr, 2, 11);
|
||||
GEN_VXFORM_ENV(vpkuhum, 7, 0);
|
||||
GEN_VXFORM_ENV(vpkuwum, 7, 1);
|
||||
GEN_VXFORM_ENV(vpkudum, 7, 17);
|
||||
GEN_VXFORM_ENV(vpkuhus, 7, 2);
|
||||
GEN_VXFORM_ENV(vpkuwus, 7, 3);
|
||||
GEN_VXFORM_ENV(vpkudus, 7, 19);
|
||||
GEN_VXFORM_ENV(vpkshus, 7, 4);
|
||||
GEN_VXFORM_ENV(vpkswus, 7, 5);
|
||||
GEN_VXFORM_ENV(vpksdus, 7, 21);
|
||||
GEN_VXFORM_ENV(vpkshss, 7, 6);
|
||||
GEN_VXFORM_ENV(vpkswss, 7, 7);
|
||||
GEN_VXFORM_ENV(vpksdss, 7, 23);
|
||||
GEN_VXFORM(vpkpx, 7, 12);
|
||||
GEN_VXFORM_ENV(vsum4ubs, 4, 24);
|
||||
GEN_VXFORM_ENV(vsum4sbs, 4, 28);
|
||||
@ -10445,12 +10449,16 @@ GEN_VXFORM(vsl, 2, 7),
|
||||
GEN_VXFORM(vsr, 2, 11),
|
||||
GEN_VXFORM(vpkuhum, 7, 0),
|
||||
GEN_VXFORM(vpkuwum, 7, 1),
|
||||
GEN_VXFORM_207(vpkudum, 7, 17),
|
||||
GEN_VXFORM(vpkuhus, 7, 2),
|
||||
GEN_VXFORM(vpkuwus, 7, 3),
|
||||
GEN_VXFORM_207(vpkudus, 7, 19),
|
||||
GEN_VXFORM(vpkshus, 7, 4),
|
||||
GEN_VXFORM(vpkswus, 7, 5),
|
||||
GEN_VXFORM_207(vpksdus, 7, 21),
|
||||
GEN_VXFORM(vpkshss, 7, 6),
|
||||
GEN_VXFORM(vpkswss, 7, 7),
|
||||
GEN_VXFORM_207(vpksdss, 7, 23),
|
||||
GEN_VXFORM(vpkpx, 7, 12),
|
||||
GEN_VXFORM(vsum4ubs, 4, 24),
|
||||
GEN_VXFORM(vsum4sbs, 4, 28),
|
||||
|
Loading…
Reference in New Issue
Block a user