[valgrind] [Bug 371128] BCD add and subtract instructions on Power BE in 32-bit mode do not work.

2016-10-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=371128

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 371128] BCD add and subtract instructions on Power BE in 32-bit mode do not work.

2016-10-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=371128

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Carl Love  ---
The source tree was pulled down into clean directories on my Power 7 and Power
8 BE machines and retested.  I checked the files to make sure the changes were
there.  Everything looks good.  Closing the bug as fixed.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 371128] BCD add and subtract instructions on Power BE in 32-bit mode do not work.

2016-10-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=371128

--- Comment #1 from Carl Love  ---
Created attachment 101625
  --> https://bugs.kde.org/attachment.cgi?id=101625=edit
Fix for bcd add subtract instruction on BE in 32-bit mode

The patch has been added to the bugzilla.
The patch was committed upstream,  Vex commit 3271,  Valgrind commit 16072

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 371128] New: BCD add and subtract instructions on Power BE in 32-bit mode do not work.

2016-10-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=371128

Bug ID: 371128
   Summary: BCD add and subtract instructions on Power BE in
32-bit mode do not work.
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

The bcd add and subtract instructions on BE when running in 32-bit mode do not
work due to the use of 64-bit compares.  The 64-bit compare Iops are not
supported in 32-bit mode.  The compares fortunately were for hex values.  So
the 64-bit compares were changed to 32 bit compares with the appropriate
changes to the type of the constants being compared.  Secondly, the clean
helper call was not supported in 32-bit mode.  Note, 32-bit mode is not
supported for little endian mode so this is only an issue for big endian mode.

Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-11 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #7 from Carl Love  ---
Reclosing as the issue

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-11 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

--- Comment #5 from Carl Love  ---
The changes as proposed by Mark above were made.  They were tested on Power 7,
Power 8 BE and LE.  The changes have been committed.

Valgrind commit 16037.

Mark please take a look at the changes upstream and let me know if it all looks
OK to you.  Thanks for catching this.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-11 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

Carl Love  changed:

   What|Removed |Added

 Status|CLOSED  |REOPENED
 Resolution|FIXED   |---

--- Comment #4 from Carl Love  ---
Mark, yup that is a failure.  I went back and double checked my regression test
runs before I did the commit and I did miss the introduction of the vbit test
failure.  Note, the nightly regression tests from last night also report the
new vbit tester error.  I have reopened the bug and am testing your proposed
changes.  Thanks for catching this.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-10 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-10-10 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-10 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|CONFIRMED   |RESOLVED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-10 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

--- Comment #2 from Carl Love  ---
Configure patch committed in  Valgrind commit 16034
NEWS file updated in Valgrind commit 16035.  Noted the bugzilla listed in
commit 16034 was supposed to say bugzilla 370265 not 369175.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-10-10 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|CONFIRMED   |RESOLVED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-10-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #35 from Carl Love  ---
testsuite fix to give more unique values.

In testing issues with the new ISA 3.0 instructions in BE mode, it was
found that we needed some more unique values in the operands to catch
various errors.  The issue is a sigle 32-bit value was replicated four
times for a V128 operand.  The result is testing loads and stores where
the word or half word order was swizzled couln't be detected because
they were the same.  By making the 32-bit chunks unique we were able
to catch additional errors.

The initialize_buffer() function in none/tests/ppc64/ppc64_helpers.h was 
changed to ensure we got more unique values.  The result is the ISA 3.0
expected
output files changed.  The expect files were for LE.  The expect files were
updated for the BE results and the LE result file was added with the "-LE"
on the end of the file name per convention.  The patch is large so I did not
attach it
to the bug.

Committed in Valgrind commit 16032

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-10-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #34 from Carl Love  ---
ISA 3.0 BE fixes for various new instructions patch committed   VEX commit 3260

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-10-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #33 from Carl Love  ---
Created attachment 101482
  --> https://bugs.kde.org/attachment.cgi?id=101482=edit
ISA 3.0 BE fixes for various new instructions

This is an additional commit to fix issues found with the 
new Power ISA 3.0 instructions for BE mode.  The instructions
fixed in this patch include: lxvl, lxvx, lxvwsx, lxvh8x, lxvh16x,
stxvx, stxvh8x, stxvh16x, lxsibzx, lxsihzx, xscvqpdp, xscvqpdp0,
xvcvsphp.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

Carl Love  changed:

   What|Removed |Added

 CC||will_schm...@vnet.ibm.com
 Ever confirmed|0   |1
 Status|UNCONFIRMED |CONFIRMED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] ISA 3.0 HW cap stuff needs updating

2016-10-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

--- Comment #1 from Carl Love  ---
Created attachment 101480
  --> https://bugs.kde.org/attachment.cgi?id=101480=edit
hardware cap update

Patch submitted by Will Schmidt.  Patch applies cleanly, patch is being tested.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 370265] New: ISA 3.0 HW cap stuff needs updating

2016-10-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=370265

Bug ID: 370265
   Summary: ISA 3.0 HW cap stuff needs updating
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

The ISA 3.0 hw cap info variables were listed as ISA_3_0, should be ISA_3_00. 
Also the configure file is missing the needed line:

