On Thu, May 15, 2014 at 02:37:33PM +0200, Rainer Orth wrote: > > If OpenMP declare simd doesn't work on Solaris/x86 (due to the bogus hw cap > > stuff), then supposedly vect_simd_clones effective target should fail there. > > I don't think it's bogus: it guards against a similar kind of problems > as symbol versioning. There, programs that depend on a missing > interface don't start to run instead of crashing in the middle of > execution when a function is missing. With hwcap, programs depending on > insns not supported by the host don't even start running instead of > crashing later on.
Runtime selection of code is very common though, which is why I think that whole idea of hw cap flags checking is bogus. > > OpenMP declare simd results in cloning of the functions for SSE2, AVX and > > AVX2. > > Ok, that's what I was missing. ISTM that on Solaris with as/ld, > -fopenmp should trigger linking with a mapfile like the one currently > used in some places in the testsuite. I envision turning this into a > general facility (-mclear-hwcap; -m is for target-specific options, > right?) which is automatically turned on by -fopenmp on Solaris. Perhaps. Jakub