Use the `pure` and `const` attributes for the `vload`, `vload_half` and `vloada_half` builtins.
For the //global//, //local//, //private// and //generic// address spaces, the `pure` attribute (or `readonly`) can be used.
For the //constant// address space, the `const` attribute (or `readnone`) can be used. As memory in the //constant// address space is immutable, the statement in the langref that: "if a `readnone` function reads or writes memory visible to the program, or has other side-effects, the behavior is undefined" does not apply. The reading of immutable memory does not have side-effects, nor can it be affected by side-effects.