+AC_HWCAP_CONTAINS_FLAG([arch_3_00],[HWCAP_HAS_ISA_3_00]


Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-10-03 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #32 from Carl Love  ---
Patch to fix missing fnptr_to_fnentry() wrapper funion calls for clean and
dirty helpers was committed,  VEX commit  3251.

The BE fixes for the function FPU_rounding_mode_isOdd(), stxvl and stxvx
instructions was committed, VEX commit 3252

Patch for the load and store instructions in BE mode is still pending.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-09-30 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #31 from Carl Love  ---
Created attachment 101364
  --> https://bugs.kde.org/attachment.cgi?id=101364=edit
Some BE fixes

The BE simulator runs found a few more issues that cause Valgrind to fail. 
These are minor things that were easy to fix.  The attached patch addresses
these issues.


The BE testing has also detected that some of the load and store instructions
are not loading the data in the expected BE order.  Working on a patch for
these instructions.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-09-28 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #29 from Carl Love  ---
Created attachment 101332
  --> https://bugs.kde.org/attachment.cgi?id=101332=edit
Patch to fix missing fnptr_to_fnentry() wrapper function calls for clean and
dirty helpers

The attached patch fixes the missing fnptr_to_fnentry() calls for the clean and
dirty calls.  

This patch is based on patch 101296 by Mark Wielaard but with the
fnptr_to_fentry() call added to all of the other clean and dirty handlers where
it was missing.  Note, the order of the arguments in the function calls was
also changed but that is just a "cosmetic" change

The fnptr_to_fnentry() fix was tested and verified on a Power 7 (Big endian)
system by applying patch 101299.  The patch basically allows us to test the
control flow for the bcdadd and bcdsub instructions without actually generating
the bcdadd or bcdsub instructions on a Power 7.  Instead of the bcdadd and
bcdsub instructions being generated, the vand instruction which is supported by
Power 7 is generated.  With patch 101299,  the bug in the clean helper was
verified on a big endian system.  Then when the fnptr_to_fentry() fix (patch
101296) was applied the clean helper executes correctly.

The full regtest suite has been run with the attached patch applied to the
current upstream code base on a Power 8 Big endian and Power 8 Little endian
systems.  The regtest suite on the patched upstream code has been tested and
verified on an ISA 3.0 Little endian simulator.  The ISA 3.0 Big endian test is
currently still running.  Unfortunately, building Valgrind from scratch and
running the regtest literally takes all day.  

Please review the patch and let me know if you see any issues.  If everyone
approves the patch and the ISA 3.0 Big endian test passes, I will commit the
fix.  The fix will need to get staged for the upcoming Valgrind release.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-09-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #28 from Carl Love  ---
Posted a patch to replace the bcdadd instruction generation in Valgrind with
vand.  This patch allows us to run a bcd add test on a power 7 (big endian)
machine to test the ISA 3.0 code that calls is_BCDstring128() function to see
if the function pointer stuff for clean helpers is broken on the older big
endian machines.   

Also posted the compiled bcd_test.c test program.  I ran the patch and binary
bcd_test program on a Power 7.  It does appear to segfault the same as we are
seeing on Power 8 BE.  Note, this was done WITH OUT Mark's patch applied.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-09-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #27 from Carl Love  ---
Created attachment 101300
  --> https://bugs.kde.org/attachment.cgi?id=101300=edit
binary for bcd_add.c test

Binary for the bcd_test.c program.  Runs under valgrind on Power 7 with the
valgrind bcdadd patch previously posted.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-09-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #26 from Carl Love  ---
Created attachment 101299
  --> https://bugs.kde.org/attachment.cgi?id=101299=edit
patch, replace isa2_07 bcdadd/bcdsub with isa2_06 vand inst to we can run
bcdadd test on Power 7

Replace bcdadd, bcdsub with vand so we can run bcdadd test on
 a power 7 to test the clean helper issue.

Ignore compiler warnings about unused variables.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-09-23 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

--- Comment #14 from Carl Love  ---
Created attachment 101245
  --> https://bugs.kde.org/attachment.cgi?id=101245=edit
simple test program

The attachment is a stripped down test for the bcdadd instruction.  It was
pulled out of the jm_vec_isa_2_07 test.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64

2016-09-22 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369175

Carl Love  changed:

   What|Removed |Added

 CC||c...@us.ibm.com,
   ||will_schm...@vnet.ibm.com
 Ever confirmed|0   |1
 Status|UNCONFIRMED |CONFIRMED

--- Comment #2 from Carl Love  ---
I have some what isolated where the issue when running on Power 7 BE (issue
does not occur on LE) is but at this point could use some help getting to the
root cause.  

in VEX/priv/guest_ppc_toIR.c in the function dis_av_bcd() there is a case
statement that handles the bcdadd and bcdsub instructions.  Once the result of
the operation is completed, we have to compute some values to set the CR field
6.  The calculation of the valid bit is as follows:

valid =
unop( Iop_64to32,
  binop( Iop_And64,
 is_BCDstring128( /* Signed */True, mkexpr( vA ) ),
 is_BCDstring128( /* Signed */True, mkexpr( vB ) ) ) );

Note,  is_BCDstring128() calls a clean helper written in C.   The issue is
making the two calls above leads to a segmentation fault.  I rewrote the
computation as follows to isolate out the
computations:

  assign( A_isBCDstr, is_BCDstring128( /* Signed */True, mkexpr( vA ) )
);
 //  assign( A_isBCDstr, mkU64( 0 ) );  
 assign( B_isBCDstr, is_BCDstring128( /* Signed */True, mkexpr( vB ) )
);
 //  assign( B_isBCDstr, mkU64( 0 ) );  

 valid = unop( Iop_64to32, binop( Iop_And64, mkexpr( A_isBCDstr ),
mkexpr( B_isBCDstr ) ) );
Now if I make the call to is_BCDstring128() for vA and vB I get the
segmentation fault.  If I comment out either computation and put in the
appropriate commented out line to just explicitly set the result to zero, I do
not get a segmentation fault.  The segmentation fault occurs later when the IR
code is actually executed.  I am guessing that somehow the generation of the IR
code with two back to back clean helper calls results in bad code that causes
the segmentation fault.  Unfortunately, the issue is a bit deeper in Valgrind
then I am familiar with.  I am looking for help to debug this issue.  Please
let me know if there is a way we can dump out the generated code and so we can
examine it.  Thanks.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369169] ppc64 fails jm_int_isa_2_07 test

2016-09-22 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369169

Carl Love  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Carl Love  ---
patch committed valgrind commit 15977

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 369169] ppc64 fails jm_int_isa_2_07 test

2016-09-21 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=369169

Carl Love  changed:

   What|Removed |Added

 CC||c...@us.ibm.com

--- Comment #5 from Carl Love  ---
Created attachment 101221
  --> https://bugs.kde.org/attachment.cgi?id=101221=edit
fix for jm_int_isa_2_07.

The none/tests/ppc64/jm_int_isa_2_07.stdout.exp, by convention, should have the
big endian results.  The current file contains the little endian results.  By
convention, the little endian result files have "-LE" appended to the expected
output file name.  This patch fixes the output in the 
none/tests/ppc64/jm_int_isa_2_07.stdout.exp file.  

The results of the regression test on pre Power 8 processors and Power 8 LE
processors should not change.

Please test the patch and see if the regression test results are as expected on
your machine.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 361726] WARNING:unhandled syscall on ppc64 and amd64 (membarrier)

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=361726

Carl Love  changed:

   What|Removed |Added

 CC||c...@us.ibm.com,
   ||will_schm...@vnet.ibm.com

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 361405] disInstr(ppc): unhandled instruction: 0xFF81010C

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=361405

Carl Love  changed:

   What|Removed |Added

 CC||c...@us.ibm.com

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 109426] ppc: false positive in rt_sigaction

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=109426

Carl Love  changed:

   What|Removed |Added

 CC||c...@us.ibm.com

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 352364] ppc64: --expensive-definedness-checks=yes is not quite working here

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=352364

Carl Love  changed:

   What|Removed |Added

 CC||c...@us.ibm.com

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 322593] Power 8 code to implement Transactional support

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=322593

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 322593] Power 8 code to implement Transactional support

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=322593

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Carl Love  ---
This bugzilla was a place holder for the transactional memory support
discussion.  Bugzilla 346474 contains the patch for the PPC64 transacational
memory support.  

