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
(or another expression, if the selection can be made at
runtime) 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)
(vec_series:
m base step)