[PATCH] D20291: [ms] Reintroduce feature guards in intrinsic headers in Microsoft mode
    Nico Weber via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Mon May 16 10:57:34 PDT 2016
    
    
  
thakis created this revision.
thakis added a reviewer: hans.
thakis added a subscriber: cfe-commits.
Visual Studio's C++ standard library headers include intrin.h, so the intrinsic headers get included a lot more often in Microsoft mode then elsewhere. The AVX512 intrinsics are a lot of code (0.7 MB, causing 30% compile time overhead for small programs including e.g. `<string>` and 6% compile time overhead for larger projects like e.g. v8). Since multiversioning can't be relied on in Microsoft mode (cl.exe doesn't support it), having faster compiles seems like the much better tradeoff until we have a better intrinsic story going forward (which we'll need for e.g. PR19898).
Actually using intrinsics on Windows already requires the right /arch: settings, so this patch should have no big behavior change.
See also thread "The intrinsics headers (especially avx512) are too big. What to do about it?" on cfe-dev.
http://reviews.llvm.org/D20291
Files:
  lib/Headers/immintrin.h
  lib/Headers/x86intrin.h
  test/CodeGen/ms-mm-align.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20291.57371.patch
Type: text/x-patch
Size: 7283 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160516/5f700c6f/attachment.bin>
    
    
More information about the cfe-commits
mailing list