Comments (12)
Hi,
Any progress on that?
There is clang-cl.exe
which should compatible to MSVC.
Also it allows using flags of CLang using -XClang -clangFlag
(In case of multiple flags it will be -XClang -clangFlag001 -XClang -clangFlag002
) if some flags needed for better performance.
from sleef.
This is not a problem in SLEEF.
from sleef.
@shibatch ,
It is a problem of SLEEF.
You have CLang Compiler in Windows which is fully compatible to CLang in Linux and have full AVX2 support.
You just need to let it be used just like MSVC in CMAKE and also in the Macors in the code.
from sleef.
Clang that comes with visual studio is indicated as experimental.
I don't know under what condition other versions of clang works correctly.
You can use AVX if it works, since it is not disabled. It is just not supported.
from sleef.
I'm not talking on CLang under MSVC (In that case it is only a parser).
I'm talking about CLang for Windows which is fully compatible to CLang on any other system.
All you need to make sure that if the Compiler is CLang under Windows it is treated just like CLang under Linux.
from sleef.
By the way, LLVM 6.x.x ships with Clang for Windows which is MSVC compatible.
Namely you can get the Clang performance just by switching the compiler identifier.
This will give modern OpenMP and high quality compiler in Windows (With proper AVX / AVX2 / AVX512 support).
It should be easy to utilize it.
from sleef.
Those clang versions are not properly supported by cmake.
from sleef.
They are perfectly supported with CMake.
The main developer of CMake use them on daily basis.
It works with the Ninja Generator which might even speed up the whole process.
from sleef.
Could you build sleef with clang on windows and provide the command line for compilation?
from sleef.
The problem is your code is very sensitive to the generator and the compiler.
You added many cases to take care of them and created something which is hard to make portable.
Moreover you make wrong assumptions about the code of LLVM / CLang (Which has no issue with generating AVX code on Windows unlike GCC).
If you make sure you treat Clang just like GCC it will work.
from sleef.
Please write a patch yourself.
I'm not interested.
from sleef.
@shibatch ,
I got you, you don't want Windows users.
I just think that you should fix errors in the page (AVX support has nothing to do with Cygwin, only with GCC, all other compilers support AVX on Windows).
from sleef.
Related Issues (20)
- Failures on various archs for gcc 12 HOT 2
- Failures for s390x VXE2 with qemu HOT 2
- Some tests fail on AArch64 with LLVM 17 HOT 1
- Deprecated usage of MD5 API
- Fix RVV inline header generation HOT 3
- Test more OS-es in Github Actions HOT 7
- Add GNU make as potential generator in CI
- Please, create tag release HOT 3
- dft test gets stuck during initialisation when hardware vector length is very long HOT 2
- Failure on ppc64 when cross compiled with gcc-11 toolchain
- Inaccuracy for f32 erf on non-FMA instruction set
- New test failures in 3.6 HOT 7
- F64 exp returns infinity slightly too soon
- RISC-V architecture missing on https://sleef.org/ HOT 1
- Clang on Windows and GNU ABI
- RISC-V: exploit `-mrvv-vector-bits=zvl` when used HOT 1
- Missing unversioned symbolic link for GNUABI version in 3.6 HOT 3
- A few API functions were (accidentally?) removed in 3.6 HOT 11
- Integrate ARM-software/optimized-routines into sleef? HOT 2
- Improve portability of libm and quad testers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sleef.