summaryrefslogtreecommitdiffstats
path: root/clang/docs/LanguageExtensions.rst
diff options
context:
space:
mode:
authorMichael Zolotukhin <mzolotukhin@apple.com>2015-09-11 02:01:15 +0000
committerMichael Zolotukhin <mzolotukhin@apple.com>2015-09-11 02:01:15 +0000
commit59d72b1c8a5d234420ece078449366af0d2f3391 (patch)
tree530272c7e30e9e7fd6ece8ddd0ba5c088f958ec3 /clang/docs/LanguageExtensions.rst
parent322d853d7d3e13a102d3a96bf9c8b813d78bffc5 (diff)
downloadbcm5719-llvm-59d72b1c8a5d234420ece078449366af0d2f3391.tar.gz
bcm5719-llvm-59d72b1c8a5d234420ece078449366af0d2f3391.zip
Docs: Document __builtin_nontemporal_load and __builtin_nontemporal_store.
Summary: In r247104 I added the builtins for generating non-temporal memory operations, but now I realized that they lack documentation. This patch adds some. Differential Revision: http://reviews.llvm.org/D12785 llvm-svn: 247374
Diffstat (limited to 'clang/docs/LanguageExtensions.rst')
-rw-r--r--clang/docs/LanguageExtensions.rst20
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst
index c55545c8201..f933dcbbb1a 100644
--- a/clang/docs/LanguageExtensions.rst
+++ b/clang/docs/LanguageExtensions.rst
@@ -1779,6 +1779,26 @@ care should be exercised.
For these reasons the higher level atomic primitives should be preferred where
possible.
+Non-temporal load/store builtins
+--------------------------------
+
+Clang provides overloaded builtins allowing generation of non-temporal memory
+accesses.
+
+.. code-block:: c
+
+ T __builtin_nontemporal_load(T *addr);
+ void __builtin_nontemporal_store(T value, T *addr);
+
+The types ``T`` currently supported are:
+
+* Integer types.
+* Floating-point types.
+* Vector types.
+
+Note that the compiler does not guarantee that non-temporal loads or stores
+will be used.
+
Non-standard C++11 Attributes
=============================
OpenPOWER on IntegriCloud