On Thu, 2018-03-22 at 11:42 -0700, H.J. Lu wrote: > On Thu, Mar 22, 2018 at 11:08 AM, Steve Ellcey <sell...@cavium.com> > wrote: > > > > I have a question about the math vector library routines in > > libmvec. > > If I compile a program on x86 with -Ofast, something like: > > > > void foo(double * __restrict x, double * __restrict y, double * > > __restrict z) > > { > > for (int i = 0; i < 1000; i++) x[i] = sin(y[i]); > > } > > > > I get a call to the vector sin routine _ZGVbN2v_sin. That is fine, but > > is there some way to compile with -Ofast and not use the libmvec vector > > routines? I have tried -fopenmp, -fopenmp-simd, -fno-openmp, and -fno- > > openmp-simd and I always get a call to _ZGVbN2v_sin. Is there anyway > > to stop the use of the vectorized calls (without turning off -Ofast)? > Have you tried -lm?
It isn't a question of not working. Everything works and links and runs, but I would just like to know if there is any way to compile my program in such a way that GCC does not generate calls to the libmvect routines. I am doing some performance analysis and would like to know how much (or little) having these vectorized routines help in various benchmarks. Steve Ellcey