[rs6000] fix-up le-altivec-const.c and altivec-const.c tests

Message ID 1518471327.11602.298.camel@brimstone.rchland.ibm.com
State New
Headers show
Series
  • [rs6000] fix-up le-altivec-const.c and altivec-const.c tests
Related show

Commit Message

Will Schmidt Feb. 12, 2018, 9:35 p.m.
Hi,
  Noticed during review of test results.  I expect the intent
here was to compile in cases where the run command was not
valid.
But for the scan-assembler stanza to work, need to have compile results
in all cases.

/* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */
/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */
/* { dg-require-effective-target powerpc_altivec_ok } */
...
/* { dg-final { scan-assembler-not "lvx" { target { powerpc*le-*-* } } } } */
    

So..
Added some commentary, updated the stanzas, retested on assorted power systems.
This fixes "scan-assembler-not lvx" failure as seen in testresults from LE
systems.
OK for trunk?
    
Thanks
-Will

[testsuite]

2018-02-12  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/altivec-consts.c:  Update compile stanzas.
	* gcc.target/powerpc/le-altivec-consts.c:  Same.

Comments

Segher Boessenkool Feb. 12, 2018, 9:59 p.m. | #1
Hi!

On Mon, Feb 12, 2018 at 03:35:27PM -0600, Will Schmidt wrote:
>   Noticed during review of test results.  I expect the intent
> here was to compile in cases where the run command was not
> valid.
> But for the scan-assembler stanza to work, need to have compile results
> in all cases.

> --- a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
> +++ b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
> @@ -1,7 +1,11 @@
> +/* altivec-consts.c:
> +   Requires vmx_hw support to run.  Requires altivec support to compile.
> +   This test varies from le-altivec-consts.c in the ordering of the
> +   vector elements below.  */
>  /* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */
> -/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */
> +/* { dg-do compile { target { powerpc*-*-* } } } */
>  /* { dg-require-effective-target powerpc_altivec_ok } */
>  /* { dg-options "-maltivec -mabi=altivec -O2" } */

As dg.exp (in dejagnu itself) says:

# Multiple instances are supported (since we don't support target and xfail
# selectors on one line), though it doesn't make much sense to change the
# compile/assemble/link/run field.  Nor does it make any sense to have
# multiple lines of target selectors (use one line).

You can just leave out the "dg-do compile" line and it will still run the
compile tests if the "dg-do run"'s target selector does not match (and
btw., you can remove the powerpc*-*-* part of the selectors, this is
always true in gcc.target/powerpc/).

Same for the other test.  Okay with that chance (if that works :-) )
Thanks!


Segher

Patch

diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
index 36cb60c..8ec73e9 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
@@ -1,7 +1,11 @@ 
+/* altivec-consts.c:
+   Requires vmx_hw support to run.  Requires altivec support to compile.
+   This test varies from le-altivec-consts.c in the ordering of the
+   vector elements below.  */
 /* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */
-/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */
+/* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
 /* { dg-options "-maltivec -mabi=altivec -O2" } */
 
 /* Check that "easy" AltiVec constants are correctly synthesized.  */
 
diff --git a/gcc/testsuite/gcc.target/powerpc/le-altivec-consts.c b/gcc/testsuite/gcc.target/powerpc/le-altivec-consts.c
index 15ec650..2f81ff7 100644
--- a/gcc/testsuite/gcc.target/powerpc/le-altivec-consts.c
+++ b/gcc/testsuite/gcc.target/powerpc/le-altivec-consts.c
@@ -1,7 +1,11 @@ 
+/* le-altivec-consts.c:
+   Requires vmx_hw support to run.  Requires altivec support to compile.
+   This test varies from altivec-consts.c in the ordering of the
+   vector elements below.  */
 /* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */
-/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */
+/* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
 /* { dg-options "-maltivec -mabi=altivec -O2" } */
 
 /* Check that "easy" AltiVec constants are correctly synthesized.  */