On Tue, 4 Oct 2016, Uros Bizjak wrote: > Hello! > > > Andreas noticed I forgot to check if the target can fix/float a vector. > > > > Bootstrap / regtest pending on x86_64-unknown-linux-gnu. Verified > > the fix with a cross to ia64-linux. > > > > Richard. > > > > 2016-10-04 Richard Biener <rguent...@suse.de> > > > > PR tree-optimization/77399 > > * tree-ssa-forwprop.c (simplify_vector_constructor): Properly > > verify the target can convert. > > > > * gcc.dg/tree-ssa/forwprop-35.c: Adjust. > > -/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 1 "cddce1" } } */ > -/* { dg-final { scan-tree-dump-times "\\\(v4sf\\\) " 2 "cddce1" } } */ > +/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 1 "cddce1" { > target x86_64-*-* } } } */ > +/* { dg-final { scan-tree-dump-times "\\\(v4sf\\\) " 2 "cddce1" { > target x86_64-*-* } } } */ > > x86 targets should always be in pair, so "target i?86-*-* x86_64-*-*", > with an optional ia32 target addition when the test is valid for 32 > bit targets only, or { ! ia32 } addition when test is valid for 64-bit > targets only.
I need SSE2 support but didn't want to adjust dg-options with another { target } ... so with default ISA this is valid for x86_64 only AFAIK? It might be ok for i?86-*-* with -m64 thus that is your { i?86-*-* x86_64-*-* } && { ! ia32 } then? But x86_64-*-* -m32 is ok ... I'll try a /* { dg-options "-O -fdump-tree-cddce1 -msse2" { target { i?86-*-* x86_64-*-* } } } */ then. Richard.