http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54390
Vladimir Yakovlev <vbyakovl23 at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vbyakovl23 at gmail dot com --- Comment #2 from Vladimir Yakovlev <vbyakovl23 at gmail dot com> 2012-12-28 15:40:53 UTC --- Compiler has different behavior on the test gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c with –mavx and –mno-avx. With –mno-avx routine get_vectype_for_scalar_type (scalar_type) at tree-vect-data-refs.c:3265 returns NULL for scalar_type “struct A” whereas with –mavx returns “vector(2) __int128 unsigned”. The test is passed if constant 16 at line 6 of the test is replaced by 32 or 64 (better 64 otherwise we will have the problem with avx2 in future). diff --git a/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c b/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c index 90dcd84..68e0bf1 100644 --- a/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c +++ b/gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c @@ -3,7 +3,7 @@ typedef __complex__ float Value; typedef struct { - Value a[16 / sizeof (Value)]; + Value a[64 / sizeof (Value)]; } A; A sum(A a,A b)