[PATCH] Adding _mm_prefetch and other builtins

Warren Hunt whunt at google.com
Tue Feb 18 15:26:44 PST 2014


Hi hans,

This patch adds several built-ins that are required for ms compatibility.  _mm_prefetch must be a built-in because it takes a compile-time constant argument and our prior approach of using a #define to the current built-in doesn't work in the presence of re-declaration of _mm_prefetch.  The others can be obtained by including the windows system headers.  If a user includes the windows system headers but not intrin.h they still need to work and therefore must be built-in because we don't get a chance to implement them in intrin.h in this case.

http://llvm-reviews.chandlerc.com/D2822

Files:
  include/clang/Basic/BuiltinsX86.def
  include/clang/Sema/Sema.h
  lib/CodeGen/CGBuiltin.cpp
  lib/Headers/Intrin.h
  lib/Headers/xmmintrin.h
  lib/Sema/SemaChecking.cpp
  test/CodeGen/ms-builtins.c
  test/Headers/mmprefetch.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2822.1.patch
Type: text/x-patch
Size: 9922 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140218/102ab370/attachment.bin>


More information about the cfe-commits mailing list