bruno added a comment.
> The long answer is that there is a history of problems regarding the
> intrinsic files:
> Mainly compatibility issues because MSVC makes all the intrinsics available
> all the time, while in clang this is not always the case (On Windows the
> different h files are not-included unless asked for explicitly since AVX512
> was added which impacted compile-time).
Thinking a bit more about this: did you ever consider a solution where
"immintrin.h" (or any similar other) would use "#include_next" and
"__has_include_next" to point to a second level (user specified) immintrin.h,
which then could use ifdefs to only include what's relevant?
> A suggestion was made to try and mitigate this by reducing the compile time
> using modules (only for the x86 intrinsics). This patch aims at adding this
> option. The new compile flag is just a milestone - if all goes well, we can
> turn this on by default (Then we won't actually need to use a specific
> compile flag, and we could always include all the intrinsic h files without
> their long compile time).
The speedup sounds nice, but it seems awkward IMO to have such specific
behavior for x86 intrinsics only.
cfe-commits mailing list