Hello! With targets that default to AVX2, these tests vectorize via 256bit paths, where different insns are emitted.
2014-06-02 Uros Bizjak <ubiz...@gmail.com> * gcc.target/i386/xop-rotate1-vector.c (dg-options): Add -mno-avx2. * gcc.target/i386/xop-rotate2-vector.c (dg-options): Ditto. * gcc.target/i386/xop-rotate3-vector.c (dg-options): Ditto. * gcc.target/i386/xop-imul32widen-vector.c (dg-options): Ditto. * gcc.target/i386/xop-imul64-vector.c (dg-options): Ditto. * gcc.target/i386/xop-shift1-vector.c (dg-options): Ditto. * gcc.target/i386/xop-shift2-vector.c (dg-options): Ditto. * gcc.target/i386/xop-shift3-vector.c (dg-options): Ditto. Tested on x86_64-pc-linux-gnu {,-m32} and committed to mainline SVN. Uros.
Index: gcc.target/i386/xop-rotate1-vector.c =================================================================== --- gcc.target/i386/xop-rotate1-vector.c (revision 211125) +++ gcc.target/i386/xop-rotate1-vector.c (working copy) @@ -2,7 +2,7 @@ into prot on XOP systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int); Index: gcc.target/i386/xop-rotate2-vector.c =================================================================== --- gcc.target/i386/xop-rotate2-vector.c (revision 211125) +++ gcc.target/i386/xop-rotate2-vector.c (working copy) @@ -2,7 +2,7 @@ into prot on XOP systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int); Index: gcc.target/i386/xop-imul32widen-vector.c =================================================================== --- gcc.target/i386/xop-imul32widen-vector.c (revision 211125) +++ gcc.target/i386/xop-imul32widen-vector.c (working copy) @@ -3,7 +3,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target lp64 } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int); Index: gcc.target/i386/xop-rotate3-vector.c =================================================================== --- gcc.target/i386/xop-rotate3-vector.c (revision 211125) +++ gcc.target/i386/xop-rotate3-vector.c (working copy) @@ -2,7 +2,7 @@ into prot on XOP systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int); Index: gcc.target/i386/xop-imul64-vector.c =================================================================== --- gcc.target/i386/xop-imul64-vector.c (revision 211125) +++ gcc.target/i386/xop-imul64-vector.c (working copy) @@ -3,7 +3,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target lp64 } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int); Index: gcc.target/i386/xop-shift1-vector.c =================================================================== --- gcc.target/i386/xop-shift1-vector.c (revision 211125) +++ gcc.target/i386/xop-shift1-vector.c (working copy) @@ -2,7 +2,7 @@ psha/pshl on XOP systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int); Index: gcc.target/i386/xop-shift2-vector.c =================================================================== --- gcc.target/i386/xop-shift2-vector.c (revision 211125) +++ gcc.target/i386/xop-shift2-vector.c (working copy) @@ -2,7 +2,7 @@ psha/pshl on XOP systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int); Index: gcc.target/i386/xop-shift3-vector.c =================================================================== --- gcc.target/i386/xop-shift3-vector.c (revision 211125) +++ gcc.target/i386/xop-shift3-vector.c (working copy) @@ -2,7 +2,7 @@ psha/pshl on XOP systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mxop -ftree-vectorize" } */ +/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */ extern void exit (int);