[RS6000] Don't be too clever with dg-do run and dg-do compile
authorAlan Modra <amodra@gmail.com>
Wed, 28 Oct 2020 08:33:04 +0000 (19:03 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 28 Oct 2020 22:43:17 +0000 (09:13 +1030)
Otherwise some versions of dejagnu go ahead and run the vsx tests
below when they should not.  To best cope with older dejagnu, put
"run" before "compile", the idea being that if the second dg-do always
wins then that won't cause fails.

The altivec tests also need -save-temps for the scan-assembler test to
occur when vms_hw.

* gcc.target/powerpc/vsx-load-element-extend-char.c: Put "dg-do run"
before "dg-do compile", and make them mutually exclusive.
* gcc.target/powerpc/vsx-load-element-extend-int.c: Likewise.
* gcc.target/powerpc/vsx-load-element-extend-longlong.c: Likewise.
* gcc.target/powerpc/vsx-load-element-extend-short.c: Likewise.
* gcc.target/powerpc/vsx-store-element-truncate-char.c: Likewise.
* gcc.target/powerpc/vsx-store-element-truncate-int.c: Likewise.
* gcc.target/powerpc/vsx-store-element-truncate-longlong.c: Likewise.
* gcc.target/powerpc/vsx-store-element-truncate-short.c: Likewise.
* gcc.target/powerpc/altivec-consts.c: Likewise, add -save-temps.
* gcc.target/powerpc/le-altivec-consts.c: Likewise.

gcc/testsuite/gcc.target/powerpc/altivec-consts.c
gcc/testsuite/gcc.target/powerpc/le-altivec-consts.c
gcc/testsuite/gcc.target/powerpc/vsx-load-element-extend-char.c
gcc/testsuite/gcc.target/powerpc/vsx-load-element-extend-int.c
gcc/testsuite/gcc.target/powerpc/vsx-load-element-extend-longlong.c
gcc/testsuite/gcc.target/powerpc/vsx-load-element-extend-short.c
gcc/testsuite/gcc.target/powerpc/vsx-store-element-truncate-char.c
gcc/testsuite/gcc.target/powerpc/vsx-store-element-truncate-int.c
gcc/testsuite/gcc.target/powerpc/vsx-store-element-truncate-longlong.c
gcc/testsuite/gcc.target/powerpc/vsx-store-element-truncate-short.c

index d59f9b4cf1c9afe3868082b677c4ed0495ac3b61..c68c68125d1ff97f16cd7eacf53063610a807b0d 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do run { target vmx_hw } } */
-/* { dg-do compile } */
+/* { dg-do compile { target { ! vmx_hw } } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -mabi=altivec -O2" } */
+/* { dg-options "-maltivec -mabi=altivec -O2 -save-temps" } */
 
 /* Check that "easy" AltiVec constants are correctly synthesized.  */
 
index f48ef44e6769680a4f551f5765fe9f3351363629..a1db5e92f8733e0c35a2a883ccd472d3f091c3af 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do run { target vmx_hw } } */
-/* { dg-do compile } */
+/* { dg-do compile { target { ! vmx_hw } } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -mabi=altivec -O2" } */
+/* { dg-options "-maltivec -mabi=altivec -O2 -save-temps" } */
 
 /* Check that "easy" AltiVec constants are correctly synthesized.  */
 
index f386346e059eaa477c27721d02c34fda54e0ce5e..c23a912868080531350a21603c42621b245c082e 100644 (file)
@@ -2,8 +2,9 @@
    Test of vec_xl_sext and vec_xl_zext (load into rightmost
    vector element and zero/sign extend). */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 /* { dg-options "-mdejagnu-cpu=power10 -O3 -save-temps" } */
 
index ea737466a58ea34dc438eb662d451f1b4dac894a..c40e1a3a0f784c3ebb4a7629332570459c3c4120 100644 (file)
@@ -2,8 +2,9 @@
    Test of vec_xl_sext and vec_xl_zext (load into rightmost
    vector element and zero/sign extend). */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 
 /* Deliberately set optization to zero for this test to confirm
index cd155c2013dc316e0761ae3fb980ada9fcce9de2..405b4245f8e2021b84c4de8b698f0c037bfa3e18 100644 (file)
@@ -2,8 +2,9 @@
    Test of vec_xl_sext and vec_xl_zext (load into rightmost
    vector element and zero/sign extend). */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 /* { dg-options "-mdejagnu-cpu=power10 -O3 -save-temps" } */
 
index 68fdcdcea373dcb39e7c90401bb705dbb576bec1..837ba79c9ab80d4d005fe97baa7ba247dfb194db 100644 (file)
@@ -2,8 +2,9 @@
    Test of vec_xl_sext and vec_xl_zext (load into rightmost
    vector element and zero/sign extend). */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 
 /* Deliberately set optization to zero for this test to confirm
index 45c49547d664357cb71ea0d88cd9c4e83ae20a13..3049b1c2c28076ce0d309d035637861dd4f8b214 100644 (file)
@@ -1,8 +1,9 @@
 /*
    Test of vec_xst_trunc (truncate and store rightmost vector element) */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 /* Deliberately set optization to zero for this test to confirm
    the stxvr*x instruction is generated. At higher optimization levels
index f263e3d5cc94132eb823174a47f5ba27a89a1e72..7cc7699f8eba81f6270677bac9b1ea12e4598bfd 100644 (file)
@@ -1,8 +1,9 @@
 /*
    Test of vec_xst_trunc (truncate and store rightmost vector element) */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 /* Deliberately set optization to zero for this test to confirm
    the stxvr*x instruction is generated. At higher optimization levels
index 0eeef5e6ba9e5f6bb20b3fd8fc789bd3df0dcb5e..e1bd02166116c025e0d8d263eccd95c635594869 100644 (file)
@@ -1,8 +1,9 @@
 /*
    Test of vec_xst_trunc (truncate and store rightmost vector element) */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 
 /* Deliberately set optization to zero for this test to confirm
index 0186ddc552f0d58671cc27f82a27019fa99618a2..b173b36dbda4cc0de88ec74acd09374a8a2c4423 100644 (file)
@@ -1,8 +1,9 @@
 /*
    Test of vec_xst_trunc (truncate and store rightmost vector element) */
 
-/* { dg-do compile {target power10_ok} } */
-/* { dg-do run {target power10_hw} } */
+/* { dg-do run { target power10_hw } } */
+/* { dg-do compile { target { ! power10_hw } } } */
+/* { dg-require-effective-target power10_ok } */
 /* { dg-require-effective-target int128 } */
 
 /* Deliberately set optization to zero for this test to confirm