The patch from Bugzilla 346474 was committed on April 22, 2015, VEX commit
3143, Valgrind commit 15134.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368416] Add tc06_two_races_xml.exp output for ppc64.

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368416

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368416] Add tc06_two_races_xml.exp output for ppc64.

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368416

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|CONFIRMED   |RESOLVED

--- Comment #6 from Carl Love  ---
Verified patch commit is OK using fresh pull of the upstream repository.  It
checks out fine.  Closing

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368412] False positive result for altivec capability check

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368412

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #7 from Carl Love  ---
Patch has been committed.  Closing.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368416] Add tc06_two_races_xml.exp output for ppc64.

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368416

Carl Love  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |CONFIRMED

--- Comment #5 from Carl Love  ---
Patch from Will committed, commit 15956

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368461] mmapunmap test fails on ppc64

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368461

--- Comment #5 from Carl Love  ---
committed the missing file massif/tests/mmapunmap.post.exp-ppc64 in commit
15955

Retested, issue is resolved.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364948] Add IBM ISA 3.0 support, patch set 5

2016-09-14 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #12 from Carl Love  ---
No issues have been seen with the ISA 3.0 support to date.  Closing.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368461] mmapunmap test fails on ppc64

2016-09-13 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368461

Carl Love  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Carl Love  ---
Patch committed, valgrind commit  15950

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368461] mmapunmap test fails on ppc64

2016-09-13 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368461

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368461] mmapunmap test fails on ppc64

2016-09-08 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368461

Carl Love  changed:

   What|Removed |Added

 CC||will_schm...@vnet.ibm.com
 Ever confirmed|0   |1
 Status|UNCONFIRMED |CONFIRMED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368461] mmapunmap test fails on ppc64

2016-09-08 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368461

--- Comment #1 from Carl Love  ---
Created attachment 100988
  --> https://bugs.kde.org/attachment.cgi?id=100988=edit
fix for mmapunmap test on ppc64

The attached patch fixes the post failure on ppc64.  The patch was submitted by
Will Schmidt

Will post the patch to the developers mailing list for review as it touches
arch independent files.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368461] New: mmapunmap test fails on ppc64

2016-09-08 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368461

Bug ID: 368461
   Summary: mmapunmap test fails on ppc64
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

The test results in a post failure on ppc 64 machines

Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368416] Add tc06_two_races_xml.exp output for ppc64.

2016-09-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368416

--- Comment #1 from Carl Love  ---
Created attachment 100975
  --> https://bugs.kde.org/attachment.cgi?id=100975=edit
Add tc06_two_races_xml.exp output for ppc64.

The attached patch was submitted by Will Schmidt.  I have reviewed and tested
the patch.  The patch fixes the helgrind/tests/tc06_two_races_xml test case on
PPC64

I will post the patch to the developer's email list for additional review.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368416] New: Add tc06_two_races_xml.exp output for ppc64.

2016-09-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368416

Bug ID: 368416
   Summary: Add tc06_two_races_xml.exp output for ppc64.
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

Add a tc06_two_races_xml exp output for ppc64.  This differs from the
existing .exp in that does not contain the pthread_create_WRK entry frame.

The non-xml version of this test passes because there is a filter that
eliminates the pthread_create_WRK entry from that output.  That was
introduced in r13983, which added a filter to scrub out
pthread_create_WRK from all of the outputs, and updated the .exp files
to match.

The additional exp file added here covers that same condition for the
xml version of this test.

I'll note that I did look at the code in and around pthread_create_WRK,
in conjunction with the debug and comments from r13983.  It looks like
the _WRK stack frame is being reused rather than stacked upon.  I suspect
some part of branch-and-relink-to-noredir is not behaving quite as expected.
That said, this rather simple update to the exp is sufficient and is not
hiding anything I think is critical...

Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368412] New: False positive result for altivec capability check

2016-09-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368412

Bug ID: 368412
   Summary: False positive result for altivec capability check
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

An earlier change introduced a think-o in the altivec capability
check, allowing a false positive if the compiler supported altivec  
but the hardware did not.  

Reproducible: Always

Steps to Reproduce:
1.  Run "make regtest" on power 5 platform
2.
3.

Actual Results:  
Altivec tests run and fail

Expected Results:  
Should correctly detect that altivec support does not exist on the platform and
not run the altivec tests

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 368412] False positive result for altivec capability check

2016-09-07 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=368412

--- Comment #1 from Carl Love  ---
Created attachment 100973
  --> https://bugs.kde.org/attachment.cgi?id=100973=edit
Fix false positive check for altivec support on PPC machines

The attached patch was submitted directly to me from Will Schmidt.  I have
reviewed and tested the patch.  It looks fine.  Will post patch to mailing list
for community review as it touches the general configure.ac file.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 359767] Valgrind does not support the IBM POWER ISA 3.0 instructions

2016-08-16 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=359767

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 359767] Valgrind does not support the IBM POWER ISA 3.0 instructions

2016-08-16 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=359767

--- Comment #11 from Carl Love  ---
Created attachment 100641
  --> https://bugs.kde.org/attachment.cgi?id=100641=edit
regression test fixes for 32-bit mode

Patches applied  Valgrind commit 15938, VEX commit 3244.

A few fixes for the 32-bit mode were added to the valgrind patch, see
patch5-fix.diff, as part of the VEX commit 3244. 

Fix for instruction xscvdphp VEX commit 3245.  The call to generate_store_FPRF(
Ity_I32, value ); was changed to generate_store_FPRF( Ity_I16, value );

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 365912] ppc64BE segfault during jm-insns test (RELRO)

2016-07-28 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=365912

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Carl Love  ---
Patch committed Valgrind revision 15917.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364948] Add IBM ISA 3.0 support, patch set 5

2016-07-25 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

