diff options
Diffstat (limited to 'gcc/doc/c-tree.texi')
-rw-r--r-- | gcc/doc/c-tree.texi | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/gcc/doc/c-tree.texi b/gcc/doc/c-tree.texi index 4bf09057124..60482e4626c 100644 --- a/gcc/doc/c-tree.texi +++ b/gcc/doc/c-tree.texi @@ -1983,7 +1983,7 @@ This macro returns the attributes on the type @var{type}. @tindex VEC_WIDEN_MULT_LO_EXPR @tindex VEC_UNPACK_HI_EXPR @tindex VEC_UNPACK_LO_EXPR -@tindex VEC_PACK_MOD_EXPR +@tindex VEC_PACK_TRUNC_EXPR @tindex VEC_PACK_SAT_EXPR @tindex VEC_EXTRACT_EVEN_EXPR @tindex VEC_EXTRACT_ODD_EXPR @@ -2837,23 +2837,30 @@ vector of @code{N/2} products. @item VEC_UNPACK_HI_EXPR @item VEC_UNPACK_LO_EXPR -These nodes represent unpacking of the high and low parts of the input vector, +These nodes represent unpacking of the high and low parts of the input vector, respectively. The single operand is a vector that contains @code{N} elements -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 -@code{VEC_UNPACK_HI_EXPR} the high @code{N/2} elements of the vector are -extracted and widened (promoted). In the case of @code{VEC_UNPACK_LO_EXPR} the -low @code{N/2} elements of the vector are extracted and widened (promoted). +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 @code{VEC_UNPACK_HI_EXPR} the +high @code{N/2} elements of the vector are extracted and widened (promoted). +In the case of @code{VEC_UNPACK_LO_EXPR} the low @code{N/2} elements of the +vector are extracted and widened (promoted). + +@item VEC_PACK_TRUNC_EXPR +This node represents packing of truncated elements of the two input vectors +into the output vector. Input operands are vectors that contain the same +number of elements of the same integral or floating point type. The result +is a vector that contains twice as many elements of an integral or floating +point type whose size is half as wide. The elements of the two vectors are +demoted and merged (concatenated) to form the output vector. -@item VEC_PACK_MOD_EXPR @item VEC_PACK_SAT_EXPR -These nodes represent packing of elements of the two input vectors into the -output vector, using modulo or saturating arithmetic, respectively. -Their operands are vectors that contain the same number of elements -of the same integral type. The result is a vector that contains twice as many -elements, of an integral type whose size is half as wide. In both cases -the elements of the two vectors are demoted and merged (concatenated) to form -the output vector. +This node represents packing of elements of the two input vectors into the +output vector using saturation. Input operands are vectors that contain +the same number of elements of the same integral type. The result is a +vector that contains twice as many elements of an integral type whose size +is half as wide. The elements of the two vectors are demoted and merged +(concatenated) to form the output vector. @item VEC_EXTRACT_EVEN_EXPR @item VEC_EXTRACT_ODD_EXPR |