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

Reply via email to