--- Comment #5 from Carl Love  ---
> --- Comment #4 from Julian Seward  ---
> (In reply to Carl Love from comment #1)
> > Created attachment 99775 [details]
> > Patch 5 of 5 to add VEX support for Power ISA 3.0 instructions
> 
> I have a number of concerns here, but nothing that can't be relatively
> easily fixed.  They fall into 5 areas:
> 
> [1] naming and possible duplication of new IROps
> 
> [2] front end: duplication of IR trees (the IRExpr* vs IRTemp thing)
> 
> [3] front end: generation of excessively verbose IR for some vector insns
> 
> [4] misc other correctness comments/queries
> 
> [5] various typos in comments
> 
> 
> To go through them in order:
> 
> 
> -- [1] naming and possible duplication of new IROps --
> 
> diff --git a/VEX/pub/libvex_ir.h b/VEX/pub/libvex_ir.h
> +  Iop_MulAddF128,// (A * B) + C
> +  Iop_MulSubF128,// (A * B) - C
> +  Iop_NegMulAddF128, // -((A * B) + C)
> +  Iop_NegMulSubF128, // -((A * B) + C)
> Call these, respectively:  MAddF128, MSubF128, NegMAddF128,
> NegMSubF128, so as to be consistent with the 32/64 bit variants

Renamed the Iops as requested

> 
> 
> +  Iop_ConvI64UtoF128, /*  signed I64  -> F128 */
> +  Iop_ConvI64StoF128, /*  signed I64  -> F128 */
> +  Iop_ConvF64toF128,  /* F64  -> F128 */
> +  Iop_ConvF128toF64,  /* IRRoundingMode(I32) x F128 -> F64*/
> +  Iop_ConvF128toF32,  /* IRRoundingMode(I32) x F128 -> F32*/
> Remove the leading Conv (eg Iop_I64UtoF128), so as to make them
> consistent with other conversion operations.  
> 

Renamed the Iops as requested

> 
> +  /* Conversion signed 32-bit value to signed BCD 128-bit */
> +  Iop_I128StoBCD128,
> +
> +  /* Conversion signed BCD 128-bit to signed 32-bit value */
> +  Iop_BCD128toI128S,
> The comments don't seem to match the names.  Is the integer value
> 32 bits or 128 bits?
> 

fixed comments.  The integer source/result is stored in an I128 value.

> 
> +  /* -- Vector to/from half conversion -- */
> +  Iop_F16x4toF32x4, Iop_F32x4toF16x4, Iop_F64x2toF16x2, Iop_F16x2toF64x2,
> You only need one lane specifier here, so as to be consistent with
> other ops:
>   F16toF32x4, F32toF16x4, F64toF16x2, F16toF64x2
> and in fact the first two already seem to exist.  Are these different?
> 
> 

Renamed the Iops as requested, changed the code in guest_ppc_toIR.c was
then changed to match the Iop arg type with the required changes in
host_ppc_isel.c to handle setting up the src/dest registers for the
backend to issue the instructions.


>  [2] front end: duplication of IR trees (the IRExpr* vs IRTemp thing) 
> 
> +static void putC ( IRExpr* e )
> 
> +static IRExpr * create_FPCC( IRExpr *NaN,   IRExpr *inf,
> + IRExpr *zero,  IRExpr *norm,
> + IRExpr *dnorm, IRExpr *pos,
> + IRExpr *neg ) {
> 
> +static IRExpr * create_C( IRExpr *NaN,   IRExpr *zero,
> +  IRExpr *dnorm, IRExpr *pos,
> +  IRExpr *neg ) {
> 
> These functions all use their input trees more than once and so will
> duplicate them and the computations done by them.  Please change them so
> that the passed arguments are IRTemps instead.
> 
> There may be more such functions -- I am not sure if this is all of
> them.

Fixed, changed the IRExpr to IRTemps in these two functions.
exponent_compare() and fractional_part_compare() use IRExpr but the
value is used once in the true and once in the false path of an if
statement.  I suspect there may be existing functions with this issue.
It is something that needs to be addressed in a follow on cleanup patch.
I have noticed that the formatting of comments through out the code is
not consistent and would like to clean that up as well in a follow
patch.

> 
> 
>  [3] front end:
>  generation of excessively verbose IR for some vector insns 
> 
> +   case 28: // vctzb,  Vector Count Trailing Zeros Byte
> Too complex; use a vector IRop
> 
> +   case 29: // vctzh,  Vector Count Trailing Zeros Halfword
> Ditto
> 
> +   case 30: // vctzw,  Vector Count Trailing Zeros Word
> Ditto
> 
> +   case 31: // vctzd,  Vector Count Trailing Zeros Halfword
> Ditto
> 
> For the above cases (28/29/30/31), make yourself a set of vector IROps
> to do this:
>   Iop_Ctz{8x16, 16x8, 32x4}
> See existing ops Iop_Clz8x16, Iop_Clz16x8, Iop_Clz32x4 as an example

Created Iops  Iop_Ctz8x16, Iop_Ctz16x8, Iop_Ctz32x4, Iop_Ctz64x2 and
re-implemented the instructions using the new Iops rather then using the
existing Iops.


> 
> + case 0:  // bcdctsq.  (Decimal Convert to Signed Quadword VX-form)
> +   /* Check each of the nibbles for a valid digit 0 to 9 */
> +   inv_flag[0] = newTemp( Ity_I1 );
> +   assign( inv_flag[0], mkU1( 0 ) );
> 

[valgrind] [Bug 364948] Add IBM ISA 3.0 support, patch set 5

2016-07-25 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

Carl Love  changed:

   What|Removed |Added

  Attachment #99776|0   |1
is obsolete||

--- Comment #7 from Carl Love  ---
Created attachment 100293
  --> https://bugs.kde.org/attachment.cgi?id=100293=edit
Patch 5 of 5 to add testsuite support for Power ISA3.0, revised

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364948] Add IBM ISA 3.0 support, patch set 5

2016-07-25 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

Carl Love  changed:

   What|Removed |Added

  Attachment #99775|0   |1
is obsolete||

--- Comment #6 from Carl Love  ---
Created attachment 100292
  --> https://bugs.kde.org/attachment.cgi?id=100292=edit
Patch 3 of 5 to add VEX support for the POWER ISA 3.0 instructions revised

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362329] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-07-05 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-07-05 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364948] Add IBM ISA 3.0 support, patch set 5

2016-06-30 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

Carl Love  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |CONFIRMED
 CC||will_schm...@vnet.ibm.com

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364948] Add IBM ISA 3.0 support, patch set 5

2016-06-30 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

--- Comment #2 from Carl Love  ---
Created attachment 99776
  --> https://bugs.kde.org/attachment.cgi?id=99776=edit
Patch5 of 5 to add testsuite support for Power ISA 3.0 instructions part 1

Testsuite patch I have only included the first part of the patch which contains
the testsuite code changes and some of the expect files.  The two expected
output files are rather large, total size is 33MBytes.  I don't think anyone is
going to read them all.  I can post them if wants to see all of the output.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364948] Add IBM ISA 3.0 support, patch set 5

2016-06-30 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

--- Comment #1 from Carl Love  ---
Created attachment 99775
  --> https://bugs.kde.org/attachment.cgi?id=99775=edit
Patch 5 of 5 to add VEX support for Power ISA 3.0 instructions

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364948] New: Add IBM ISA 3.0 support, patch set 5

2016-06-30 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364948

Bug ID: 364948
   Summary: Add IBM ISA 3.0 support, patch set 5
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

The IBM ISA 3.0 has been released. This bugzilla is the fifth in a series of
five bugzillas for adding the needed ISA 3.0 support to Valgrind. The series of
bugzillas are: 359767, 361207, 362329, 363858.

Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-29 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Carl Love  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #13 from Carl Love  ---
Patches committed

VEX commit 3222
valgrind commit 15896

The patches were tested on 64-bit Power 6, Power 7, Power 8 big endian and
Power 8 little endian machines.  The regression tests showed no new test
failures on these systems.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-27 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Carl Love  changed:

   What|Removed |Added

  Attachment #99330|0   |1
