Also added the translation for `loop` and `unroll` attributes.
Similar to for loops, the current implementation does not support
early exits, or early returns.
* [spirv] Translate vector truncation and splatting
* Also added tests for vector<|type|, |count|> format.
* [spirv] Remove duplicated vector splatting tests
Although they appear as binary operator tests, they are essentially
testing vector splatting, which we already have dedicated tests.
The translation supports dot product of vectors of floats using
SPIR-V's OpDot.
The translation also supports dot product of vectros of integers
using multiplication and addition.
* [spirv] Translate vector types and handle variable initializers
* Translated vector types and operations on vector types
* +, -, *, /, % on vector <op> vector and vector <op> scalar
* Prefix increment on vectors
* < on vector <op> vector and vector <op> scalar
* Covered both constant initializer and variable initializer
* Applied constant modifier to variables
* [spirv] Translate all comparision operators
* Covers <, <=, >, >=, ==, !=
* For both scalars and vectors
* Also update docs about arithmetic and comparison operators