Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-26 Thread Peter Bergner
On Wed, 2015-02-25 at 16:22 -0600, Peter Bergner wrote:
 On Mon, 2015-02-23 at 13:42 -0500, David Edelsohn wrote:
  On Mon, Feb 23, 2015 at 1:26 PM, Peter Bergner berg...@vnet.ibm.com wrote:
   This is broken on 4.9 and 4.8, so can we get those fixed as well?
  
  Yes, please backport.
 
 I committed this to trunk on Adhemerval's behalf as revision 220992.
 I'll commit it to 4.9 and 4.8 after I bootstrap/regtest it there.

Ok, committed to 4.9 as revision 221018 and 4.8 as revision 221019.
Thanks.

Peter




Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-25 Thread Peter Bergner
On Mon, 2015-02-23 at 13:42 -0500, David Edelsohn wrote:
 On Mon, Feb 23, 2015 at 1:26 PM, Peter Bergner berg...@vnet.ibm.com wrote:
  This is broken on 4.9 and 4.8, so can we get those fixed as well?
 
 Yes, please backport.

I committed this to trunk on Adhemerval's behalf as revision 220992.
I'll commit it to 4.9 and 4.8 after I bootstrap/regtest it there.


 Again, a testcase is highly encouraged.

I have a separate HTM fix coming which will fix PR64579 as well as
a few things that popped up when looking into that one.  I'm adding
a test case to that patch which should cover this.

Peter





Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-25 Thread Peter Bergner
On Mon, 2015-02-23 at 13:42 -0500, David Edelsohn wrote:
 Again, a testcase is highly encouraged.

Actually, this additional change to the test case would be enough
to have the assembler catch the bad opcode mnemonic.  Should I
just go ahead and make this change?

I still plan on adding a test case that actually executes when
we're on power8.

Peter


Index: gcc.target/powerpc/htm-builtin-1.c
===
--- gcc.target/powerpc/htm-builtin-1.c  (revision 220992)
+++ gcc.target/powerpc/htm-builtin-1.c  (working copy)
@@ -1,7 +1,7 @@
-/* { dg-do compile { target { powerpc*-*-* } } } */
+/* { dg-do assemble { target { powerpc*-*-* } } } */
 /* { dg-skip-if  { powerpc*-*-darwin* } { * } {  } } */
 /* { dg-require-effective-target powerpc_htm_ok } */
-/* { dg-options -O2 -mhtm } */
+/* { dg-options -O2 -mhtm -save-temps } */
 
 /* { dg-final { scan-assembler-times tbegin\\. 1 } } */
 /* { dg-final { scan-assembler-times tend\\. 2 } } */
@@ -49,3 +49,4 @@ void use_builtins (long *p, char code, l
   __builtin_set_tfhar (a[22]);
   __builtin_set_tfiar (a[23]);
 }
+/* { dg-final { cleanup-saved-temps } } */




Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-25 Thread David Edelsohn
On Wed, Feb 25, 2015 at 9:42 PM, Peter Bergner berg...@vnet.ibm.com wrote:
 On Mon, 2015-02-23 at 13:42 -0500, David Edelsohn wrote:
 Again, a testcase is highly encouraged.

 Actually, this additional change to the test case would be enough
 to have the assembler catch the bad opcode mnemonic.  Should I
 just go ahead and make this change?

 I still plan on adding a test case that actually executes when
 we're on power8.

 Peter


 Index: gcc.target/powerpc/htm-builtin-1.c
 ===
 --- gcc.target/powerpc/htm-builtin-1.c  (revision 220992)
 +++ gcc.target/powerpc/htm-builtin-1.c  (working copy)
 @@ -1,7 +1,7 @@
 -/* { dg-do compile { target { powerpc*-*-* } } } */
 +/* { dg-do assemble { target { powerpc*-*-* } } } */
  /* { dg-skip-if  { powerpc*-*-darwin* } { * } {  } } */
  /* { dg-require-effective-target powerpc_htm_ok } */
 -/* { dg-options -O2 -mhtm } */
 +/* { dg-options -O2 -mhtm -save-temps } */

  /* { dg-final { scan-assembler-times tbegin\\. 1 } } */
  /* { dg-final { scan-assembler-times tend\\. 2 } } */
 @@ -49,3 +49,4 @@ void use_builtins (long *p, char code, l
__builtin_set_tfhar (a[22]);
__builtin_set_tfiar (a[23]);
  }
 +/* { dg-final { cleanup-saved-temps } } */

Okay.

Thanks, David


Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-25 Thread Peter Bergner
On Wed, 2015-02-25 at 21:57 -0500, David Edelsohn wrote:
 Okay.

Ok, committed as revision 220998 with the following ChangeLog entry:

   * gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble.
(dg-options): Add -save-temps.
(dg-final): Add cleanup-saved-temps.

I'll add it to the backports as well when I commit those after their
bootstrap/regtests are finished.

Peter



Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-23 Thread David Edelsohn
On Mon, Feb 23, 2015 at 1:26 PM, Peter Bergner berg...@vnet.ibm.com wrote:
 On Fri, 2015-02-20 at 15:43 -0500, David Edelsohn wrote:
 On Fri, Feb 20, 2015 at 12:44 PM, Adhemerval Zanella
 azane...@linux.vnet.ibm.com wrote:
  gcc/ChangeLog:
 
  * config/rs6000/htm.md (tcheck): Fix assembly encoding.
 
  gcc/testsuite/ChangeLog
 
  * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.


 Okay.

 This is broken on 4.9 and 4.8, so can we get those fixed as well?

Yes, please backport.

Again, a testcase is highly encouraged.

Thanks, David


Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-23 Thread Peter Bergner
On Fri, 2015-02-20 at 15:43 -0500, David Edelsohn wrote:
 On Fri, Feb 20, 2015 at 12:44 PM, Adhemerval Zanella
 azane...@linux.vnet.ibm.com wrote:
  gcc/ChangeLog:
 
  * config/rs6000/htm.md (tcheck): Fix assembly encoding.
 
  gcc/testsuite/ChangeLog
 
  * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.
 
 
 Okay.

This is broken on 4.9 and 4.8, so can we get those fixed as well?

Peter




Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-20 Thread David Edelsohn
On Fri, Feb 20, 2015 at 12:44 PM, Adhemerval Zanella
azane...@linux.vnet.ibm.com wrote:
 gcc/ChangeLog:

 * config/rs6000/htm.md (tcheck): Fix assembly encoding.

 gcc/testsuite/ChangeLog

 * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.


Okay.

Thanks, David


Re: [PATCH] rs6000: Fix HTM tcheck assembly encoding

2015-02-20 Thread Peter Bergner
On Fri, 2015-02-20 at 15:44 -0200, Adhemerval Zanella wrote:
 gcc/ChangeLog:
 
   * config/rs6000/htm.md (tcheck): Fix assembly encoding.
 
 gcc/testsuite/ChangeLog
 
   * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.

You are correct that the tcheck insn does not have a '.' in its mnemonic,
so maybe this patch falls under the obvious rule?

It also goes to show that no one has actually used __builtin_tcheck()
before in a real progran, since the assembler would have flagged this
as an unknown opcode.

Thanks for fixing my mistake!

Peter