From 19527c6ef371c6a09743bf91d4bee36b32241b12 Mon Sep 17 00:00:00 2001
From: Duncan Sands
The location of memory pointed to is loaded.
+The location of memory pointed to is loaded. If the value being loaded +is of scalar type then the number of bytes read does not exceed the minimum +number of bytes needed to hold all bits of the type. For example, loading an +i24 reads at most three bytes. When loading a value of a type like +i20 with a size that is not an integral number of bytes, the result +is undefined if the value was not originally written using a store of the +same type.
%ptr = alloca i32 ; yields {i32*}:ptrSemantics:
The contents of memory are updated to contain '<value>' -at the location specified by the '<pointer>' operand.
+at the location specified by the '<pointer>' operand. +If '<value>' is of scalar type then the number of bytes +written does not exceed the minimum number of bytes needed to hold all +bits of the type. For example, storing an i24 writes at most +three bytes. When writing a value of a type like i20 with a +size that is not an integral number of bytes, it is unspecified what +happens to the extra bits that do not belong to the type, but they will +typically be overwritten.Example:
%ptr = alloca i32 ; yields {i32*}:ptr store i32 3, i32* %ptr ; yields {void}