All normal RTL expressions can be used with vector modes; they are interpreted as operating on each part of the vector independently. Additionally, there are a few new expressions to describe specific vector operations.
(vec_merge:
m vec1 vec2 items)
const_int
; a zero bit indicates the
corresponding element in the result vector is taken from vec2 while
a set bit indicates it is taken from vec1.
(vec_select:
m vec1 selection)
parallel
that contains a
const_int
for each of the subparts of the result vector, giving the
number of the source subpart that should be stored into it.
The result mode m is either the submode for a single element of
vec1 (if only one subpart is selected), or another vector mode
with that element submode (if multiple subparts are selected).
(vec_concat:
m x1 x2)
(vec_duplicate:
m x)