[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

--- Comment #17 from Carl Love  ---
The following commit was made to fix an issue with the functional support ISA
3.1 for reduced precision outer product operations support.

https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=eb82a294573d15c1be663673d55b559a82ca29d3

commit eb82a294573d15c1be663673d55b559a82ca29d3
Author: Julian Seward 
Date:   Tue Nov 10 21:10:48 2020 +0100

Add a missing ifdef, whose absence caused build breakage on non-POWER
targets.

Diff:
---
 VEX/priv/guest_ppc_helpers.c | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/VEX/priv/guest_ppc_helpers.c b/VEX/priv/guest_ppc_helpers.c
index 45dce63512..ac4d7044a8 100644
--- a/VEX/priv/guest_ppc_helpers.c
+++ b/VEX/priv/guest_ppc_helpers.c
@@ -1112,12 +1112,16 @@ static ULong reinterpret_double_as_long( Double input )

 static Double conv_f16_to_double( ULong input )
 {
-  // This all seems to be very alignment sensitive??
-  __attribute__ ((aligned (64))) ULong src;
-  __attribute__ ((aligned (64))) Double result;
-  src = input;
-  __asm__ __volatile__ ("xscvhpdp %x0,%x1" : "=wa" (result) : "wa" (src));
-  return result;
+#  if defined(__powerpc__)
+   // This all seems to be very alignment sensitive??
+   __attribute__ ((aligned (64))) ULong src;
+   __attribute__ ((aligned (64))) Double result;
+   src = input;
+   __asm__ __volatile__ ("xscvhpdp %x0,%x1" : "=wa" (result) : "wa" (src));
+   return result;
+#  else
+   return 0.0;
+#  endif
 }


__

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

Carl Love  changed:

   What|Removed |Added

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

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

[valgrind] [Bug 427400] PPC ISA 3.1 support is missing, part 4

2020-11-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427400

Carl Love  changed:

   What|Removed |Added

 Status|REPORTED|RESOLVED
 Resolution|--- |FIXED

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

[valgrind] [Bug 427401] PPC ISA 3.1 support is missing, part 5

2020-11-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427401

Carl Love  changed:

   What|Removed |Added

 Status|REPORTED|RESOLVED
 Resolution|--- |FIXED

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

Carl Love  changed:

   What|Removed |Added

 Attachment #132180|0   |1
is obsolete||

--- Comment #15 from Carl Love  ---
Created attachment 133208
  --> https://bugs.kde.org/attachment.cgi?id=133208=edit
functional support fix

cleanup of the patch

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

Carl Love  changed:

   What|Removed |Added

 Attachment #133070|0   |1
is obsolete||

--- Comment #14 from Carl Love  ---
Created attachment 133206
  --> https://bugs.kde.org/attachment.cgi?id=133206=edit
functional support ISA 3.1 for reduced precision outer product operations

Update the patch.  Fix for getACC() to eliminate compiler warnings.

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

Carl Love  changed:

   What|Removed |Added

 Status|REPORTED|CONFIRMED
 Ever confirmed|0   |1

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

commit d4cfcf14a083dcb54e0fe64ff4ae9b0b635c8e69 (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Tue Oct 6 12:14:45 2020 -0500

Reduced Precision Outer Product Operation tests

commit be7da5401783a32149bd7dc31b49f3d72d4a2b10
Author: Carl Love 
Date:   Tue Sep 29 13:29:34 2020 -0500

Fix, add ISA 3.1 check to set ISA 3.1 in Valgrind hwcaps value

commit 092e5620d40d54bc1ab6a77c895fc18b0c86c6a9
Author: Carl Love 
Date:   Fri Sep 25 16:54:12 2020 -0500

ISA 3.1 Reduced-Precision: Outer Product Operations

Add support for:

 pmxvf16ger2 Prefixed Masked VSX Vector 16-bit Floating-Point GER (rank-2
update)
 pmxvf16ger2nn Prefixed Masked VSX Vector 16-bit Floating-Point GER (rank-2
update) (Negative multiply, Negative accumulate)
 pmxvf16ger2np Prefixed Masked VSX Vector 16-bit Floating-Point GER (rank-2
update) (Negative multiply, Positive accumulate)
 pmxvf16ger2pn Prefixed Masked VSX Vector 16-bit Floating-Point GER (rank-2
update) (Positive multiply, Negative accumulate)
 pmxvf16ger2pp Prefixed Masked VSX Vector 16-bit Floating-Point GER (rank-2
update) (Positive multiply, Positive accumulate)
 pmxvf32ger Prefixed Masked VSX Vector 32-bit Floating-Point GER (rank-1
update)
 pmxvf32gernn Prefixed Masked VSX Vector 32-bit Floating-Point GER (rank-1
update) (Negative multiply, Negative accumulate)
 pmxvf32gernp Prefixed Masked VSX Vector 32-bit Floating-Point GER (rank-1
update) (Negative multiply, Positive accumulate)
 pmxvf32gerpn Prefixed Masked VSX Vector 32-bit Floating-Point GER (rank-1
update) (Positive multiply, Negative accumulate)
 pmxvf32gerpp Prefixed Masked VSX Vector 32-bit Floating-Point GER (rank-1
update) (Positive multiply, Positive accumulate)
 pmxvf64ger Prefixed Masked VSX Vector 64-bit Floating-Point GER (rank-1
update)
 pmxvf64gernn Prefixed Masked VSX Vector 64-bit Floating-Point GER (rank-1
update) (Negative multiply, Negative accumulate)
 pmxvf64gernp Prefixed Masked VSX Vector 64-bit Floating-Point GER (rank-1
update) (Negative multiply, Positive accumulate)
 pmxvf64gerpn Prefixed Masked VSX Vector 64-bit Floating-Point GER (rank-1
update) (Positive multiply, Negative accumulate)
 pmxvf64gerpp Prefixed Masked VSX Vector 64-bit Floating-Point GER (rank-1
update) (Positive multiply, Positive accumulate)
 pmxvi16ger2s Prefixed Masked VSX Vector 16-bit Signed Integer GER (rank-2
update) with Saturation
 pmxvi16ger2spp Prefixed Masked VSX Vector 16-bit Signed Integer GER
(rank-2 update) with Saturation (Positive multiply, Positive accumulate)
 pmxvi4ger8 Prefixed Masked VSX Vector 4-bit Signed Integer GER (rank-8
update)
 pmxvi4ger8pp Prefixed Masked VSX Vector 4-bit Signed Integer GER (rank-8
update) (Positive multiply, Positive accumulate)
 pmxvi8ger4 Prefixed Masked VSX Vector 8-bit Signed/Unsigned Integer GER
(rank-4 update)
 pmxvi8ger4pp Prefixed Masked VSX Vector 8-bit Signed/Unsigned Integer GER
(rank-4 update) (Positive multiply, Positive accumulate)

 xvf16ger2 VSX Vector 16-bit Floating-Point GER (rank-2 update)
 xvf16ger2nn VSX Vector 16-bit Floating-Point GER (rank-2 update) (Positive
multiply, Positive accumulate)
 xvf16ger2np VSX Vector 16-bit Floating-Point GER (rank-2 update) (Negative
multiply, Positive accumulate)
 xvf16ger2pn VSX Vector 16-bit Floating-Point GER (rank-2 update) (Positive
multiply, Negative accumulate)
 xvf16ger2pp VSX Vector 16-bit Floating-Point GER (rank-2 update) (Positive
multiply, Positive accumulate)
 xvf32ger VSX Vector 32-bit Floating-Point GER (rank-1 update)
 xvf32gernn VSX Vector 32-bit Floating-Point GER (rank-1 update) (Negative
multiply, Negative accumulate)
 xvf32gernp VSX Vector 32-bit Floating-Point GER (rank-1 update) (Negative
multiply, Positive accumulate)
 xvf32gerpn VSX Vector 32-bit Floating-Point GER (rank-1 update) (Positive
multiply, Negative accumulate)
 xvf32gerpp VSX Vector 32-bit Floating-Point GER (rank-1 update) (Positive
multiply, Positive accumulate)
 xvf64ger VSX Vector 64-bit Floating-Point GER (rank-1 update)
 xvf64gernn VSX Vector 64-bit Floating-Point GER (rank-1 update) (Negative
multiply, Negative accumulate)
 xvf64gernp VSX Vector 64-bit Floating-Point GER (rank-1 update) (Negative
multiply, Positive accumulate)
 xvf64gerpn VSX Vector 64-bit Floating-Point GER (rank-1 update) (Positive
multiply, Negative accumulate)
 xvf64gerpp VSX Vector 64-bit Floating-Point GER (rank-1 update) (Positive
multiply, Positive accumulate)
 xvi16ger2s VSX Vector 16-bit Signed Integer 

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-11 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

--- Comment #19 from Carl Love  ---
Function conv_f16_to_double() uses instruction xscvhpdp which is an ISA 3.1
instruction.  The function is used in the ISA 3.1 instruction support.

I will work on a fix.

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

--- Comment #20 from Carl Love  ---
Created attachment 133275
  --> https://bugs.kde.org/attachment.cgi?id=133275=edit
Fix for the xscvhpdp assembler line issue

The fix in comment 17 took care of the issues for non-Power platforms. 
Unfortunately, older Power platforms that don't support the xscvhpdp
instruction still fail.  The attached patch addresses the issue for the Power
platforms.

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

[valgrind] [Bug 429354] PPC ISA 3.1 support is missing, part 8

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429354

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 429352] PPC ISA 3.1 support is missing, part 7

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

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 429375] New: PPC ISA 3.1 support is missing, part 9

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429375

