This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question about building and using libmvec


On 12/02/18 17:44, Steve Ellcey wrote:
On Mon, 2018-02-12 at 12:51 +0000, Szabolcs Nagy wrote:
and we need gcc support (so simd attributes/omp pragmas are
enabled and if the vector function call convention is special
that should be implemented too).

Someone here has done some work on this, I need to take
a look at it and make sure I understand what it is doing.
Even without this change, there is some value due to vectorization.
I.e. a loop with a sqrt currently gets vectorized on aarch64 because
there is a builtin vectorized sqrt function and the ABI doesn't matter.

if the vectorized function can be inlined then the abi
does not matter, but if the definition is in glibc then
gcc has to generate a call to the right symbol and set
up the registers the right way for the call.

another gcc issue that would be nice to fix is to make all
this work in fortran: currently the list of simd functions
are described in c headers so it does not affect fortran.
(there is no command line option to enable vectorization
of a particular function)

Interesting, I wasn't aware of this.

there was some discussion here:
https://gcc.gnu.org/ml/gcc/2017-11/msg00012.html


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]