What is vstoren for?

Are there any advantages compared to the usual way storing variables?

vload and vstore are used to load/store data in non-standard alignments, so they are in fact typically slower than standard read/writes. Typical usage is to read packed data from 3-component vectors (e.g. float3 data with an alignment of 3 floats instead of the 4 floats prescribed by the opencl standard), or to access elements in structures that do not align vector elements correctly (elements still need to be aligned correctly at the single vector component level, though).

Don’t use them if you don’t need them.