Bug ID: 429375
   Summary: PPC ISA 3.1 support is missing, part 9
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com
  Target Milestone: ---

Created attachment 133478
  --> https://bugs.kde.org/attachment.cgi?id=133478=edit
VSX- PCV Generate Operation functional support

Power PC  ISA 3.1 support 

This is the 9th buzilla in the series.  

Previous patches are in bugzilla 429354

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

[valgrind] [Bug 429375] PPC ISA 3.1 support is missing, part 9

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429375

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 429375] PPC ISA 3.1 support is missing, part 9

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429375

--- Comment #1 from Carl Love  ---
Created attachment 133479
  --> https://bugs.kde.org/attachment.cgi?id=133479=edit
test cases for VSX-PCV generate operations

Add test cases

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

--- Comment #24 from Carl Love  ---
The gdb support for debugging the user application on Valgrind appears to have
been broken by the reduced precision outer product patch. 

It looks like the addition of the new ACC registers is the issue.  Need to
update the gdbserver files to add the ACC register descriptions and size of
data being transferred.

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

[valgrind] [Bug 427401] PPC ISA 3.1 support is missing, part 5

2020-11-18 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427401

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #8 from Carl Love  ---
No issues seen with these patches in the last couple of weeks.  Closing

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

[valgrind] [Bug 427400] PPC ISA 3.1 support is missing, part 4

2020-11-18 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427400

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #20 from Carl Love  ---
No issues seen with these patches in the last couple of weeks.  Closing.

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

[valgrind] [Bug 425232] PPC ISA 3.1 support is missing, part 2

2020-11-18 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=425232

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #36 from Carl Love  ---
No issues seen with these patches in the last couple weeks.  Closing

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

[valgrind] [Bug 429352] New: PPC ISA 3.1 support is missing, part 7

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

Bug ID: 429352
   Summary: PPC ISA 3.1 support is missing, part 7
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com
  Target Milestone: ---

Created attachment 133458
  --> https://bugs.kde.org/attachment.cgi?id=133458=edit
Functional support for ISA 3.1, New Iops

Power PC missing ISA 3.1 support.  Additional patches, part 7

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #1 from Carl Love  ---
Created attachment 133459
  --> https://bugs.kde.org/attachment.cgi?id=133459=edit
Test cases for new IOps

The test cases

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #2 from Carl Love  ---
This is the 7th bugzilla for the ISA 3.1 Power PC support.  The bugzilla for
part 6 is 427404.

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

[valgrind] [Bug 429354] New: PPC ISA 3.1 support is missing, part 8

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429354

Bug ID: 429354
   Summary: PPC ISA 3.1 support is missing, part 8
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com
  Target Milestone: ---

Created attachment 133461
  --> https://bugs.kde.org/attachment.cgi?id=133461=edit
Functional support for ISA 3.1, VSX Mask manipulation operations

Patches for ISA 3.1 Power PC, part 8

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

[valgrind] [Bug 429354] PPC ISA 3.1 support is missing, part 8

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429354

--- Comment #1 from Carl Love  ---
Created attachment 133462
  --> https://bugs.kde.org/attachment.cgi?id=133462=edit
Test cases for VSX Mask Manipulation operations

Add test case patch

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #3 from Carl Love  ---
Part 8 patches are in bugzilla 429354

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

--- Comment #22 from Carl Love  ---
Committed patch to fux the xscvhpdp assembly code issue.

commit 025bdca23b2fca0dd68b6077426500237aee85c5 (origin/master, origin/HEAD)
Author: Carl Love 
Date:   Thu Nov 12 15:18:23 2020 -0600

PowerPC, fix for conv_f16_to_double xscvhpdp assembler code

The previous commit:

  commit eb82a294573d15c1be663673d55b559a82ca29d3
  Author: Julian Seward 
  Date:   Tue Nov 10 21:10:48 2020 +0100

  Add a missing ifdef, whose absence caused build breakage on non-POWER
targets.

fixed the compile issue in conv_f16_to_double() where non-Power platforms
do not support the power xscvhpdp assembly instructions.  The instruction
is supported by ISA 3.0 platforms.  Older Power platforms still fail to
compile with the assembly instruction.  This patch fixes the if def for
power systems that do not support ISA 3.0.

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-19 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

--- Comment #23 from Carl Love  ---
Next set of patches is in bugzilla 429352.

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-05 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

Carl Love  changed:

   What|Removed |Added

 Attachment #133058|0   |1
is obsolete||

--- Comment #13 from Carl Love  ---
Created attachment 133070
  --> https://bugs.kde.org/attachment.cgi?id=133070=edit
function support ISA 3.1 for reduced precision outer product operations

Updated functional support for reduced precision outer product operations.  The
patch has the patch "Changes to make the setup_fxstate_struct() more precise
merged in to it.

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-05 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

Carl Love  changed:

   What|Removed |Added

 Attachment #132844|0   |1
is obsolete||

--- Comment #10 from Carl Love  ---
Created attachment 133058
  --> https://bugs.kde.org/attachment.cgi?id=133058=edit
function support ISA 3.1 for reduced precision outer product operations

Update the patch.  Re-loaded the old file the last time.

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

[valgrind] [Bug 427404] PPC ISA 3.1 support is missing, part 6

2020-11-05 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=427404

--- Comment #12 from Carl Love  ---
Created attachment 133068
  --> https://bugs.kde.org/attachment.cgi?id=133068=edit
Changes to make the setup_fxstate_struct() more precise.

