Bug 426123 - PPC ISA 3.1 support is missing, part 3
Summary: PPC ISA 3.1 support is missing, part 3
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-02 21:07 UTC by Carl Love
Modified: 2020-10-07 17:18 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
add isa 3.1 support for instructiions to guest_ppc_toIR.c (69.57 KB, patch)
2020-09-02 21:07 UTC, Carl Love
Details
Add 3.1 instruction test suite support (1.22 MB, patch)
2020-09-02 21:08 UTC, Carl Love
Details
add isa 3.1 support for instructiions to guest_ppc_toIR.c (69.36 KB, patch)
2020-09-24 15:12 UTC, Carl Love
Details
Add isa 3.1 instruction test suite support (1.22 MB, patch)
2020-09-24 15:13 UTC, Carl Love
Details
Add isa 3.1 instruction test suite support (1.22 MB, patch)
2020-10-06 19:42 UTC, Carl Love
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Carl Love 2020-09-02 21:07:21 UTC
Created attachment 131370 [details]
add isa 3.1 support for instructiions to guest_ppc_toIR.c

This patch contains the third set of patches for the PPC64 ISA 3.1 valgrind support.  The set only consists of one Valgrind and one testsuite patch as the are relatively large.  

The Valgrind patch adds support for the SIMD permute class instructions.
Comment 1 Carl Love 2020-09-02 21:08:44 UTC
Created attachment 131371 [details]
Add 3.1 instruction test suite support
Comment 2 Carl Love 2020-09-02 21:09:38 UTC
The previous set of patches is in  https://bugs.kde.org/show_bug.cgi?id=425232
Comment 3 Julian Seward 2020-09-18 07:40:01 UTC
(In reply to Carl Love from comment #1)
> Created attachment 131371 [details]
> Add 3.1 instruction test suite support

ok to land
Comment 4 Julian Seward 2020-09-18 07:40:23 UTC
(In reply to Carl Love from comment #0)
> Created attachment 131370 [details]
> add isa 3.1 support for instructiions to guest_ppc_toIR.c

ok to land
Comment 5 Carl Love 2020-09-24 15:12:00 UTC
Created attachment 131912 [details]
add isa 3.1 support for instructiions to guest_ppc_toIR.c
Comment 6 Carl Love 2020-09-24 15:13:53 UTC
Created attachment 131913 [details]
Add isa 3.1 instruction test suite support
Comment 7 Carl Love 2020-09-24 15:16:53 UTC
Updated the valgrind support and testsuite patches to be consistent with upstream and set 2 changes.  These patches apply cleanly on top of set 2 patches.  The patches have been retested on Power 9 LE and Power 8 BE with no issues.
Comment 8 Carl Love 2020-10-06 19:42:24 UTC
Created attachment 132165 [details]
Add isa 3.1 instruction test suite support

Updating the patch to be consistent with the changes to the testsuite patches in set 1.
Comment 9 Carl Love 2020-10-06 19:52:25 UTC
Patches for part 4 of the ISA 3.1 support are in https://bugs.kde.org/show_bug.cgi?id=427400
Comment 10 Carl Love 2020-10-07 17:18:50 UTC
Patches committed

commit ef76075436a539cc5e71e0113858f2b7849b9ffc (HEAD -> master, origin/master, origin/HEAD)
Author: Carl Love <cel@us.ibm.com>
Date:   Tue Oct 6 11:57:00 2020 -0500

    SIMD Permute-Class operations powerpc tests

commit 349102dcc790ac2adc88a6b23ee6b371187a2cf0
Author: Carl Love <cel@us.ibm.com>
Date:   Wed May 13 15:29:51 2020 -0500

    ISA 3.1 SIMD Permute-Class Operations
    
    Add support for:
    
    vxvkq Load VSX Vector Special Value Quadword
    vextddvlx Vector Extract Double Dword to VSR Left-Indexed
    vextddvrx Vector Extract Double Dword to VSR Right-Indexed
    vextdubvlx Vector Extract Double Unsigned Byte to VR Left-Indexed
    vextdubvrx Vector Extract Double Unsigned Byte to VR Right-Indexed
    vextduhvlx Vector Extract Double Unsigned Hword to VR Left-Indexed
    vextduhvrx Vector Extract Double Unsigned Hword to VR Right-Indexed
    vextduwvlx Vector Extract Double Unsigned Word to VR Left-Indexed
    vextduwvrx Vector Extract Double Unsigned Word to VR Right-Indexed
    vinsblx Vector Insert Byte from GPR Left-Indexed
    vinsbrx Vector Insert Byte from GPR Right-Indexed
    vinsbvlx Vector Insert Byte from VSR Left-Indexed
    vinsbvrx Vector Insert Byte from VSR Right-Indexed
    vinsd Vector Insert Dword from GPR
    vinsdlx Vector Insert Dword from GPR Left-Indexed
    vinsdrx Vector Insert Dword from GPR Right-Indexed
    vinshlx Vector Insert Hword from GPR Left-Indexed
    vinshrx Vector Insert Hword from GPR Right-Indexed
    vinshvlx Vector Insert Hword from VSR Left-Indexed
    vinshvrx Vector Insert Hword from VSR Right-Indexed
    vinsw Vector Insert Word from GPR
    vinswlx Vector Insert Word from GPR Left-Indexed
    vinswrx Vector Insert Word from GPR Right-Indexed
    vinswvlx Vector Insert Word from VSR Left-Indexed
    vinswvrx Vector Insert Word from VSR Right-Indexed
    vsldbi Vector Shift Left Double by Bit Immediate
    vsrdbi Vector Shift Right Double by Bit Immediate
    xxblendvb VSX Vector Blend Variable Byte
    xxblendvd VSX Vector Blend Variable Dword
    xxblendvh VSX Vector Blend Variable Hword
    xxblendvw VSX Vector Blend Variable Word
    xxpermx VSX Vector Permute Extended
    xxsplti32dx VSX Vector Splat Immediate32 Dword Indexed
    xxspltidp VSX Vector Splat Immediate DP
    xxspltiw VSX Vector Splat Immediate Word