Previous: Unary and Binary Expressions, Up: Expression trees
VEC_LSHIFT_EXPR
VEC_RSHIFT_EXPR
VEC_WIDEN_MULT_HI_EXPR
VEC_WIDEN_MULT_LO_EXPR
N
) of the same integral type.
The result is a vector that contains half as many elements, of an integral type
whose size is twice as wide. In the case of VEC_WIDEN_MULT_HI_EXPR
the
high N/2
elements of the two vector are multiplied to produce the
vector of N/2
products. In the case of VEC_WIDEN_MULT_LO_EXPR
the
low N/2
elements of the two vector are multiplied to produce the
vector of N/2
products.
VEC_UNPACK_HI_EXPR
VEC_UNPACK_LO_EXPR
N
elements
of the same integral or floating point type. The result is a vector
that contains half as many elements, of an integral or floating point type
whose size is twice as wide. In the case of VEC_UNPACK_HI_EXPR
the
high N/2
elements of the vector are extracted and widened (promoted).
In the case of VEC_UNPACK_LO_EXPR
the low N/2
elements of the
vector are extracted and widened (promoted).
VEC_UNPACK_FLOAT_HI_EXPR
VEC_UNPACK_FLOAT_LO_EXPR
N
elements of the same
integral type. The result is a vector that contains half as many elements
of a floating point type whose size is twice as wide. In the case of
VEC_UNPACK_HI_EXPR
the high N/2
elements of the vector are
extracted, converted and widened. In the case of VEC_UNPACK_LO_EXPR
the low N/2
elements of the vector are extracted, converted and widened.
VEC_PACK_TRUNC_EXPR
VEC_PACK_SAT_EXPR
VEC_PACK_FIX_TRUNC_EXPR
VEC_EXTRACT_EVEN_EXPR
VEC_EXTRACT_ODD_EXPR
VEC_INTERLEAVE_HIGH_EXPR
VEC_INTERLEAVE_LOW_EXPR
N
) of the same type.
In the case of VEC_INTERLEAVE_HIGH_EXPR
, the high N/2
elements of
the first input vector are interleaved with the high N/2
elements of the
second input vector. In the case of VEC_INTERLEAVE_LOW_EXPR
, the low
N/2
elements of the first input vector are interleaved with the low
N/2
elements of the second input vector.