The following changes were made to the Functional support ISA 3.1 for reduced
precision outer product operations to make the setup_fxstate_struct() more
precise.

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-01-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

--- Comment #1 from Carl Love  ---
Created attachment 134552
  --> https://bugs.kde.org/attachment.cgi?id=134552=edit
patch to add support for the scv instruction

Please test the attached patch to see if it fixes your issue.  Thanks.

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-01-22 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #7 from Carl Love  ---
Created attachment 135083
  --> https://bugs.kde.org/attachment.cgi?id=135083=edit
Fix pcast for existing code

Fix for the pasting of the existing Iops:

Iop_TruncF128toI64S
Iop_TruncF128toI32S
Iop_TruncF128toI64U
Iop_TruncF128toI32U
Iop_ReinterpF64asI64
Iop_ReinterpI64asF64
Iop_ReinterpI32asF32
Iop_ReinterpF32asI32
Iop_ReinterpI64asD64
Iop_ReinterpD64asI64

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-01-22 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

Carl Love  changed:

   What|Removed |Added

 Attachment #133458|0   |1
is obsolete||

--- Comment #6 from Carl Love  ---
Created attachment 135082
  --> https://bugs.kde.org/attachment.cgi?id=135082=edit
Functional support for ISA 3.1 New Iops

Updated patch per Julian's review comments.  

Fixed pcast issues in mc_translate.c.
Cleaned up/removed debug code.
Removed unnecessary comments from development.

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-01-22 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #8 from Carl Love  ---
The regression tests with the above reworked functional test and patch to fix
the pcasting for the existing Iops pass with no new errors.

Note, the test  valgrind  --tool=memcheck --track-origins=yes ./test_isa_3_1_AT
still hits an assertion error.  All of the other ISA 3.1 tests pass with 
"--tool=memcheck" and  "--tool=memcheck --track-origins=yes".  This issue
exists before the patches in this bugzilla are applied.  Still investigating
this issue.

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-01-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #9 from Carl Love  ---
Created attachment 135176
  --> https://bugs.kde.org/attachment.cgi?id=135176=edit
Add ACC support into routine  get_otrack_shadow_offset_wrk()

Looking up the ACC register offset support is missing in 
get_otrack_shadow_offset_wrk ().  This is the cause of the assertion error when
running:

   valgrind --tool=memcheck --track-origins=yes ./test_isa_3_1_AT

This patch fixes the issue.  I have run the regression tests with this patch on
Power 10 and Power 8 BE with no issues.

Please review and if it looks OK, I will commit.  Thanks.

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-01-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

--- Comment #13 from Carl Love  ---
>From discussions with IBM and RedHat, the plan for the short term is mask the
HWCAPS2 to force the use of the sc instruction instead of the newer scv0
instruction.  I will work on a proper fix to support the scv0 instruction.  The
proper fix will consist of the existing scv0 patch I created plus the needed
changes to the PPC Valgrind system call interface to handle the sc and scv0
instructions and 64-bit Linux system call ABI, as given in 

https://www.kernel.org/doc/html/v5.10/powerpc/syscall64-abi.html

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-01-22 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

--- Comment #12 from Carl Love  ---
The Power support for Valgrind treats the Hardware Transactional Memory (HTM)
instructions effectively as NOPs.  The transaction begin instruction (tbegin)
is always failed in Valgrind causing the code to execute the failure path.  

Given that, I don't see any issues with filtering out the HAS_HTM bit.  From
what I can find, the HTM_NOSC is for use by the Kernel to indicate it will
abort the transaction before entering the kernel.  Valgrind only works with
User code so again there should not be any issues with filtering it out.

I see no issues at this point with enabling the scv instruction and filtering
out the HTM hardware caps bits.

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-02-02 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

Carl Love  changed:

   What|Removed |Added

 Attachment #135358|0   |1
is obsolete||

--- Comment #15 from Carl Love  ---
Created attachment 135371
  --> https://bugs.kde.org/attachment.cgi?id=135371=edit
patch to add support for the scv instruction

Cleaned up formatting, spacing and a minor functional fix.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-05-07 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

--- Comment #6 from Carl Love  ---
Julian:

On Fri, 2021-05-07 at 14:12 +, Julian Seward wrote:
> https://bugs.kde.org/show_bug.cgi?id=435665 
> 
> --- Comment #5 from Julian Seward  ---
> I'm somewhat concerned, at a fundamental level .. if I understand
> correctly, these instructions allow one to copy memory from one
> place to another (so why bother?  Why not just do normal
> loads/stores?)
> but -- at least as implemented -- there's no way to tell Memcheck
> or any other tool, that the values in the destination area are
> derived from values in the source area.  So you'll wind up with
> definedness false positives or negatives as a result of using them.
> 
> Can you explain the background to the insns, what they are used for,
> etc, so we can see if there's an implementation that fits better
> in the instrumentation framework?
> 

The instructions were added to communicate with optional hardware
accelerator units that a system may have.  The copy/paste instructions
an also be used to implement memcopy.

To use a hardware accelerator a the user program makes an OS call to
register the hardware accelerator.  The user program maps a memory
region for the accellerator into its program space.  The user program
can then communicate with the accelerator reading/writing to the memory
region,  The copy and paste instruction are used to move the data
to/from the mapped memory for the hardware accelerator.  The hardware
only allows the copy and paste instructions to be used to communicate
with the accelerators.  Normal loads and stores can not be used.  If
you try to use normal loads/stores you get a bus error.

The document:

 https://github.com/libnxz/power-gzip/blob/master/doc/power_nx_gzip_um.pdf

describes this in more detail.   I haven't actually written an code for
an accelerator but I was given some test programs for use in the
Valgrind support development.  One of the tests is a simple memcopy
program without an accelerator.  The other test communicate with an
accelerator.  The specific instructions are described in the ISA

https://ibm.ent.box.com/s/1hzcwkwf8rbju5h9iyf44wm94amnlcrv

I believe the layout for the memory used to communicate could be
different for each accelerator.  The memory will be changed by the
accelerator.  I don't think there is anyway we could know what parts of
the memory were changed (initialized or not) by the accelerator prior
to a copy from the mapped memory region back to a data structure in the
user program.  The instructions require the entire 128byes to be
copied/pasted.  You can not do a subset of the 128-byte memory.

In my first attempt at supporting the instructions, I created a new
128-byte "copy buffer register' in the guest state.  I had the copy and
paste instructions explicitly copy and paste to the guest state copy
buffer register.  I also had a guest state register to track the status
of a copy/paste in progress or not so I could detect errors.  This
worked for the memory copy program.  I would still have to have the
host do a copy/paste of the guest copy buffer register.  I would have
to get the mapped address from the instruction to then do the
copy/paste of the guest copy buffer.  It was all rather a mess.  I saw
no benefit in having a guest copy buffer.  

Since I have to use the copy and paste instructions, I really didn't
see any other way to handle these instructions other then using a dirty
helper to actually do the operations on the host.  

I can send you the test programs if that helps.

Carl

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-05-10 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

Carl Love  changed:

   What|Removed |Added

 CC||tul...@quites.com.br

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-05-28 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

Carl Love  changed:

   What|Removed |Added

 Attachment #137535|0   |1
is obsolete||
 Attachment #138168|0   |1
is obsolete||

--- Comment #10 from Carl Love  ---
Created attachment 138846
  --> https://bugs.kde.org/attachment.cgi?id=138846=edit
PPC add copy, paste, cpabort support

Updated patch to add the Memcheck trickery to get Memcheck to detect undefined
bits in the copy paste buffer.

