This adds support for the following binary operations
simd operator+(simd, simd); simd operator-(simd, simd); simd operator*(simd, simd); simd operator/(simd, simd); simd operator%(simd, simd); simd operator&(simd, simd); simd operator|(simd, simd); simd operator^(simd, simd); simd operator<<(simd, simd); simd operator>>(simd, simd); simd operator<<(simd, int); simd operator>>(simd, int);
In case the _VecExt storage type is used native vector operations are
directly used.
[This patch likely needs some more work to make it compile in case no vector
extensions are available. Before I work out all these things by myself, I
wanted to check if a) tim has already a similar patch in his pipeline,
b) there are certain conventions I should pay attention to]