is obsolete||

--- Comment #11 from Carl Love  ---
Created attachment 99734
  --> https://bugs.kde.org/attachment.cgi?id=99734=edit
Patch 4 of 5 to add testsuite support for the POWER ISA 3.0 instructions, part
3

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-27 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Carl Love  changed:

   What|Removed |Added

  Attachment #99329|0   |1
is obsolete||

--- Comment #10 from Carl Love  ---
Created attachment 99733
  --> https://bugs.kde.org/attachment.cgi?id=99733=edit
Patch 4 of 5 to add testsuite support for the POWER ISA 3.0 instructions, part
2

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-27 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Carl Love  changed:

   What|Removed |Added

  Attachment #99731|0   |1
is obsolete||

--- Comment #9 from Carl Love  ---
Created attachment 99732
  --> https://bugs.kde.org/attachment.cgi?id=99732=edit
Patch 4 of 5 to add testsuite support for the POWER ISA 3.0 instructions, part
1

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-27 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Carl Love  changed:

   What|Removed |Added

  Attachment #99327|0   |1
is obsolete||

--- Comment #8 from Carl Love  ---
Created attachment 99731
  --> https://bugs.kde.org/attachment.cgi?id=99731=edit
Patch 4 of 5 to add VEX support for the POWER ISA 3.0 instructions

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-27 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

--- Comment #7 from Carl Love  ---
I ran the perfomance tests comparing the source tree with patch 3 and the
source tree with patch 4.  The results were run for 10 repetitions and 5
repetitions.  The results for the two are very consistent.  The 10 repetition
results are as follows:

-- Running  tests in perf --
-- bigcode1 --  
bigcode1 valgrind-patch3:0.19s  no: 2.1s (11.0x, -)  me: 4.4s (23.0x,
-)  
bigcode1 valgrind-patch4:0.19s  no: 2.1s (10.9x,  1.0%)  me: 4.3s (22.9x, 
0.5%)  
-- bigcode2 --  
bigcode2 valgrind-patch3:0.19s  no: 4.7s (24.6x, -)  me:10.7s (56.4x,
-)  
bigcode2 valgrind-patch4:0.19s  no: 4.7s (24.6x,  0.0%)  me:10.7s (56.4x, 
0.1%)  
-- bz2 --   
bz2  valgrind-patch3:0.57s  no: 3.4s ( 5.9x, -)  me: 8.6s (15.1x,
-)  
bz2  valgrind-patch4:0.57s  no: 3.4s ( 6.0x, -0.9%)  me: 8.6s (15.1x,
-0.2%)  
-- fbench --
fbench   valgrind-patch3:0.25s  no: 1.7s ( 6.7x, -)  me: 4.3s (17.3x,
-)  
fbench   valgrind-patch4:0.25s  no: 1.7s ( 6.8x, -1.8%)  me: 4.3s (17.3x,
-0.2%)  
-- ffbench --   
ffbench  valgrind-patch3:0.19s  no: 0.7s ( 3.6x, -)  me: 1.8s ( 9.6x,
-)  
ffbench  valgrind-patch4:0.19s  no: 0.7s ( 3.6x,  0.0%)  me: 1.8s ( 9.6x, 
0.5%)  
-- heap --  
heap valgrind-patch3:0.25s  no: 1.7s ( 6.9x, -)  me: 7.5s (29.9x,
-)  
heap valgrind-patch4:0.25s  no: 1.7s ( 6.8x,  1.2%)  me: 7.5s (29.8x, 
0.4%)  
-- heap_pdb4 -- 
heap_pdb4 valgrind-patch3:0.29s  no: 1.8s ( 6.3x, -)  me:10.8s (37.2x,
-) 
heap_pdb4 valgrind-patch4:0.29s  no: 1.8s ( 6.3x,  0.0%)  me:10.8s (37.3x,
-0.1%) 
-- many-loss-records -- 
many-loss-records valgrind-patch3:0.03s  no: 0.4s (13.3x, -)  me: 1.6s
(55.0x, -) 
many-loss-records valgrind-patch4:0.03s  no: 0.4s (13.7x, -2.5%)  me: 1.7s
(55.3x, -0.6%) 
-- many-xpts -- 
many-xpts valgrind-patch3:0.05s  no: 0.6s (11.4x, -)  me: 2.2s (44.0x,
-) 
many-xpts valgrind-patch4:0.05s  no: 0.6s (11.4x,  0.0%)  me: 2.2s (43.6x, 
0.9%) 
-- memrw -- 
memrwvalgrind-patch3:0.05s  no: 0.8s (17.0x, -)  me: 1.9s (39.0x,
-)  
memrwvalgrind-patch4:0.05s  no: 0.8s (16.8x,  1.2%)  me: 2.0s (39.2x,
-0.5%)  
-- sarp --  
sarp valgrind-patch3:0.02s  no: 0.3s (16.0x, -)  me: 2.5s (125.5x,
-) 
sarp valgrind-patch4:0.02s  no: 0.3s (16.0x,  0.0%)  me: 2.5s (125.5x, 
0.0%) 
-- tinycc --
tinycc   valgrind-patch3:0.21s  no: 2.3s (11.0x, -)  me:10.1s (48.2x,
-)  
tinycc   valgrind-patch4:0.21s  no: 2.3s (11.0x,  0.0%)  me:10.3s (49.1x,
-1.9%)  
-- Finished tests in perf --

== 12 programs, 48 timings =   

I investigated the second comment by running the requested test.  After fixing
a bug that was found found with some missing register support, it ran fine. 
After some private discussions with Julian, the  is_BCDstring(),
increment_BCDstring(), and the support for bcdctz., bcdctn., bcdcfz., bcdcfn.,
bcdsetsgn.instructions were reimplemented using clean helpers.

The minor comments:.
There is no change in the functions, putCR321 and putCR0.  They were unswapped
so there is no change in the patch. 

The duplicated code was replaced with a temp.

The typos were fixed.

Note, it was found that one of the instructions in the test suite was missing. 
The test suite was updated.

The VEX support patch and test suite patch have been updated.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364728] Power PC, missing support for several HW registrs in get_otrack_shadow_offset_wrk()

2016-06-27 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364728

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Carl Love  ---
Committed revision 15895.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364728] Power PC, missing support for several HW registrs in get_otrack_shadow_offset_wrk()

2016-06-27 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364728

--- Comment #1 from Carl Love  ---
Created attachment 99724
  --> https://bugs.kde.org/attachment.cgi?id=99724=edit
Add missing register support

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 364728] New: Power PC, missing support for several HW registrs in get_otrack_shadow_offset_wrk()

2016-06-24 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=364728

Bug ID: 364728
   Summary: Power PC, missing support for several HW registrs in
get_otrack_shadow_offset_wrk()
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

The Hardware trasaction registers and a couple of other HW registers are not
supported in get_otrack_shadow_offset_wrk(), specifically:

NRADDR, NRADDR_GPR2, (REDIR_STACK, TFHAR, TEXASR, TEXASRU, TFIAR, PPR, PSPB

When running  valgrind --tool=memcheck --track-origins=yes --vex-iropt-level=0
./test_isa_3_0 -i
valgrind crashes with the message:

MC_(get_otrack_shadow_offset)(ppc64)(off=1376,sz=8)

Memcheck: mc_machine.c:332 (get_otrack_shadow_offset_wrk): the 'impossible'
happened.


Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362894] missing (broken) support for wbit field on mtfsfi instruction (ppc64)

2016-06-13 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362894

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|CONFIRMED   |RESOLVED

--- Comment #3 from Carl Love  ---
VEX commit 3221, updates VEX/priv/guest_ppc_toIR.c
valgrind commit, 15892, updates the NEWS file.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362894] missing (broken) support for wbit field on mtfsfi instruction (ppc64)

2016-06-13 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362894

Carl Love  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |CONFIRMED

--- Comment #2 from Carl Love  ---
Will, I reveiwed the patch and tested it.  It looks fine.  I will proceed with
committing it.

Changing status

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-10 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Carl Love  changed:

   What|Removed |Added

 CC||will_schm...@vnet.ibm.com

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-02 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

--- Comment #4 from Carl Love  ---
Created attachment 99330
  --> https://bugs.kde.org/attachment.cgi?id=99330=edit
Patch 4 of 5 to add testsuite support for the POWER ISA 3.0 instructions, part
3

final part of the testsuite patch expected results. 

The vgtest file change is at the very end of this part.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-02 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

--- Comment #3 from Carl Love  ---
Created attachment 99329
  --> https://bugs.kde.org/attachment.cgi?id=99329=edit
Patch 4 of 5 to add testsuite support for the POWER ISA 3.0 instructions, part
2

Second part of the testsuite patch.  More of the expected output.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-02 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

--- Comment #2 from Carl Love  ---
Created attachment 99328
  --> https://bugs.kde.org/attachment.cgi?id=99328=edit
Patch 4 of 5 to add testsuite support for the POWER ISA 3.0 instructions

Patch 4 of 5 to add testsuite support for the POWER ISA 3.0 instructions This
patch adds test suite support for the instructions added in the first patch.

Note, I had to manually chop this patch into multiple pieces due to the limit
on the size of an attachment.  This part has the test_isa_3.0.c changes and the
first part of the expected results.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] Add IBM ISA 3.0 support, patch set 4

2016-06-02 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

--- Comment #1 from Carl Love  ---
Created attachment 99327
  --> https://bugs.kde.org/attachment.cgi?id=99327=edit
Patch 4 of 5 to add VEX support for the POWER ISA 3.0 instructions

Patch 4 of 5 to add VEX support for the POWER ISA 3.0 instructions This patch
add support to emulate more of the ISA 3.0 instruction in Valgrind.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 363858] New: Add IBM ISA 3.0 support, patch set 4

2016-06-02 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=363858

Bug ID: 363858
   Summary: Add IBM ISA 3.0 support, patch set 4
   Product: valgrind
   Version: 3.12 SVN
  Platform: unspecified
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

The IBM ISA 3.0 has been released. This bugzilla is the fourth in a series of
five bugzillas for adding the needed ISA 3.0 support to Valgrind. The series of
bugzillas are: 359767, 361207, 362329.

Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362329] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-06-01 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #9 from Carl Love  ---
Updated patch committed.   

Vex commit 3220
Valgrind commit 15890

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362329] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-05-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

Carl Love  changed:

   What|Removed |Added

  Attachment #98666|0   |1
is obsolete||

--- Comment #6 from Carl Love  ---
Created attachment 99056
  --> https://bugs.kde.org/attachment.cgi?id=99056=edit
updated, 0001-Power-PC-Add-support-for-ISA-3.0-part-3.patch

I like your idea for combining create_DCM_32() and create_DCM() so we don't
have lots of similarly named functions.  But, I am not too keen on passing a
list of IROp's to the function as it isn't really obvious from the function
name why it would need them.  My preference would be to just pass the size of
the expr to be created and then just setup the IROp's in the function.  I think
it is cleaner to the reader and a bit less error prone.  Let the function make
sure it generates 64 bit or 32 bit iops rather then the user messing up on one
of the arguments.  Also eliminates the need to verify the IROp's passed are all
compatible with each other.

I wasn't aware of the the issue with the back end generating code multiple
times.  So basically the rule of thumb should be:  If you use a computed value
multiple times, compute it into a temp not an expression.

With the above two things in mind, I rewrote create_DCM() as follows:

static IRExpr * create_DCM ( IRType size, IRTemp NaN, IRTemp inf, IRTemp zero,  
 IRTemp dnorm, IRTemp pos)  
{   
   /* This is a general function for creating the DCM for a 32-bit or   
  64-bit expression based on the passes size.   
   */   
   IRTemp neg;  
   IROp opAND, opOR, opSHL; 

   vassert( ( size == Ity_I32 ) || ( size == Ity_I64 ) );   

   if ( size == Ity_I32 ) { 
  opSHL = Iop_Shl32;
  opAND = Iop_And32;
  opOR  = Iop_Or32; 
  neg = newTemp( Ity_I32 ); 

   } else { 
  opSHL = Iop_Shl64;
  opAND = Iop_And64;
  opOR  = Iop_Or64; 
  neg = newTemp( Ity_I64 ); 
   }

   assign( neg, unop( Iop_1Uto64, mkNOT1( unop( Iop_64to1,  
mkexpr ( pos ) ) ) ) );  
return binop( opOR, 
 binop( opSHL, mkexpr( NaN ), mkU8( 6 ) ),  
 binop( opOR,   
binop( opOR,
   binop( opOR, 
  binop( opSHL, 
 binop( opAND,  
mkexpr( pos ),  
mkexpr( inf ) ),
 mkU8( 5 ) ),   
  binop( opSHL, 
 binop( opAND,  
mkexpr( neg ),  
mkexpr( inf ) ),
 mkU8( 4 ) ) ), 
   binop( opOR, 
  binop( opSHL, 
 binop( opAND,  
mkexpr( pos ),  
mkexpr( zero ) ),   
 mkU8( 3 ) ),   
  binop( opSHL,   

[valgrind] [Bug 362329] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-04-28 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

Carl Love  changed:

   What|Removed |Added

  Attachment #98632|0   |1
is obsolete||

--- Comment #4 from Carl Love  ---
Created attachment 98666
  --> https://bugs.kde.org/attachment.cgi?id=98666=edit
Patch 3 of 5 to add VEX support for the POWER ISA 3.0 instructions

Fixed declarations to use "house" type,   int i;  -> Int i;

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362329] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-04-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

--- Comment #3 from Carl Love  ---
Created attachment 98634
  --> https://bugs.kde.org/attachment.cgi?id=98634=edit
Patch 3 of 5 to add testsuite support for the POWER ISA 3.0 instructions,
second half

Add tests to the test_isa_3_0.c file for the instructions in the VEX patch.

I manually cut the patch file in two as it exceeded the max attachment size.
This is the second part of the patch file.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362329] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-04-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

--- Comment #2 from Carl Love  ---
Created attachment 98633
  --> https://bugs.kde.org/attachment.cgi?id=98633=edit
Patch 3 of 5 to add testsuite support for the POWER ISA 3.0 instructions

Add tests to the test_isa_3_0.c file for the instructions in the VEX patch.

I manually cut the patch file in two as it exceeded the max attachment size.
This is the first part of the patch file.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362329] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-04-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

--- Comment #1 from Carl Love  ---
Created attachment 98632
  --> https://bugs.kde.org/attachment.cgi?id=98632=edit
Patch 3 of 5 to add VEX support for the POWER ISA 3.0 instructions

Patch to add support for emulating the Power PC ISA 3.0 instructions:
lxsd, lxssp, lxv, stxsd, stxssp, and stxv
xscpsgnqp, xscmpoqp, xscmpuqp, xscmpexpqp, xststdcqp, xsabsqp,
xsxexpqp, xsnabsqp, xsnegqp, xsxsigqp, xsiexpqp, xsxexpdp, xsxsigdp,
xscmpexpdp, xststdcdp, xsiexpdp, xsxtdcsp, xvxexpdp, xvxexpsp,
xvxsigdp, xvxsigsp, xviexpsp, xviexpdp, xvtstdcsp, xvtstdcdp
instructions.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 362329] New: Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3

2016-04-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=362329

Bug ID: 362329
   Summary: Valgrind does not support the IBM POWER ISA 3.0
instructions, part 3
   Product: valgrind
   Version: 3.12 SVN
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com

The IBM ISA 3.0 has been released. 

This bugzilla is the third in a series of five bugzillas for adding the needed
ISA 3.0 support to Valgrind. 

The first bugzilla in the series is 359767.  The second bugzilla in the series
is 361207

Reproducible: Always

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360035] POWER PC instruction bcdadd and bcdsubtract generate result with non-zero shadow bits

2016-04-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360035

Carl Love  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
 Resolution|--- |FIXED

--- Comment #13 from Carl Love  ---
Patch committed
VEX commit   3218
valgrind commit 15871
valgrind commit 15872  (updated the NEWS file)

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360035] POWER PC instruction bcdadd and bcdsubtract generate result with non-zero shadow bits

2016-04-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360035

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 361207] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 2

2016-04-26 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=361207

Carl Love  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Carl Love  ---
Committed the VEX support in VEX commit 3217
Committed the valgrind support (test suite) in commit 15870

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-21 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-21 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|CONFIRMED   |RESOLVED

--- Comment #12 from Carl Love  ---
Patch applied.  Valgrind commit 15864.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-21 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

Carl Love  changed:

   What|Removed |Added

  Attachment #98450|0   |1
is obsolete||

--- Comment #11 from Carl Love  ---
Created attachment 98496
  --> https://bugs.kde.org/attachment.cgi?id=98496=edit
final patch update

Final update to patch.  Updated the comments to fix typos and improve the
clarity of the comments.  Will commit this version of the patch.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-20 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

--- Comment #10 from Carl Love  ---
Yes, there are typos in that comment which is causing confusion.

> The comment tells there are 64 VSR registers of 64 bits.
Should say 128-bits not 64 bits.

> that 'however, these are not "real" floating point registers': is that 
> speaking about fp[0..31]
Should say fp[32..63] 

> Finally, the last paragraph tells 'the 32 floating point registers (AKA 
> VSR[0] to VSR[31])'
   yea, the AKA confuses things.  I removed   "(AKA VSR[0] to VSR[31])"

I also added a diagram that shows the register layout.  Basically copied from
the ISA document.  That should help the reader to visualize the layout.

> In the code that initialises low_offset and high_offset : for VG_BIGENDIAN, 
> the comment tells 
> that the 64-bits are stored as Little Endian. Are the values really stored as 
> little endian, even 
> on a big endian platform ? 

I think the comment confused things more then it should have.  I was trying to
describe where 
the 64-bit values were but I see how you interpreted it.  The four 32-bit
values are stored in little endian or big endian format no mixed/partial
format.  So, I changed the comment to state where the four 32-bit values map to
the array indicies to remove the confusion.

I will re-spin the patch, update it in this bugzilla and retest everything on
the various platforms before committing the patch. 

Thanks for the help.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

Carl Love  changed:

   What|Removed |Added

  Attachment #98449|0   |1
is obsolete||

--- Comment #8 from Carl Love  ---
Created attachment 98450
  --> https://bugs.kde.org/attachment.cgi?id=98450=edit
Secone update to patch to fix GDB issue, changed some comments

Noticed a comment that needed a little work when I was verifying the correct
patch was in the attachment.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

Carl Love  changed:

   What|Removed |Added

  Attachment #98384|0   |1
is obsolete||

--- Comment #7 from Carl Love  ---
Created attachment 98449
  --> https://bugs.kde.org/attachment.cgi?id=98449=edit
Updated patch to fix GDB issue

Attached the updated patch

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-18 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

Carl Love  changed:

   What|Removed |Added

 Status|UNCONFIRMED |CONFIRMED
 Ever confirmed|0   |1

--- Comment #6 from Carl Love  ---
> * typo in power64-core.xml : typo: regect -> rejectFIXED

> * powerpc-altivec64l-valgrind.xml : I am not sure to fully understand why we 
> have 2 new 
> includes for power64-core2-valgrind-s1.xml and power64-core2-valgrind-s1.xml, 
> but there was
> no addition of power64-core2.xml after power-fpu.xml : normally, the s1 and 
> s2 files should be
> similar in structure to the 'non shadow' register files. I see that the 
> power64-core2*xml files are
> defining the shadow registers for e.g. pc/msr/cr while the equivalent non 
> shadow registers are
> in power64-core.xml It is unclear to me why the shadow registers for these 
> cannot be defined 
> in files that are 'similar in structure' to the non shadow files. 

 In  power64-core.xml, there is a comment about why the GPRs and pc/msr/cr have
to be in that file.   In  power64-core-valgrind-s*xml, I tried to explain why
the definitions of the pc/msr/cr registers had to be moved to 
power64-core2-valgrind-s*xml but I guess the explanation wasn't clear. 

I reworked the comments in the power64-core-valgrind-s*xml files to try and
make the explanation clearer.  Obviously, I didn't get the message across the
first time.  I think the reworked comments are a lot better.  See what you
think.

> * valgrind-low-ppc64.c : typos fpmap -> fp map lower lower -> lower psuedo -> 
> pseudo (twice this typo) remove final , after + { "vs31h", 10720, 64 },   
> FIXED