In comment 9, you mentioned that the dirty handler didn't return a value. 
Actually it returns the 8-bit CR0 value in a UInt.  

The suggestion was to have the dirty helper return a UWord.  Unfortunately
UWord is not defined.  I tested using a ULong and a UInt as the dirty helper
return value and both seem to work.  I went with the UInt as it is a little
easier to extract the CR0 value.  Not sure if there is something in the
trickery that requires ULong instead of UInt?

The IRStmt_Exit() call was modified to mask out the lower 8-bits where the CR0
value is returned before comparing against zero.  The dirty helper ensures that
the upper 24-bits are all zero.  

Per the suggested testing, I tested with all bits defined.  Valgrind does not
report an error.  When one or all of the buffer bytes are undefined Valgrind
reports:

=885408== Conditional jump or move depends on uninitialised value(s)
==885408==at 0x180890: test_copy (test_copy_paste1.c:18)
==885408==by 0x180963: main (test_copy_paste1.c:50)

as expected.  

I also tested removing the masking out of the CR0 field and verified the sig
trap is generated. The message was:

==836609== Memcheck, a memory error detector
==836609== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==836609== Using Valgrind-3.18.0.GIT and LibVEX; rerun with -h for copyright
inf
o
==836609== Command: ./test_copy_paste2
==836609== 
==836609== Conditional jump or move depends on uninitialised value(s)
==836609==at 0x180890: test_copy (test_copy_paste2.c:18)
==836609==by 0x180A0F: main (test_copy_paste2.c:79)
==836609== 
==836609== 
==836609== Process terminating with default action of signal 5 (SIGTRAP)
==836609==at 0x180890: test_copy (test_copy_paste2.c:18)
==836609==by 0x180A0F: main (test_copy_paste2.c:79)
==836609== 
==836609== HEAP SUMMARY:
==836609== in use at exit: 0 bytes in 0 blocks
==836609==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==836609== 
==836609== All heap blocks were freed -- no leaks are possible
==836609== 
==836609== Use --track-origins=yes to see where uninitialised values come from
==836609== For lists of detected and suppressed errors, rerun with: -s
==836609== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Trace/breakpoint trap (core dumped)

The code was commented based on Julian's explanation in comment 9 to document
how the trickery works.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-06-02 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

--- Comment #12 from Carl Love  ---
Tulio:

I think you are probably better able to clarify the comment from Julian in
comment 11.

> The point is .. if I understand "paste" correctly, the destination address is
> not part of the "normal" program address space.  So the Ifx_Write annotation
> in this case is irrelevant.  Indeed, if the destination address is part of
> *some other* address space, then we actually need to omit that Ifx_Write
> annotation, because othewise Memcheck will update its status bits for that
> address range in this program's address space, which would be wrong.

The destination address for the paste instruction is always imapped into the
current user address space, correct?   

Assuming Tulio agrees, than we will always want to have the Ifx_Write
annotation.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-06-02 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

Carl Love  changed:

   What|Removed |Added

 Attachment #138846|0   |1
is obsolete||

--- Comment #15 from Carl Love  ---
Created attachment 138960
  --> https://bugs.kde.org/attachment.cgi?id=138960=edit
PPC add copy, paste, cpabort support

Updated patch 

- Added #if defined(__powerpc__) around body of copy_paste_abort_dirty_helper()
function.
- Changed "asm volitile" to "__asm__ __volitile__" for the copy, paste and
cpabort instructions in the copy_paste_abort_dirty_helper() function to make it
consistent with other inline assembly.  

- Added clarifying comments about the paste instruction per comment 11

I retested the patch with the above changes.  

I believe all concerns have now been addressed.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-06-03 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

Carl Love  changed:

   What|Removed |Added

 Status|REPORTED|RESOLVED
 Resolution|--- |FIXED

--- Comment #16 from Carl Love  ---
Patch committed.

