[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [valgrind] [Bug 324894] Phase 3 support for IBM Power ISA 2.07
From:       Carl Love <cel () us ! ibm ! com>
Date:       2013-10-01 15:55:22
Message-ID: bug-324894-17878-724sf1c7Pi () http ! bugs ! kde ! org/
[Download RAW message or body]

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

--- Comment #12 from Carl Love <cel@us.ibm.com> ---
I tested the patches.  I found one regression issue.  The change:
@@ -18097,12 +18271,17 @@ DisResult disInstr_PPC_WRK ( 
       case 0x104: case 0x144: case 0x184: // vslb, vslh, vslw                  
       case 0x204: case 0x244: case 0x284: // vsrb, vsrh, vsrw                  
       case 0x304: case 0x344: case 0x384: // vsrab, vsrah, vsraw               
-      case 0x1C4: case 0x2C4:             // vsl, vsr                          
       case 0x40C: case 0x44C:             // vslo, vsro                        
          if (!allow_V) goto decode_noV;                                        
          if (dis_av_shift( theInstr )) goto decode_success;                    
          goto decode_failure;                                                  

+      case 0x0C4: case 0x1C4: case 0x2C4: // vrld, vsl, vsr                    
+      case 0x3C4: case 0x5C4: case 0x6C4: // vsrad, vsld, vsrd                 
+          if (!allow_isa_2_07) goto decode_noP8;                               
+          if (dis_av_shift( theInstr )) goto decode_success;                   
+          goto decode_failure;                                                 
+       
The vsl and vsr instructions are existing instructions but are now included in
the isa_2_07 test.  
They should not be included in the isa_2_07 test.  I created an additional fix
patch, valg-p8-phase3_code_fix2.patch, to correct the issue:
--- VEX/priv/guest_ppc_toIR.c-orig    2013-09-30 19:28:52.613085438 -0400
+++ VEX/priv/guest_ppc_toIR.c    2013-09-30 19:38:13.232730771 -0400
@@ -18273,12 +18273,13 @@
       case 0x104: case 0x144: case 0x184: // vslb, vslh, vslw
       case 0x204: case 0x244: case 0x284: // vsrb, vsrh, vsrw
       case 0x304: case 0x344: case 0x384: // vsrab, vsrah, vsraw
+      case 0x1C4: case 0x2C4:             // vsl, vsr
       case 0x40C: case 0x44C:             // vslo, vsro
          if (!allow_V) goto decode_noV;
          if (dis_av_shift( theInstr )) goto decode_success;
          goto decode_failure;

-      case 0x0C4: case 0x1C4: case 0x2C4: // vrld, vsl, vsr
+      case 0x0C4:                         // vrld
       case 0x3C4: case 0x5C4: case 0x6C4: // vsrad, vsld, vsrd
           if (!allow_isa_2_07) goto decode_noP8;
           if (dis_av_shift( theInstr )) goto decode_success;

I will attach the fix patch to this bugzilla.  With this additional change, the
regression tests pass on Power 7 and Power 8.  The patches were committed,
Valgrind commit 13594, VEX commit 2779.

-- 
You are receiving this mail because:
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic