This series contains 14 new instructions for POWER9 described in ISA3.0. Patches: 01: Adds vector insert instructions. vinsertb - Vector Insert Byte vinserth - Vector Insert Halfword vinsertw - Vector Insert Word vinsertd - Vector Insert Doubleword 02: Adds vector extract instructions. vextractub - Vector Extract Unsigned Byte vextractuh - Vector Extract Unsigned Halfword vextractuw - Vector Extract Unsigned Word vextractd - Vector Extract Unsigned Doubleword 03: Adds vector count trailing zeros instructions. vctzb - Vector Count Trailing Zeros Byte vctzh - Vector Count Trailing Zeros Halfword vctzw - Vector Count Trailing Zeros Word vctzd - Vector Count Trailing Zeros Doubleword 04: Adds vbpermd-vector bit permute doubleword instruction. 05: Adds vpermr-vector permute right indexed instruction.
Changelog: v0: * Rename GEN_VXFORM_300_EXT1 to GEN_VXFORM_300_EO. * Rename GEN_VXFORM_DUAL1 to GEN_VXFORM_DUAL_INV. * Remove undef GEN_VXFORM_DUAL1. v1: * Correct SPLAT and handle src = dest for vinsert and vextract. * Correct typecast for vctz. * Computation of index rearranged for vpermr. * Assignment of perm moved out of inner loop in vbpermd. v2: * Check splat in transate code for vinsert and vextract. * Use memcpy for vinsert and vextract. * Handle src = dest for vbpermd. v3: * vinsert - Use memmove, Rename splat and use index with reference to u8. * vextract - Use memmove, Rename splat and use index with reference to u8. * vbpermd - Remove variable perm and use EXTRACT_BIT. v4: * vextract - Assign result register to zero. target-ppc/helper.h | 14 +++++ target-ppc/int_helper.c | 100 +++++++++++++++++++++++++++++++++++ target-ppc/translate.c | 2 + target-ppc/translate/vmx-impl.inc.c | 80 ++++++++++++++++++++++++++++ target-ppc/translate/vmx-ops.inc.c | 38 ++++++++++--- 5 files changed, 226 insertions(+), 8 deletions(-)