Bug 407340 - PPC64, does not support the vlogefp, vexptefp instructions
Summary: PPC64, does not support the vlogefp, vexptefp instructions
Status: CLOSED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: 3.15 SVN
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-08 17:07 UTC by Carl Love
Modified: 2019-05-28 19:47 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
add support for vlogefp, vexptefp instructions (37.38 KB, patch)
2019-05-08 17:12 UTC, Carl Love
Details
updated patch per changes to previous dnormal patch (6.60 KB, patch)
2019-05-15 21:36 UTC, Carl Love
Details
separate test case patch (30.57 KB, patch)
2019-05-15 21:37 UTC, Carl Love
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Carl Love 2019-05-08 17:07:21 UTC
SUMMARY


STEPS TO REPRODUCE
1. 
2. 
3. 

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Carl Love 2019-05-08 17:12:15 UTC
Created attachment 119919 [details]
add support for vlogefp, vexptefp instructions

Currently, valgrind recognizes the vlogefp, vexptefp instructions but errors out on them as they are not actually supported.  

The attached patch adds the needed support

Julian, please review the patch as it adds a new Iop to file VEX/pub/libvex_ir.h

+      /* Vector floating-point exponential 2^x */                                     
+      Iop_Exp2_32Fx4,       

Please let me know if the name of the new Iop is OK.  The Iop is calculates the value 2 raised to the X for each of the 32-bit words in the vector.

Please let me know if you see any other issues with the patch as well.  Thanks.
Comment 2 Carl Love 2019-05-15 21:36:34 UTC
Created attachment 120092 [details]
updated patch per changes to previous dnormal patch

The patch to add support for the vlogefp and vexptefp instructions is dependent on the dnormal patch.  The patch was also split into a VEX patch and a test case patch
Comment 3 Carl Love 2019-05-15 21:37:21 UTC
Created attachment 120093 [details]
separate test case patch

The test case changes were split into a separate patch
Comment 4 Julian Seward 2019-05-27 12:14:37 UTC
Hi Carl,

These all look fine, as does the name of the new IROp.  Please land.
Comment 5 Carl Love 2019-05-28 19:47:02 UTC
VEX and test case patches committed.

commit 31b3a755a93daaacbb993ffd80fb0780cc76464d
Author: Carl Love <carll@us.ibm.com>
Date:   Tue May 28 14:03:59 2019 -0500

    PPC64, Update testcases for vlogefp, vexptefp instructions
    
    https://bugs.kde.org/show_bug.cgi?id=407340

commit 3a345d9f8e8e98ee74f2c66f69ab51220cd18d47
Author: Carl Love <carll@us.ibm.com>
Date:   Tue May 28 14:07:04 2019 -0500

    PPC64, Add support for vlogefp, vexptefp instructions
    
    Add Iop_Exp2_32Fx4 to VEX/pub/libvex_ir.h to support the 2^x instruction.
    
    Enable the existing test support for the two instructions in
    none/tests/ppc64/subnormal_test.c and none/tests/ppc64/jm-insns.c.
    
    https://bugs.kde.org/show_bug.cgi?id=407340

Closing bug