Disallow 3-operand cmp[l][i] for ppc64

Message ID 7b7f12a0-4317-3968-25d5-0704cfc40632@vnet.ibm.com
State New, archived
Headers

Commit Message

Peter Bergner Sept. 29, 2016, 8:34 p.m. UTC
  On 9/29/16 1:02 AM, Alan Modra wrote:
> cmp[l][o] get an optional L field only when generating 32-bit code.
> dcbf, tlbie and tlbiel keep their optional L field, ditto for R field
> of tbegin.  cmprb, tsr., wlcr[all] and mtsle all change to a
> compulsory L field.

FYI, I just committed the following as obvious to clean up the gdb
testsuite fallout from this change.

Peter


	* gdb.arch/powerpc-power.exp <cmprb>: Update tests to account for
	the compulsory L operand changes.
	* gdb.arch/powerpc-power.s: Likewise.
  

Comments

Alan Modra Sept. 29, 2016, 9:21 p.m. UTC | #1
On Thu, Sep 29, 2016 at 03:34:40PM -0500, Peter Bergner wrote:
> On 9/29/16 1:02 AM, Alan Modra wrote:
> > cmp[l][o] get an optional L field only when generating 32-bit code.
> > dcbf, tlbie and tlbiel keep their optional L field, ditto for R field
> > of tbegin.  cmprb, tsr., wlcr[all] and mtsle all change to a
> > compulsory L field.
> 
> FYI, I just committed the following as obvious to clean up the gdb
> testsuite fallout from this change.

Thanks!
  

Patch

diff --git a/gdb/testsuite/gdb.arch/powerpc-power.exp b/gdb/testsuite/gdb.arch/powerpc-power.exp
index 3bdfc15..8594ad5 100644
--- a/gdb/testsuite/gdb.arch/powerpc-power.exp
+++ b/gdb/testsuite/gdb.arch/powerpc-power.exp
@@ -1117,8 +1117,8 @@  func_check +4168 "xvxsigdp vs59,vs60"
 func_check +4172 "xvxsigsp vs60,vs61"
 func_check +4176 "cmpeqb  cr0,r6,r7"
 func_check +4180 "cmpeqb  cr7,r6,r7"
-func_check +4184 "cmprb   cr0,r8,r9"
-func_check +4188 "cmprb   cr7,r8,r9"
+func_check +4184 "cmprb   cr0,0,r8,r9"
+func_check +4188 "cmprb   cr7,0,r8,r9"
 func_check +4192 "cmprb   cr0,1,r8,r9"
 func_check +4196 "cmprb   cr7,1,r8,r9"
 func_check +4200 "setb    r15,cr0"
diff --git a/gdb/testsuite/gdb.arch/powerpc-power.s b/gdb/testsuite/gdb.arch/powerpc-power.s
index 507b61e..6fe2520 100644
--- a/gdb/testsuite/gdb.arch/powerpc-power.s
+++ b/gdb/testsuite/gdb.arch/powerpc-power.s
@@ -1078,8 +1078,8 @@  func:
 	.long  0xf389ef6f    /* <+4172>:  xvxsigsp vs60,vs61         */
 	.long  0x7c0639c0    /* <+4176>:  cmpeqb  cr0,r6,r7          */
 	.long  0x7f8639c0    /* <+4180>:  cmpeqb  cr7,r6,r7          */
-	.long  0x7c084980    /* <+4184>:  cmprb   cr0,r8,r9          */
-	.long  0x7f884980    /* <+4188>:  cmprb   cr7,r8,r9          */
+	.long  0x7c084980    /* <+4184>:  cmprb   cr0,0,r8,r9        */
+	.long  0x7f884980    /* <+4188>:  cmprb   cr7,0,r8,r9        */
 	.long  0x7c284980    /* <+4192>:  cmprb   cr0,1,r8,r9        */
 	.long  0x7fa84980    /* <+4196>:  cmprb   cr7,1,r8,r9        */
 	.long  0x7de00100    /* <+4200>:  setb    r15,cr0            */