> * valgrind-low-ppc64.c : we have a bunch of lines that are (almost) 
> duplicated for big/little 
Good suggestion, I added two variables low_offset and high_offset and then set
them using the ifdefs for big and little endian.  That way we have the one copy
of the code which uses low_offset and high_offset to index the correct 64-bits
in the 128-bit array.  The code is much cleaner and more compact.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360008] Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used.

2016-04-13 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360008

--- Comment #4 from Carl Love  ---
Created attachment 98384
  --> https://bugs.kde.org/attachment.cgi?id=98384=edit
proposed patch to fix issue

Attached is a patch to deal with the issue.  Turns out there are several
issues.  1) there is a big Endian/ little Endian issue that was missed earlier.
The patch fixes that.  Once the Endian issue was fixed, then the vsx register
definition file that Phillippe mentions was added.  That requires adding the
new registers to the register structure and the case statement to get fetch the
register values from the guest state.  Finally, the order GDB prints the real
guest register contents and the order the shadow registers in was not
consistent.  Specifically, the HW register print order was: GPRs, Floating
point registers, then the pc, msr, cr, lr, ctr, etc registers.  However, the
order GDB printed the shadow registers was: GPRs, pc, msr, cr, lr, ctr, etc,
then the Floating point registers.  The issue was the shadow register name and
contents didn't line up.  The register contents order matched the HW register
print order.  So initially the fp0s1 register value was printed with pcs1.  The
shadow register xml definition file for the GPRs and pc, msr, lr, etc had to be
split into two files.  The first file contains the GPRs.  The second file
contains the pc,msr, lr, etc.  The second file with the shadow pc, msr, lr,
etc. definitions was then included after the shadow floating point register xml
file.  This results in GDB printing the shadow register names in the same order
as the HW registers and the register contents now align to the correct register
name.  

Please review the patch and let me know if you have any suggested
changes/fixes.  Thanks.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 361207] Valgrind does not support the IBM POWER ISA 3.0 instructions, part 2

2016-04-08 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=361207

Carl Love  changed:

   What|Removed |Added

  Attachment #98163|0   |1
is obsolete||

--- Comment #5 from Carl Love  ---
Created attachment 98295
  --> https://bugs.kde.org/attachment.cgi?id=98295=edit
Updated VEX support patch

The patch was updated to address Julian's comments.  
>   + binop( Iop_64HLtoV128, 
> + mkU64( 0x ),  
> + mkU64( 0x ) ) ) );
>  The ppc back end knows how to generate a 128 bit all-ones-value into a 
> vector register. So  
>   just replace all that with mkV128(0x)

Done

> My only concern is that it seems rather repetitive in places. I wonder if you 
> couldn't shorten
> it up a bit by writing a few subroutines?

The following functions were added and used in multiple places to make the code
more readable.

static inline IRExpr* mkXOr4_32( IRTemp t0, IRTemp t1, 
 
IRTemp t2, 
 
IRTemp t3)
{
   return binop( Iop_Xor32, 
 binop( Iop_Xor32, mkexpr( t0 ), mkexpr( t1 ) ),
 binop( Iop_Xor32, mkexpr( t2 ), mkexpr( t3 ) ) );  
}   

static inline IRExpr* mkOr3_V128( IRTemp t0, IRTemp t1, IRTemp t2) 
{   
   return binop( Iop_OrV128,   
 mkexpr( t0 ),   
 binop( Iop_OrV128, mkexpr( t1 ), mkexpr( t2 ) ) );  
}

static inline IRExpr* mkOr4_V128( IRTemp t0, IRTemp t1, IRTemp t2,
  IRTemp t3 ) 
{ 
   return binop( Iop_OrV128, 
binop( Iop_OrV128, mkexpr( t0 ), mkexpr( t1 ) ), 
 binop( Iop_OrV128, mkexpr( t2 ), mkexpr( t3 ) ) ); 
}   

static inline IRExpr* mkOr4_V128_expr( IRExpr* t0, IRExpr* t1, IRExpr* t2,
  IRExpr* t3 )  
{   
   /* arguments are already expressions */  
   return binop( Iop_OrV128,
   binop( Iop_OrV128, ( t0 ), ( t1 ) ), 
   binop( Iop_OrV128, ( t2 ), ( t3 ) ) );   
}   

static IRExpr* extract_field_from_vector( IRTemp vB, IRExpr* index, UInt mask) 
{ 
   /* vB is a vector, extract bits starting at index to size of mask */ 
   return unop( Iop_V128to64,   
binop( Iop_AndV128, 
binop( Iop_ShrV128, 
 mkexpr( vB ),  
 unop( Iop_64to8,   
 binop( Iop_Mul64, index,   
 mkU64( 8 ) ) )
),  
  binop( Iop_64HLtoV128, 
  mkU64( 0x0 ), 
  mkU64( mask ) ) ) );  
} 

The updated patch is attached for additional review.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360035] POWER PC instruction bcdadd and bcdsubtract generate result with non-zero shadow bits

2016-04-01 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360035

--- Comment #11 from Carl Love  ---
Created attachment 98192
  --> https://bugs.kde.org/attachment.cgi?id=98192=edit
Updated patch to fix BCD add/subtract vbit error

The previous patch broke the vbit-test test.  

The issue is the Iop_BCDAdd and Iop_BCDSub pass the ps value down to the
instruction generation code.  The issue is the ps value is a constant passed in
the triop() function call in  function dis_av_bcd ( ),
VEX/priv/guest_ppc_toIR.c.  The vbit-test assumes that the arguments of the
triop() are expressions so it can set the vbits for each of the arguments. 
However, the ps value is a constant so the test couldn't set the vbits for ps.  

The implementation of the BCD add and subtract instructions was changed to not
pass the ps value, the vbit-test was updated to remove some no longer needed
comments and code for the ps argument.  The memcheck code was updated to handle
the new implementation of the BCD add and subtract instructions.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360035] POWER PC instruction bcdadd and bcdsubtract generate result with non-zero shadow bits

2016-03-31 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360035

--- Comment #10 from Carl Love  ---
The changes fix Valgrind from generating the incorrect vbit result when either
of the first two V128 operands have an undefined bit.  However, the vbits are
not being set if one of the vbits from the third operand, I8, are set.  The
vbit-test picked this up when I ran the full regression test.

-- 
You are receiving this mail because:
You are watching all bug changes.


[valgrind] [Bug 360035] POWER PC instruction bcdadd and bcdsubtract generate result with non-zero shadow bits

2016-03-31 Thread Carl Love via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=360035

--- Comment #9 from Carl Love  ---
Not sure that we will see a lot of BCD instructions.  They are somewhat
specialized for financial applications.

-- 
You are receiving this mail because:
You are watching all bug changes.


  1   2   >