diff --git a/docs/LangRef.html b/docs/LangRef.html index 5bf06851e6e..599bfa66a22 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -4077,9 +4077,9 @@ Instruction
- <result> = load <ty>* <pointer>[, align <alignment>][, !nontemporal !] - <result> = volatile load <ty>* <pointer>[, align <alignment>][, !nontemporal ! ] - ! = !{ i32 1 } + <result> = load <ty>* <pointer>[, align <alignment>][, !nontemporal !<index>] + <result> = volatile load <ty>* <pointer>[, align <alignment>][, !nontemporal !<index>] + !<index> = !{ i32 1 }
The optional constant "align" argument specifies the alignment of the +
The optional constant align argument specifies the alignment of the operation (that is, the alignment of the memory address). A value of 0 or an - omitted "align" argument means that the operation has the preferential + omitted align argument means that the operation has the preferential alignment for the target. It is the responsibility of the code emitter to ensure that the alignment information is correct. Overestimating the - alignment results in an undefined behavior. Underestimating the alignment may + alignment results in undefined behavior. Underestimating the alignment may produce less efficient code. An alignment of 1 is always safe.
-The optional !nontemporal metadata must reference a single metatadata
- name
The optional !nontemporal metadata must reference a single + metatadata name <index> corresponding to a metadata node with + one i32 entry of value 1. The existance of + the !nontemporal metatadata on the instruction tells the optimizer + and code generator that this load is not expected to be reused in the cache. + The code generator may select special instructions to save cache bandwidth, + such as the MOVNT intruction on x86.
The location of memory pointed to is loaded. If the value being loaded is of