This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Disallow 3-operand cmp[l][i] for ppc64
- From: Peter Bergner <bergner at vnet dot ibm dot com>
- To: Alan Modra <amodra at gmail dot com>
- Cc: binutils at sourceware dot org, gdb-patches at sourceware dot org
- Date: Thu, 29 Sep 2016 15:34:40 -0500
- Subject: Re: Disallow 3-operand cmp[l][i] for ppc64
- Authentication-results: sourceware.org; auth=none
- References: <20160929060240.GD4877@bubble.grove.modra.org>
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.
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 */