Replies: 2 comments 8 replies
-
since when are these available and will clang/gcc cover all of those? |
Beta Was this translation helpful? Give feedback.
3 replies
-
This is something to consider (early in the next release cycle). Things that come to my mind:
|
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Instead of setting every flag for each architecture extension, we can use macros defined by compiler.
GCC x86 for example:
This can remove most parts in current Makefile, instead users can set their CPU type (or native).
make build ARCH=native
tog++ -march=native
, ormake build ARCH=skylake
tog++ -march=skylake
For example, if arch is set to skylake, the compiler sets the following macros:
__MMX__
,__SSE__
,__SSE2__
,__SSE3__
,__SSSE3__
,__SSE4_1__
,__SSE4_2__
,__POPCNT__
,__AVX__
,__AVX2__
,__BMI__
,__BMI2__
,__PRFCHW__
(and others)To add any other architecture, it's not required to modify Makefile and implement the feature detection.
Beta Was this translation helpful? Give feedback.
All reactions