commit fa4d21af44861e504a398412c9a120b28d6ceb4e (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Thu May 27 11:54:22 2021 -0500

PPC64: Add support for copy, cpabort, paste instructions

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-06-03 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #17 from Carl Love  ---
Closing

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-05-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #31 from Carl Love  ---
closing

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-05-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

Carl Love  changed:

   What|Removed |Added

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

--- Comment #30 from Carl Love  ---
patch committed

commit 8f69756a2215e396b93573c9568cab00cc6c116d (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Tue May 4 14:49:49 2021 -0500

PPC64: add support for the vectored system call instruction scv.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-05-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

--- Comment #3 from Carl Love  ---
Created attachment 138153
  --> https://bugs.kde.org/attachment.cgi?id=138153=edit
fixes for the copy, paste patch

Yes, the dirty helper effects for the guest memory state is missing.  My bad. 
The copy instruction reads from the guest memory and the paste instruction
writes to guest memory.  The cpabort instruction does not touch the guest
state.  Rather it resets the copy paste state in the underlying host hardware. 
Not sure how to reflect that in the dirty helper effects.  I set the effect to
read from address 0 which is really not accurate.  Really need another
identifier for "no change"?

I have attached a patch with the fixes for comments.  Please let me know if the
changes for copy and paste look OK, and any thoughts how to fix the cpabort
effects.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-05-05 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

Carl Love  changed:

   What|Removed |Added

 Attachment #138153|0   |1
is obsolete||

--- Comment #4 from Carl Love  ---
Created attachment 138168
  --> https://bugs.kde.org/attachment.cgi?id=138168=edit
fixes for the copy, paste patch

Updated fixes patch

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-05-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

Carl Love  changed:

   What|Removed |Added

 Attachment #137204|0   |1
is obsolete||

--- Comment #8 from Carl Love  ---
Created attachment 138144
  --> https://bugs.kde.org/attachment.cgi?id=138144=edit
patch to add darn instruction support

Updated the patch.  Added a comment to thedis_darn() function in
guest_ppc_toIR.c and darn_dirty_helper in guest_ppc_helpers stating the dirty
helper does not change the guest state or guest memory.  It simply returns the
value from running the darn instruction on the host.

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-05-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

--- Comment #9 from Carl Love  ---
Patch committed.

commit 8afb49abe04a341d60b441c1f09a956aeccf0bbb (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Mon Mar 22 17:55:05 2021 -0500

PPC64: Add support for the darn instruction

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-05-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REPORTED|RESOLVED

--- Comment #10 from Carl Love  ---
Closing issue

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-05-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-02-01 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

Carl Love  changed:

   What|Removed |Added

 Attachment #134552|0   |1
is obsolete||

--- Comment #14 from Carl Love  ---
Created attachment 135358
  --> https://bugs.kde.org/attachment.cgi?id=135358=edit
patch to add support for the scv instruction

I have updated the scv support patch.  The new patch adds the needed support to
parse the scv instruction in guest_ppc_toIR.c.  It adds the needed support to
call the sc or the scv instruction in the power assembly system call wrapper
function, fixes up the setting of the at_restart and in_complete_to_committed
variables and finally adds a test case for the sc and scv instructions.  

The patch has been tested on Power 8 BE, Power 8 LE, Power 9 (ISA 3.0) with
kernel support for the scv instruction, Power 9 (ISA 3.0) without kernel
support for the scv instruction and on a prototype ISA 3.1 hardware.  The patch
works without adding new regression errors.

Julian can you please review the patch.  Thanks.

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

[valgrind] [Bug 434840] New: PPC64 darn instruction not supported

2021-03-23 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

Bug ID: 434840
   Summary: PPC64 darn instruction not supported
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com
  Target Milestone: ---

PPC 64 the ISA 3.0 darn (deliver a random number) instruction is not supported

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-03-23 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

--- Comment #1 from Carl Love  ---
Created attachment 136990
  --> https://bugs.kde.org/attachment.cgi?id=136990=edit
patch to add darn instruction support

The attached patch to add support for the darn instruction uses a clean helper
to add the support.  The clean helper uses an inline assembly statement to call
the
darn (Deliver a Random Number) instruction.  This is not the normal or
preferred way to support an instruction.  AMD 64 used a dirty helper to support
its random number generator.  I looked at C code random number generators but
did not a good solution.  

Julian, please let me know if you are ok with this non-standard implementation
for supporting the random number generation instruction.

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-03-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

Carl Love  changed:

   What|Removed |Added

 Attachment #136175|0   |1
is obsolete||

--- Comment #27 from Carl Love  ---
Created attachment 137063
  --> https://bugs.kde.org/attachment.cgi?id=137063=edit
patch to add support for the scv instruction

Updated the scv instruction support patch.  The scv instruction requires Linux
kernel  5.10.11 or newer.  The initial patch development was on an older kernel
so wasn't actually exercising the scv paths in the original patch.  That is why
Mark ran into issues with the patch.

One issue with the patch is the SC_FLAG and SCV_FLAG defines.  These #defines
were created to set a flag indicating which system call instruction is to be
used.  Unfortunately I could not find an include file that is visible in VEX as
well as coregrind/m_syswrap and in coregrind/pub_core_syscall.h.   As a result,
I had to add the defines for these values in three different places with a
comment pointing at the other locations.  Rather ugly.  Wasn't sure if we
wanted to create an include file for these that would then be globally
available??  Suggestions on how to better was to make these defines more
globally visible would be nice.

The patch has been tested on Power 8LE, Power 8BE, Power 9 (with scv support)
and prototype ISA 3.1 hardware.

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

[valgrind] [Bug 434849] The vdso is not available when running on ppc64*

2021-03-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434849

--- Comment #1 from Carl Love  ---
The issue does not appear to be just on the PPC platform.  I tried the same
test on my Intel laptop running a REL release

more /etc/redhat-release
Red Hat Enterprise Linux release 8.3 (Ootpa)

 and see the same issue

 LD_SHOW_AUXV=1 valgrind /bin/true
AT_SYSINFO_EHDR: 0x7ffc587c4000
AT_HWCAP:bfebfbff
AT_PAGESZ:   4096
AT_CLKTCK:   100
AT_PHDR: 0x559a635f1040
AT_PHENT:56
AT_PHNUM:11
AT_BASE: 0x7f5ced33d000
AT_FLAGS:0x0
AT_ENTRY:0x559a635f2580
AT_UID:  1000
AT_EUID: 1000
AT_GID:  1000
AT_EGID: 1000
AT_SECURE:   0
AT_RANDOM:   0x7ffc5864ab99
AT_HWCAP2:   0x0
AT_EXECFN:   /usr/bin/valgrind
AT_PLATFORM: x86_64
==39447== Memcheck, a memory error detector
==39447== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==39447== Using Valgrind-3.16.0 and LibVEX; rerun with -h for copyright info
==39447== Command: /bin/true
==39447== 
AT_HWCAP:bfebfbff
AT_PAGESZ:   4096
AT_CLKTCK:   100
AT_PHDR: 0x108040
AT_PHENT:56
AT_PHNUM:10
AT_BASE: 0x400
AT_FLAGS:0x0
AT_ENTRY:0x109740
AT_UID:  1000
AT_EUID: 1000
AT_GID:  1000
AT_EGID: 1000
AT_SECURE:   0
AT_RANDOM:   0x1fff000fdc
AT_EXECFN:   /bin/true
AT_PLATFORM: x86_64
==39447== 
==39447== HEAP SUMMARY:
==39447== in use at exit: 0 bytes in 0 blocks
==39447==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==39447== 
==39447== All heap blocks were freed -- no leaks are possible
==39447== 
==39447== For lists of detected and suppressed errors, rerun with: -s
==39447== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

Carl Love  changed:

   What|Removed |Added

 Attachment #136999|0   |1
is obsolete||

--- Comment #6 from Carl Love  ---
Created attachment 137204
  --> https://bugs.kde.org/attachment.cgi?id=137204=edit
patch to add darn instruction support

Updated patch

Fixed:

  Return false on L=3 to generate SIGILL on illegal instruction.

  Removed #else clause in dirty helper as the return value, val, is already set 
  to the error value.

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

Carl Love  changed:

   What|Removed |Added

 Attachment #137201|0   |1
is obsolete||

--- Comment #10 from Carl Love  ---
Created attachment 137202
  --> https://bugs.kde.org/attachment.cgi?id=137202=edit
functional support ISA 3.1 for reduced precision outer product operations

uploaded the wrong file last time

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

[valgrind] [Bug 429375] PPC ISA 3.1 support is missing, part 9

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429375

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REPORTED|RESOLVED

--- Comment #6 from Carl Love  ---
Patches committed 3/30/2021

commit f69bcfc64233a84be4378fed9ec2ddf1d1ec4bcc
Author: Carl Love 
Date:   Mon Nov 16 19:09:47 2020 -0600

VSX Permute Control Vector Generate Operation tests.

commit 3cc0232c46a5905b4a6c2fbd302b58bf5f90b3d5
Author: Carl Love 
Date:   Mon Jan 11 16:00:57 2021 -0600

PPC64: ISA 3.1 VSX PCV Generate Operations

xgenpcvbm VSX Vector Generate PCV from Byte Mask
xxgenpcvdmVSX Vector Generate PCV from Doubleword Mask
xxgenpcvhmVSX Vector Generate PCV from Halfword Mask
xxgenpcvwmVSX Vector Generate PCV from Word Mask

Closing bugzilla

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

Carl Love  changed:

   What|Removed |Added

 Attachment #136291|0   |1
is obsolete||

--- Comment #9 from Carl Love  ---
Created attachment 137201
  --> https://bugs.kde.org/attachment.cgi?id=137201=edit
functional support ISA 3.1 for reduced precision outer product operations

Updating patch with requested changes

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

Carl Love  changed:

   What|Removed |Added

 Attachment #136293|0   |1
is obsolete||

--- Comment #11 from Carl Love  ---
Created attachment 137203
  --> https://bugs.kde.org/attachment.cgi?id=137203=edit
functional support for ISA 3.1 Reduced precision missing integer-based outer
product operations

Update the functional support for the missing integer-based outer product
operations

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

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

commit c589b652939655090c005a982a71f50c489fb5ce (HEAD -> master, origin/master,
origin/HEAD)
Author: root 
Date:   Fri Feb 12 16:00:53 2021 -0500

Reduced precision Missing Integer based outer tests

commit e09fdaf569b975717465ed8043820d0198d4d47d
Author: Carl Love 
Date:   Fri Feb 26 16:05:12 2021 -0600

PPC64: Reduced-Precision: Missing Integer-based Outer Product Operations

Add support for:

pmxvi16ger2 VSX Vector 16-bit Signed Integer GER (rank-2 update), Prefixed
   Masked
pmxvi16ger2pp VSX Vector 16-bit Signed Integer GER (rank-2 update)
(Positive
   multiply, Positive accumulate), Prefixed Masked
pmxvi8ger4spp VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update)
with
   Saturation (Positive multiply, Positive accumulate), Prefixed Masked
xvi16ger2 VSX Vector 16-bit Signed Integer GER (rank-2 update)
xvi16ger2pp VSX Vector 16-bit Signed Integer GER (rank-2 update) (Positive
   multiply, Positive accumulate)
xvi8ger4spp VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update)
with
   Saturation (Positive multiply, Positive accumulate)

commit c8fa838be405d7ac43035dcf675bf490800c26ec
Author: root 
Date:   Fri Feb 12 15:59:32 2021 -0500

Reduced Precision bfloat16 outer product tests

commit 078f89e99b6f62e043f6138c6a7ae238befc1f2a
Author: Carl Love 
Date:   Fri Feb 26 15:46:55 2021 -0600

PPC64: Reduced-Precision - bfloat16 Outer Product & Format Conversion
Operations

Add support for:

pmxvbf16ger2 Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update)
pmxvbf16ger2pp Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update)
Positive
  multiply, Positive accumulate
