<subtitle>Vector ... Spelled Out Name TBD</subtitle>
<subtitle>Vector Rotate Left then Mask Insert</subtitle>
<programlisting>
r = vec_rlmi (ARG1, ARG2, ARG3)
r = vec_rlmi (a, b, c)
</programlisting>
<para><emphasis role="bold">Purpose:</emphasis>
Rotates each element of a vector left and inserts each element under a mask.
Rotates each element of a vector left and inserts each element under
a mask.
</para>
<para><emphasis role="bold">Result value: </emphasis>The result is obtained by rotating each element of vector ARG1 left and inserting it under mask into ARG2. ARG3 bits 11:15 contain the mask beginning, bits 19:23 contain the mask end, and bits 27:31 contain the shift count.</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of
<emphasis role="bold">r</emphasis> is obtained by rotating the
corresponding element of vector <emphasis role="bold">b</emphasis> left
and inserting it under mask into the corresponding element of
<emphasis role="bold">a</emphasis>. Bits 11:15 of the corresponding
element of <emphasis role="bold">c</emphasis> contain the mask
beginning, bits 19:23 contain the mask end, and bits 27:31 contain the
<subtitle>Vector ... Spelled Out Name TBD</subtitle>
<subtitle>Vector Rotate Left then AND with Mask</subtitle>
<programlisting>
r = vec_rlnm (ARG1, ARG2, ARG3)
r = vec_rlnm (a, b, c)
</programlisting>
<para><emphasis role="bold">Purpose:</emphasis>
Rotates each element of a vector left; then intersects (AND) it with a mask.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of vector ARG1 is rotated left; then intersected (AND) with a mask specified by ARG2 and ARG3.</para>
<para>ARG2 contains the shift count for each element in the
low-order byte, with other bytes zero. ARG3 contains the mask
begin and mask end for each element, with the mask end in the
low-order byte, the mask begin in the next higher byte, and
other bytes zero.</para>
Rotates each element of a vector left, then logically ANDs it with a
mask.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of
<emphasis role="bold">a</emphasis> is rotated left, then logically ANDed
with a mask specified by <emphasis role="bold">b</emphasis> and
<emphasis role="bold">c</emphasis>.</para>
<para><emphasis role="bold">b</emphasis> contains the shift count for
each element in the low-order byte, with other bytes zero.
<emphasis role="bold">c</emphasis> contains the mask begin and mask end
for each element, with the mask end in the low-order byte, the mask
begin in the next higher byte, and other bytes zero.</para>
<subtitle>Vector ... Spelled Out Name TBD</subtitle>
<subtitle>Vector Round</subtitle>
<programlisting>
r = vec_round (ARG1)
r = vec_round (a)
</programlisting>
<para><emphasis role="bold">Purpose:</emphasis>
Returns a vector containing the rounded values of the corresponding elements of the given vector.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of the result contains the value of the corresponding element of ARG1, rounded to the nearest representable floating-point integer, using IEEE round-to-nearest rounding.</para>
<note>
<para>This function might not follow the strict
operation definition of the resolution of a tie during a
round if the -qstrict=nooperationprecision compiler option is
specified to the XLC compiler.</para>
</note>
Returns a vector containing the rounded values of the corresponding
elements of the given vector.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of
<emphasis role="bold">r</emphasis> contains the value of the
corresponding element of <emphasis role="bold">a</emphasis>, rounded
to the nearest representable floating-point integer, using IEEE
round-to-nearest rounding.</para>
<para><emphasis role="bold">Notes:</emphasis> This function might not
follow the strict operation definition of the resolution of a tie during
a round if the -qstrict=nooperationprecision compiler option is
Returns a vector containing a refined approximation of the reciprocal square roots of the corresponding elements of the given vector. This function provides an implementation-dependent greater precision than VEC_RSQRTE.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of the result contains a refined approximation of the reciprocal square root of the corresponding element of ARG1.</para>
Returns a vector containing a refined approximation of the reciprocal
square roots of the corresponding elements of the given vector. This
function provides an implementation-dependent greater precision than
Returns a vector containing estimates of the reciprocal square roots of the corresponding elements of the given vector.
Returns a vector containing estimates of the reciprocal square roots of
the corresponding elements of the given vector.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of the result contains the estimated value of the reciprocal square root of the corresponding element of ARG1.</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of
<emphasis role="bold">r</emphasis> contains the estimated value of the
reciprocal square root of the corresponding element of <emphasis
<subtitle>Vector ... Spelled Out Name TBD</subtitle>
<subtitle>Vector Select</subtitle>
<programlisting>
r = vec_sel (ARG1, ARG2, ARG3)
r = vec_sel (a, b, c)
</programlisting>
<para><emphasis role="bold">Purpose:</emphasis>
Returns a vector containing the value of either ARG1 or ARG2 depending on the value of ARG3.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each bit of the result vector has the value of the corresponding bit of ARG1 if the corresponding bit of ARG3 is 0. Otherwise, each bit of the result vector has the value of the corresponding bit of ARG2.</para>
Returns a vector containing the value of either <emphasis
role="bold">a</emphasis> or <emphasis role="bold">b</emphasis>
depending on the value of <emphasis role="bold">c</emphasis>.
</para>
<para><emphasis role="bold">Result value: </emphasis>Each bit of
<emphasis role="bold">r</emphasis> has the value of the corresponding
bit of <emphasis role="bold">a</emphasis> if the corresponding bit of
<emphasis role="bold">c</emphasis> is 0. Otherwise, the bit of
<emphasis role="bold">r</emphasis> has the value of the corresponding
<subtitle>Vector ... Spelled Out Name TBD</subtitle>
<subtitle>Vector Convert Floating-Point to Signed Integer</subtitle>
<programlisting>
r = vec_signed (ARG1)
r = vec_signed (a)
</programlisting>
<para><emphasis role="bold">Purpose:</emphasis>
Converts a vector of floating-point numbers to a vector of signed integers.
Converts a vector of floating-point numbers to a vector of signed
integers.
</para>
<para><emphasis role="bold">Result value: </emphasis>Target elements are obtained by truncating the respective source elements to signed integers.</para>
<para><emphasis role="bold">Result value: </emphasis>Each element of
<emphasis role="bold">r</emphasis> is obtained by truncating the
corresponding element of <emphasis role="bold">a</emphasis> to a signed
<subtitle>Vector ... Spelled Out Name TBD</subtitle>
<subtitle>Vector Convert Double-Precision to Signed Word</subtitle>
<programlisting>
r = vec_signed2 (ARG1, ARG2)
r = vec_signed2 (a, b)
</programlisting>
<para><emphasis role="bold">Purpose:</emphasis>
Converts a vector of floating-point numbers to vector of signed integers.
Converts two vectors of double-precision floating-point numbers to a
vector of signed 32-bit integers.
</para>
<para><emphasis role="bold">Result value: </emphasis>Target elements are obtained by truncating the source elements to the signed integers as follows:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Target elements 0 and 1 from source 0</para>
</listitem>
<listitem>
<para>Target elements 2 and 3 from source 1</para>