Re: RFA: Update XFAIL comments in

2017-01-21 Thread Segher Boessenkool
On Fri, Jan 20, 2017 at 06:45:54PM +0100, Andreas Schwab wrote:
> >  /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" 
> > "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */
> 
> Shouldn't that rather be target { ! { arm*-*-* powerpc*-*-* } }?

The way it is written we'll be informed if it starts being shrink-wrapped.


Segher


Re: RFA: Update XFAIL comments in

2017-01-21 Thread Segher Boessenkool
Hi,

On Fri, Jan 20, 2017 at 05:05:56PM +, Nick Clifton wrote:
>   I would like to close out PR 70681 by applying the patch below.  It
>   updates the XFAIL comments in the two affected tests, explaining why
>   the check for shrink-wrapping will fail.  There is nothing actually
>   wrong here.  The shrink wrapping optimization is working and the
>   targets are not broken, it is just that, for these particular test
>   cases, for these specific architectures (ARM, PPC), the unshrink-
>   wrapped code is actually smaller than the shrink wrapped version.

For PowerPC to make it shrink-wrappable prepare_shrink_wrap would need
to split the "mr." instruction and sink the "mr" part.  This is one insn
bigger but it is faster on the early-return path (which is predicted as
happening 50% of the time), and marginally slower (if it all) on the
"normal" path.

> gcc/testsuite/ChangeLog
> 2017-01-20  Nick Clifton  
> 
>   * gcc.dg/pr10474.c: Update XFAIL comment to explain why the
>   check for shrink-wrapping can be expected to fail.
>   * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.

That is not the file you edited :-)


> -/* XFAIL due to PR70681.  */ 
> +/* The XFAILs are because these targets produce better code without
> +   shrinkwrapping, and hence the optimization is not triggered.  See
> +   PR70681 for more details.  */

For PowerPC it isn't better code.

/* The XFAILs are because these targets have combined the register save
   into another insn, and currently we cannot undo that (if that would be
   a good idea at all).  This is PR70681.  */

or similar?


Segher


Re: RFA: Update XFAIL comments in

2017-01-20 Thread Andreas Schwab
On Jan 20 2017, Nick Clifton  wrote:

> Index: gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c
> ===
> --- gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c  (revision 244691)
> +++ gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c  (working copy)
> @@ -31,5 +31,7 @@
>  
>  /* { dg-final { scan-rtl-dump "Will split live ranges of parameters" "ira"  
> } } */
>  /* { dg-final { scan-rtl-dump "Split live-range of register" "ira"  } } */
> -/* XFAIL due to PR70681.  */ 
> +/* The XFAILs are because these targets produce better code without
> +   shrinkwrapping, and hence the optimization is not triggered.  See
> +   PR70681 for more details.  */
>  /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" 
> "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */

Shouldn't that rather be target { ! { arm*-*-* powerpc*-*-* } }?

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


RFA: Update XFAIL comments in

2017-01-20 Thread Nick Clifton
Hi Guys,

  I would like to close out PR 70681 by applying the patch below.  It
  updates the XFAIL comments in the two affected tests, explaining why
  the check for shrink-wrapping will fail.  There is nothing actually
  wrong here.  The shrink wrapping optimization is working and the
  targets are not broken, it is just that, for these particular test
  cases, for these specific architectures (ARM, PPC), the unshrink-
  wrapped code is actually smaller than the shrink wrapped version.

  So - is it OK to apply the patch ?

Cheers
  Nick

gcc/testsuite/ChangeLog
2017-01-20  Nick Clifton  

* gcc.dg/pr10474.c: Update XFAIL comment to explain why the
check for shrink-wrapping can be expected to fail.
* gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.

Index: gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c
===
--- gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c	(revision 244691)
+++ gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c	(working copy)
@@ -31,5 +31,7 @@
 
 /* { dg-final { scan-rtl-dump "Will split live ranges of parameters" "ira"  } } */
 /* { dg-final { scan-rtl-dump "Split live-range of register" "ira"  } } */
-/* XFAIL due to PR70681.  */ 
+/* The XFAILs are because these targets produce better code without
+   shrinkwrapping, and hence the optimization is not triggered.  See
+   PR70681 for more details.  */
 /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */
Index: gcc/testsuite/gcc.dg/pr10474.c
===
--- gcc/testsuite/gcc.dg/pr10474.c	(revision 244691)
+++ gcc/testsuite/gcc.dg/pr10474.c	(working copy)
@@ -12,5 +12,7 @@
 	}
 }
 
-/* XFAIL due to PR70681.  */ 
+/* The XFAILs are because these targets produce better code without
+   shrinkwrapping, and hence the optimization is not triggered.  See
+   PR70681 for more details.  */
 /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue"  { xfail arm*-*-* powerpc*-*-* } } } */