pmxvbf16ger2pn Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update)
Positive
  multiply, Negative accumulate
pmxvbf16ger2np Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update)
Negative
  multiply, Positive accumulate
pmxvbf16ger2nn Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update)
Negative
  multiply, Negative accumulate
xvbf16ger2VSX Vector bfloat16 GER (Rank-2 Update)
xvbf16ger2pp VSX Vector bfloat16 GER (Rank-2 Update) Positive multiply,
Positive
  accumulate
xvbf16ger2pn VSX Vector bfloat16 GER (Rank-2 Update) Positive multiply,
Negative
  accumulate
xvbf16ger2np VSX Vector bfloat16 GER (Rank-2 Update) Negative multiply,
Positive
  accumulate
xvbf16ger2nn VSX Vector bfloat16 GER (Rank-2 Update) Negative multiply,
Negative
  accumulate
xvcvbf16sp VSX Vector Convert bfloat16 to Single-Precision format
xvcvspbf16 VSX Vector Convert with round Single-Precision to bfloat16
format

closing bug

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

Carl Love  changed:

   What|Removed |Added

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

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #13 from Carl Love  ---
Closing the bugzilla

ISA 3.1 support is now complete

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

[valgrind] [Bug 429375] PPC ISA 3.1 support is missing, part 9

2021-03-31 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429375

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-03-23 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

--- Comment #3 from Carl Love  ---
Argh, I inadvertently added the alternate C code solution.  That was for
playing.  I thought I had removed that.  

I will change to a dirty helper and get rid of the C code solution.  Thanks

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

[valgrind] [Bug 434840] PPC64 darn instruction not supported

2021-03-23 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=434840

Carl Love  changed:

   What|Removed |Added

 Attachment #136990|0   |1
is obsolete||

--- Comment #4 from Carl Love  ---
Created attachment 136999
  --> https://bugs.kde.org/attachment.cgi?id=136999=edit
patch to add darn instruction support

Updated the patch.
 -  Removed the C code random number generator code.  Was not supposed to be
included in previous patch.

  -  Reworked the helper to make it a dirty helper that returns the random
value.

Patch tested on Power 8, Power 9 and on ISA 3.1 prototype hardware.

Please let me know if the updated patch is good to go.  Thanks.

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #12 from Carl Love  ---
Created attachment 136159
  --> https://bugs.kde.org/attachment.cgi?id=136159=edit
Change names from trinary to ternary in existing code

Per the comment from Julian to use ternary not trinary, this patch was created
to change existing uses of trinary to ternary.  Adding it to the bugzilla so
all patches are documented in the bugzilla.

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

Carl Love  changed:

   What|Removed |Added

 Attachment #135082|0   |1
is obsolete||

--- Comment #11 from Carl Love  ---
Created attachment 136158
  --> https://bugs.kde.org/attachment.cgi?id=136158=edit
Functional support for ISA 3.1 New Iops

Updated patch based on comments

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

Carl Love  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REPORTED|RESOLVED

--- Comment #14 from Carl Love  ---
Closing bugzilla

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

--- Comment #15 from Carl Love  ---
FYI, it has been brought to my attention that in the name changing patch I have
a typo  Fp128Ternnary not Fp128Ternary.  However, the typo is then fixed in the
patch to add new IOps.  Looks like I merged the spelling fix into the wrong
patch during development.  The mainline code looks fine.

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

[valgrind] [Bug 429354] PPC ISA 3.1 support is missing, part 8

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429354

Carl Love  changed:

   What|Removed |Added

 Attachment #133461|0   |1
is obsolete||

--- Comment #5 from Carl Love  ---
Created attachment 136162
  --> https://bugs.kde.org/attachment.cgi?id=136162=edit
Functional support for ISA 3.1, VSX Mask manipulation operations

Updated the patch per comments.

I looked at the suggestions on how to make copy_MSB_bit_fields() more
efficient.  PPC64 supports doing the basic algorithm that was outlined as a
single V128 value except for doing the sum across lanes.  That would need to be
done using a clean helper.  In studying the code, I realized that the
copy_MSB_bit_fields() is very similar to the ISA 3.1 instruction vgnb.  The
difference is the result is stored in the low order bits not the high order
bits.  I rewrote copy_MSB_bit_fields() using the vgnb implementation as a base
leveraging the existing clean helpers.  The new function is much more
efficient.  Although I didn't use the suggested algorithm, it was very helpful
to study.  I realized that a number of the other instructions in the patch
could be done using the arithmetic right shift much more efficiently without
the use of the copy_MSB_bit_fields() or the "for(i = 0; i< max; i++)" which
Julian had concerns about.

Reimplemented the vexpandbm, vexpanddmn, vexpandhm, vexpandwm instructions 
eliminating the call to copy_MSB_bit_fileds() and the need for the
for(i = 0; i< max; i++) loop.  The new implementation is much more efficient.

Reimplemented the mtvsrbm, mtvsrhm, mtvsrwm, mtvsrdm instructions to remove the
need for the for(i = 0; i< max; i++) loop.  The new implementation is much more
efficient.

The for(i = 0; i< max; i++) has been removed.

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

[valgrind] [Bug 429352] PPC ISA 3.1 support is missing, part 7

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429352

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

