Andarwinux wrote:

As a veclib user, I hope this can be more integrated with the LLVM/Clang 
toolchain and coexist with -fveclib.

- mathvec should be part of compiler-rt builtins, distributed with the 
toolchain, and enabled by default (via such as -fuse-mathvec-builtin?), so 
users only need to add -fno-math-errno to vectorize all math functions. And 
then could specify -fveclib to prefer to use other veclibs and with mathvec as 
a fallback.
- mathvec shouldn't follow libmvec's symbol name mangling and calling 
convention to pretend to be a clone of libmvec.
  - As a portable vector math library based on llvm-libc, mathvec is supposed 
to support multiple target arch - but what if there are target arches 
unsupported by libmvec?
  - mathvec is supposed to support multiple target OS other than Linux such as 
Windows.
    - It might be best to use some custom calling convention to improve 
performance. For example, on Windows, __m256 and __m512 are passed via stack 
unless use vectorcall.

https://github.com/llvm/llvm-project/pull/234621
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to