The dg-do directive appears after dg-require-effective-target in
g++.target/powerpc/pr106069.C.  That doesn't work the way that was
presumably intended.  Both of these directives set dg-do-what, but
dg-do does so fully and unconditionally, overriding any decisions
recorded there by earlier directives.  Reorder the directives more
canonically, so that both take effect.

Tested with gcc-13 targeting ppc64-vx7r2 on altivec-less hardware.  I'm
installing it as obvious, and backporting to the branches that have the
inconsistent testcase.


for  gcc/testsuite/ChangeLog

        PR target/106069
        * g++.target/powerpc/pr106069.C: Reorder dg directives.
---
 gcc/testsuite/g++.target/powerpc/pr106069.C |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/testsuite/g++.target/powerpc/pr106069.C 
b/gcc/testsuite/g++.target/powerpc/pr106069.C
index 537207d2fe838..826379a4479a8 100644
--- a/gcc/testsuite/g++.target/powerpc/pr106069.C
+++ b/gcc/testsuite/g++.target/powerpc/pr106069.C
@@ -1,6 +1,6 @@
+/* { dg-do run } */
 /* { dg-options "-O -fno-tree-forwprop -maltivec" } */
 /* { dg-require-effective-target vmx_hw } */
-/* { dg-do run } */
 
 typedef __attribute__ ((altivec (vector__))) unsigned native_simd_type;
 


-- 
Alexandre Oliva, happy hacker            https://FSFLA.org/blogs/lxo/
   Free Software Activist                   GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity
Excluding neuro-others for not behaving ""normal"" is *not* inclusive

Reply via email to