commit 6daaeb0ff45af6b39f14003e392992a5ac7d51c8 (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Wed Nov 4 12:23:53 2020 -0600

PPC64: 128-bit Binary Integer Operations, part tests.

commit affeb57ccd48a77cd7b18e56191e1eb72152c13e
Author: Carl Love 
Date:   Fri Jan 22 14:13:04 2021 -0600

PPC64: ISA 3.1 (new Iops) 128-bit Binary Integer Operations

Add support for:

  dcffixqq DFP Convert From Fixed Quadword Quad
  dctfixqq DFP Convert To Fixed Quadword Quad

  vdivesq Vector Divide Extended Signed Quadword
  vdiveuq Vector Divide Extended Unsigned Quadword
  vdivsq Vector Divide Signed Quadword
  vdivuq Vector Divide Unsigned Quadword

  vmodsq Vector Modulo Signed Quadword
  vmoduq Vector Modulo Unsigned Quadword
  vmulesd Vector Multiply Even Signed Doubleword
  vmuleud Vector Multiply Even Unsigned Doubleword
  vmulosd Vector Multiply Odd Signed Doubleword
  vmuloud Vector Multiply Odd Unsigned Doubleword
  vmsumcud Vector Multiply-Sum & write Carry-out Unsigned Doubleword

  xscvqpsqz VSX Scalar Convert with round to zero Quad-Precision to Signed
Quadword
  xscvqpuqz VSX Scalar Convert with round to zero Quad-Precision toUnsigned
Quadword
  xscvsqqp VSX Scalar Convert Signed Quadword to Quad-Precision
  xscvuqqp VSX Scalar Convert Unsigned Quadword to Quad-Precision

commit 5defeb017f94686aa4c746729ff5eca35aa79fb1
Author: Carl Love 
Date:   Mon Feb 22 12:11:05 2021 -0600

PPC64: Fix naming trinary to ternary

commit 953f54085dfb06e53b47d1d08e4014bac2202282
Author: Carl Love 
Date:   Mon Jan 25 11:44:12 2021 -0600

PPC64: Add ACC register file registers to
get_otrack_shadow_offset_wrkget_otrack_shadow_offset_wrk()

commit 4ebdf8653859ac31f4f9e6c0f4ec4e0114498d7c
Author: Carl Love 
Date:   Fri Jan 22 13:15:20 2021 -0600

PPC64: Fix V-bit casting for existing Iops.

Iop_TruncF128toI64S, Iop_TruncF128toI32S, Iop_TruncF128toI64U,
Iop_TruncF128toI32U, Iop_ReinterpI32asF32, Iop_ReinterpF32asI32,
Iop_ReinterpF64asI64, Iop_ReinterpI64asF64, Iop_ReinterpI64asD64,
Iop_ReinterpD64asI64

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

[valgrind] [Bug 429375] PPC ISA 3.1 support is missing, part 9

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429375

Carl Love  changed:

   What|Removed |Added

 Attachment #134757|0   |1
is obsolete||

--- Comment #4 from Carl Love  ---
Created attachment 136163
  --> https://bugs.kde.org/attachment.cgi?id=136163=edit
VSX-PCV Generate Operation functional support

Addressed comments from Julian to add static or comment about called from
generated code to the various functions. Added vassert(0) instead of prints as
requested. Removed redundant return statements. 

VSX-PCV Generate Operation function support patch has been retested and passed
regressing tests.

No changes were made to the test cases for VSX-PCV generate operations.

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-02-25 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

Carl Love  changed:

   What|Removed |Added

 Attachment #135371|0   |1
is obsolete||

--- Comment #18 from Carl Love  ---
Created attachment 136175
  --> https://bugs.kde.org/attachment.cgi?id=136175=edit
patch to add support for the scv instruction

Rebased patch on Vaglrind mainline, enabled SCV which was masked out in Mark's
committed patch.   Tested on Power 8 LE, Power BE, Power 9 and prototype
hardware using latest glibc that I can get.  The patch seems to be working and
regression tests pass.  Note, with the latest glibc there are a number of new
regression test failures specifically in helgrind without applying the scv
patch.  The SCV patch doesn't seem to introduce any additional issues.  Will
look into the new baseline regression test failures.

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

[valgrind] [Bug 429354] PPC ISA 3.1 support is missing, part 8

2021-03-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429354

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

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

[valgrind] [Bug 429354] PPC ISA 3.1 support is missing, part 8

2021-03-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429354

Carl Love  changed:

   What|Removed |Added

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

--- Comment #8 from Carl Love  ---
closing

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

[valgrind] [Bug 429354] PPC ISA 3.1 support is missing, part 8

2021-03-04 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=429354

Carl Love  changed:

   What|Removed |Added

 Status|REPORTED|CONFIRMED
 Ever confirmed|0   |1

--- Comment #7 from Carl Love  ---

Patches committed.

commit 3c31707cd3d795bcdd3afc540b5aad75d1e50008 (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Mon Nov 16 19:53:22 2020 -0600

VSX Mask Manipulation operation tests.

commit 82777ee4080a339fb16d970411b743598b00590c
Author: Carl Love 
Date:   Fri May 1 23:49:33 2020 -0500

ISA 3.1 VSX Mask Manipulation Operations

Add support for:

mtvsrbmMove to VSR Byte Mask
mtvsrbmiMove To VSR Byte Mask Immediate
mtvsrdmMove to VSR Doubleword Mask
mtvsrhmMove to VSR Halfword Mask
mtvsrqmMove to VSR Quadword Mask
mtvsrwmMove to VSR Word Mask
vcntmbbVector Count Mask Bits Byte
vcntmbdVector Count Mask Bits Doubleword
vcntmbhVector Count Mask Bits Halfword
vcntmbwVector Count Mask Bits Word
vexpandbmVector Expand Byte Mask
vexpanddmVector Expand Doubleword Mask
vexpandhmVector Expand Halfword Mask
vexpandqmVector Expand Quadword Mask
vexpandwmVector Expand Word Mask
vextractbmVector Extract Byte Mask
vextractdmVector Extract Doubleword Mask
vextracthmVector Extract Halfword Mask
vextractqmVector Extract Quadword Mask
vextractwmVector Extract Word Mask

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

[valgrind] [Bug 433801] New: PPC ISA 3.1 support is missing, part 10

2021-03-01 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

Bug ID: 433801
   Summary: PPC ISA 3.1 support is missing, part 10
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: sgcheck
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com
  Target Milestone: ---

This bugzilla is for the final set of patches to add support for the Power ISA
3.1 instructions. 

The previous set of patches is in bugzilla 429375.

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-01 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

--- Comment #4 from Carl Love  ---
Created attachment 136294
  --> https://bugs.kde.org/attachment.cgi?id=136294=edit
functional tests for  Reduced-Precision: Missing Integer-based Outer   Product
Operations

Functional tests for the  Reduced-Precision: Missing Integer-based Outer 
 Product Operations instructions

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-01 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

--- Comment #1 from Carl Love  ---
Created attachment 136291
  --> https://bugs.kde.org/attachment.cgi?id=136291=edit
Reduced-Precision - bfloat16 Outer Product &   Format Conversion Operations

Add support for:

pmxvbf16ger2 Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update)
pmxvbf16ger2pp Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update) Positive
  multiply, Positive accumulate
pmxvbf16ger2pn Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update) Positive
  multiply, Negative accumulate
pmxvbf16ger2np Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update) Negative
  multiply, Positive accumulate
pmxvbf16ger2nn Prefixed Masked VSX Vector bfloat16 GER (Rank-2 Update) Negative
  multiply, Negative accumulate
xvbf16ger2VSX Vector bfloat16 GER (Rank-2 Update)
xvbf16ger2pp VSX Vector bfloat16 GER (Rank-2 Update) Positive multiply,
Positive
  accumulate
xvbf16ger2pn VSX Vector bfloat16 GER (Rank-2 Update) Positive multiply,
Negative
  accumulate
xvbf16ger2np VSX Vector bfloat16 GER (Rank-2 Update) Negative multiply,
Positive
  accumulate
xvbf16ger2nn VSX Vector bfloat16 GER (Rank-2 Update) Negative multiply,
Negative
  accumulate
xvcvbf16sp VSX Vector Convert bfloat16 to Single-Precision format
xvcvspbf16 VSX Vector Convert with round Single-Precision to bfloat16 format

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-01 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

--- Comment #3 from Carl Love  ---
Created attachment 136293
  --> https://bugs.kde.org/attachment.cgi?id=136293=edit
PPC64: Reduced-Precision: Missing Integer-based Outer   Product Operations

Add support for:

pmxvi16ger2 VSX Vector 16-bit Signed Integer GER (rank-2 update), Prefixed
   Masked
pmxvi16ger2pp VSX Vector 16-bit Signed Integer GER (rank-2 update) (Positive
   multiply, Positive accumulate), Prefixed Masked
pmxvi8ger4spp VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update) with
   Saturation (Positive multiply, Positive accumulate), Prefixed Masked
xvi16ger2 VSX Vector 16-bit Signed Integer GER (rank-2 update)
xvi16ger2pp VSX Vector 16-bit Signed Integer GER (rank-2 update) (Positive
   multiply, Positive accumulate)
xvi8ger4spp VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update) with
   Saturation (Positive multiply, Positive accumulate)

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-01 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

--- Comment #2 from Carl Love  ---
Created attachment 136292
  --> https://bugs.kde.org/attachment.cgi?id=136292=edit
functional tests for Reduced-Precision - bfloat16 Outer Product &   Format
Conversion Operations

Functional tests for the Reduced-Precision - bfloat16 Outer Product & 
 Format Conversion Operations instructions

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

[valgrind] [Bug 433801] PPC ISA 3.1 support is missing, part 10

2021-03-01 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=433801

Carl Love  changed:

   What|Removed |Added

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

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

[valgrind] [Bug 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-03-05 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

--- Comment #26 from Carl Love  ---
Julian:

Yes, that is correct, the return value for an error is negative.  The
condition code register is not used.  

On Fri, 2021-03-05 at 09:57 +, Julian Seward wrote:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.kde.org_show-5Fbug.cgi-3Fid-3D431157=DwIFaQ=jf_iaSHvJObTbx-siA1ZOg=RFEmMkZAk--_wFGN5tkM_A=LDVfEmUd-H_cdiL0yAJIDD4f9GlVpf4oXZSJe8xr5xU=xZmlKz03m2k_wUJhzUNSKgExgb7_Drdzz2_0WAG3yrg=
>  
> 
> --- Comment #23 from Julian Seward  ---
> (In reply to Tom Hughes from comment #22)
> > So if thinks the open was a success with a negative file descriptor
> > returned?
> 
> Ah, maybe it's trying to tell us something :-)  I vaguely remember
> reading
> that this new syscall convention denotes failure by returning a value
> between
> -1 and -4096 [bizarrely, like x86-32 in the earliest days of
> Linux].  If that's
> true, it would imply that the call was passed to the kernel using the
> new 
> convention, it failed, but we mistakenly believe, in the post-syscall 
> handling,
> that it succeeded.
>

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

[valgrind] [Bug 435665] New: PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-04-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

Bug ID: 435665
   Summary: PPC ISA 3.0 copy, paste, cpabort instructions are not
supported
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com
  Target Milestone: ---

The copy, paste and cpabort instructions are not supported.  They require
kernel support which has recently been added.  These instructions can be used
to do a 128byte block memcopy.  They can also be used to communicate with
hardware accelerators if they exist on the host system.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-04-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

--- Comment #1 from Carl Love  ---
Created attachment 137535
  --> https://bugs.kde.org/attachment.cgi?id=137535=edit
PPC add copy, paste, cpabort support

The patch uses a dirty helper to support the copy, paste, abort instructions. 
A dirty helper was used.  Hardware accelerators require the use of the copy,
paste and cpabort instructions for the user program to communicate.  Thus the
instructions must be issued on the host system with the address of the data to
be copied/pasted.  Cannot emulate the instructions with Iops.  

Julian, please review the patch and let me know if it looks OK.  Thanks.

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

[valgrind] [Bug 435665] PPC ISA 3.0 copy, paste, cpabort instructions are not supported

2021-04-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=435665

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 431157] PPC_FEATURE2_SCV needs to be masked in AT_HWCAP2

2021-04-16 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=431157

--- Comment #28 from Carl Love  ---
Mark,

I was wondering if you have had a chance to try out the updated version of the
scv patch.  The updated patch takes care of the synchronous and asynchronous
call paths.  You do need to make sure you are testing with a kernel that is new
enough to support scv and is not a partitioned system.  Currently scv is not
supported on partitioned systems from what I understand.

Please let me know if see any issues with the updated patch.  Thanks.

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

[valgrind] [Bug 432861] PPC modsw and modsd give incorrect results for 1 mod 12

2021-02-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=432861

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 432861] PPC modsw and modsd give incorrect results for 1 mod 12

2021-02-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=432861

--- Comment #1 from Carl Love  ---
Created attachment 135639
  --> https://bugs.kde.org/attachment.cgi?id=135639=edit
Patch to fix the modsw and modsd instructions

The patch has the fix for the modsw and modsd instructions.  Also adds a
testcase for the signed, unsigned versions of the mod instruction for both word
and long types.

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

[valgrind] [Bug 432861] PPC modsw and modsd give incorrect results for 1 mod 12

2021-02-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=432861

Carl Love  changed:

   What|Removed |Added

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

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

[valgrind] [Bug 432861] PPC modsw and modsd give incorrect results for 1 mod 12

2021-02-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=432861

Carl Love  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

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

[valgrind] [Bug 432861] PPC modsw and modsd give incorrect results for 1 mod 12

2021-02-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=432861

Carl Love  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|REPORTED|CONFIRMED

--- Comment #2 from Carl Love  ---
Patch committed, closing bug

commit b4eff82004077b5628e9c0958121fe6156c29664 (origin/master, origin/HEAD)
Author: Carl Love 
Date:   Wed Feb 10 21:04:22 2021 -0600

PPC, modsw and modsd instruction fix

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

[valgrind] [Bug 432861] New: PPC modsw and modsd give incorrect results for 1 mod 12

2021-02-12 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=432861

Bug ID: 432861
   Summary: PPC modsw and modsd give incorrect results for 1 mod
12
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: c...@us.ibm.com
  Target Milestone: ---

The result of 1 mod 12 should be 1.  Valgrind is giving 0 for modsw and modsd

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

[valgrind] [Bug 440906] powerpc valgrind testsuite; update test_isa_3_1_common.c to avoid modulo against hard regs

2021-08-13 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=440906

--- Comment #2 from Carl Love  ---
FYI, issue initially seen with the gcc compiler in the AT at-next-16.0-0-alpha
build.

Issue reproduced using a build of the GCC compiler from the mainline gcc tree.

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

[valgrind] [Bug 440906] powerpc valgrind testsuite; update test_isa_3_1_common.c to avoid modulo against hard regs

2021-09-07 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=440906

--- Comment #3 from Carl Love  ---
Proposed patch reviewd, tested and committed.

commit 733aba84822efe101a098446079b4798f1b51faf (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Fri Sep 3 17:14:50 2021 +

Fix impossible constraint issue in P10 testcase.

This reworks the modulo operation as seen in
valgrind/none/tests/ppc64/test_isa_3_1_common.c:
  initialize_source_registers().

Due to a GCC issue (PR101882), we will try to avoid a modulo operation with
both input and outputs set to a hard register. In this case, we can apply
the modulo operation to the args[] array value used to initialize the ra
value.

https://bugs.kde.org/show_bug.cgi?id=440906

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

[valgrind] [Bug 441512] remove troublesome block of code from guest_ppc_toIR code for pstxvp instruction

2021-09-07 Thread Carl Love
https://bugs.kde.org/show_bug.cgi?id=441512

--- Comment #1 from Carl Love  ---
Proposed patch reviewed, tested and committed.

commit 041f6c19a0cd40fe684571c380399be518b8d6b2 (HEAD -> master, origin/master,
origin/HEAD)
Author: Carl Love 
Date:   Fri Sep 3 16:36:31 2021 +

Remove a unneeded / unnecessary prefix check.

The pstxvp instruction is valid for R=1, i.e. use pc relative addressing.
The test should have been remmoved before committing the ISA 3.1 support.

https://bugs.kde.org/show_bug.cgi?id=441512

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

<    1   2   3   4   5   6   7   >