diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml
index ad8d9bb..b0d7ec7 100644
--- a/Intrinsics_Reference/ch_vec_reference.xml
+++ b/Intrinsics_Reference/ch_vec_reference.xml
@@ -10593,6 +10593,282 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+ vec_clr_first
+ Vector Clear First
+
+ r = vec_clr_first (a, b)
+
+
+ Purpose:
+ Clear the first N elements of a vector to zero.
+
+ Result value:
+ Let N be the value of b.
+ The first N elements of r are
+ set to zero. The remaining elements of r are copied from the corresponding
+ elements of a.
+
+
+ b must have a value between 1
+ and the number of elements of a, inclusive.
+
+ Endian considerations:
+ The element numbering within a register is left-to-right for
+ big-endian targets, and right-to-left for little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vclrlb
+ vec_clr_first
+
+
+ vclrrb
+ vec_clr_first
+
+
+
+ Supported type signatures for vec_clr_first
+
+
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ b
+
+
+
+
+ Example LE Implementation
+
+
+
+
+ Example BE Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector signed char
+
+
+ vector signed char
+
+
+ const int
+
+
+
+ vclrrb r,a,16-b
+
+
+
+
+ vclrlb r,a,16-b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned char
+
+
+ vector unsigned char
+
+
+ const int
+
+
+
+ vclrrb r,a,16-b
+
+
+
+
+ vclrlb r,a,16-b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_clr_last
+ Vector Clear Last
+
+ r = vec_clr_last (a, b)
+
+
+ Purpose:
+ Clear the last N elements of a vector to zero.
+
+ Result value:
+ Let N be the value of b.
+ The last N elements of r are
+ set to zero. The remaining elements of r are copied from the corresponding
+ elements of a.
+
+
+ b must have a value between 1
+ and the number of elements of a, inclusive.
+
+ Endian considerations:
+ The element numbering within a register is left-to-right for
+ big-endian targets, and right-to-left for little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vclrlb
+ vec_clr_last
+
+
+ vclrrb
+ vec_clr_last
+
+
+
+ Supported type signatures for vec_clr_last
+
+
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ b
+
+
+
+
+ Example LE Implementation
+
+
+
+
+ Example BE Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector signed char
+
+
+ vector signed char
+
+
+ const int
+
+
+
+ vclrlb r,a,16-b
+
+
+
+
+ vclrrb r,a,16-b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned char
+
+
+ vector unsigned char
+
+
+ const int
+
+
+
+ vclrlb r,a,16-b
+
+
+
+
+ vclrrb r,a,16-b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
vec_cmpb
Vector Compare Bytes
@@ -14132,6 +14408,180 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+
+ vec_cntm
+ Vector Count Mask
+
+ r = vec_cntm (a, b)
+
+
+ Purpose:
+ Count the number of elements with their high-order bit equal to
+ a specific value.
+
+ Result value:
+ Let N be 7 when a is a vector
+ unsigned char, 6 when a is a
+ vector unsigned short, 5 when a
+ is a vector unsigned int, and 4 when a is a vector unsigned long long. Then
+ bits 0:N of r are set to the
+ number of elements in a whose
+ high-order bit is equal to b,
+ which must be either 0 or 1. Bits N+1:53 of r are set to 0.
+
+ Endian considerations:
+ None.
+
+ Notes:
+ The somewhat odd definition of the result value is intended to
+ allow r to be consumed
+ efficiently by the VSX Load Vector with Length
+ (lxvl
) instruction.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vcntmbb
+ vec_cntm
+
+
+ vcntmbh
+ vec_cntm
+
+
+ vcntmbw
+ vec_cntm
+
+
+ vcntmbd
+ vec_cntm
+
+
+
+ Supported type signatures for vec_cntm
+
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ b
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ unsigned long long
+
+
+ vector unsigned char
+
+
+ const unsigned char
+
+
+
+ vcntmbb r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ unsigned long long
+
+
+ vector unsigned short
+
+
+ const unsigned char
+
+
+
+ vcntmbh r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ unsigned long long
+
+
+ vector unsigned int
+
+
+ const unsigned char
+
+
+
+ vcntmbw r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ unsigned long long
+
+
+ vector unsigned long long
+
+
+ const unsigned char
+
+
+
+ vcntmbd r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
vec_cnttz
@@ -17283,6 +17733,170 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+ vec_expandm
+ Vector Expand Mask
+
+ r = vec_expandm (a)
+
+
+ Purpose:
+ Create an element mask based on high-order bits in the input
+ elements.
+
+ Result value:
+ Each element of r is set to all
+ zeros if the high-order bit of the corresponding element of
+ a is equal to 0; otherwise it
+ is set to all ones.
+
+ Endian considerations:
+ None.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vexpandbm
+ vec_expandm
+
+
+ vexpandhm
+ vec_expandm
+
+
+ vexpandwm
+ vec_expandm
+
+
+ vexpanddm
+ vec_expandm
+
+
+ vexpandqm
+ vec_expandm
+
+
+
+ Supported type signatures for vec_expandm
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned char
+
+
+ vector unsigned char
+
+
+
+ vexpandbm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned short
+
+
+ vector unsigned short
+
+
+
+ vexpandhm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned int
+
+
+ vector unsigned int
+
+
+
+ vexpandwm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned long long
+
+
+ vector unsigned long long
+
+
+
+ vexpanddm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned __int128
+
+
+ vector unsigned __int128
+
+
+
+ vexpandqm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
vec_expte
Vector Exponential Estimate
@@ -18505,6 +19119,170 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+ vec_extractm
+ Vector Extract Mask
+
+ r = vec_extractm (a)
+
+
+ Purpose:
+ Collect the high-order bits of each element of the input
+ vector.
+
+ Result value:
+ The contents of the high-order bit of each element of a are concatenated and placed in the
+ rightmost bits of r, with other
+ bits of r set to 0.
+
+ Endian considerations:
+ None.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vextractbm
+ vec_extractm
+
+
+ vextracthm
+ vec_extractm
+
+
+ vextractwm
+ vec_extractm
+
+
+ vextractdm
+ vec_extractm
+
+
+ vextractqm
+ vec_extractm
+
+
+
+ Supported type signatures for vec_extractm
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ unsigned int
+
+
+ vector unsigned char
+
+
+
+ vextractbm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ unsigned int
+
+
+ vector unsigned short
+
+
+
+ vextracthm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ unsigned int
+
+
+ vector unsigned int
+
+
+
+ vextractwm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ unsigned int
+
+
+ vector unsigned long long
+
+
+
+ vextractdm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ unsigned int
+
+
+ vector unsigned __int128
+
+
+
+ vextractqm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
vec_extract4b
Vector Extract Four Bytes
@@ -21305,6 +22083,672 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+ vec_genbm
+ Vector Generate Byte Mask
+
+ r = vec_genbm (a)
+
+
+ Purpose:
+ Create an element mask for byte elements from a bit mask.
+
+ Result value:
+ For each integer i from 0 to 15, do the
+ following. Counting the leftmost element of r as the 0th element, and the rightmost
+ element as the 15th element, all bits of the
+ ith element of r are set to 0 if the
+ ith bit of the 16-bit value in a is equal to 0. All bits of the
+ ith element of r are set to 1 if the
+ ith bit of the 16-bit value in a is equal to 1. The bits in a are likewise numbered from left to
+ right.
+
+ Endian considerations:
+ Because elements are numbered from left to right in the result
+ vector regardless of endianness, the semantics of this built-in
+ function differ on big-endian and little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ mtvsrbm
+ vec_genbm
+
+
+
+ Supported type signatures for vec_genbm
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned char
+
+
+ unsigned long long
+
+
+
+ mtvsrbm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_gendm
+ Vector Generate Doubleword Mask
+
+ r = vec_gendm (a)
+
+
+ Purpose:
+ Create an element mask for doubleword elements from a bit mask.
+
+ Result value:
+ For each integer i from 0 to 1, do the
+ following. Counting the leftmost element of r as the 0th element, and the rightmost
+ element as the 1st element, all bits of the
+ ith element of r are set to 0 if the
+ ith bit of the 2-bit value in a is equal to 0. All bits of the
+ ith element of r are set to 1 if the
+ ith bit of the 2-bit value in a is equal to 1. The bits in a are likewise numbered from left to
+ right.
+
+ Endian considerations:
+ Because elements are numbered from left to right in the result
+ vector regardless of endianness, the semantics of this built-in
+ function differ on big-endian and little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ mtvsrdm
+ vec_gendm
+
+
+
+ Supported type signatures for vec_gendm
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned long long
+
+
+ unsigned long long
+
+
+
+ mtvsrdm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_genhm
+ Vector Generate Halfword Mask
+
+ r = vec_genhm (a)
+
+
+ Purpose:
+ Create an element mask for halfword elements from a bit mask.
+
+ Result value:
+ For each integer i from 0 to 7, do the
+ following. Counting the leftmost element of r as the 0th element, and the rightmost
+ element as the 7th element, all bits of the
+ ith element of r are set to 0 if the
+ ith bit of the 8-bit value in a is equal to 0. All bits of the
+ ith element of r are set to 1 if the
+ ith bit of the 8-bit value in a is equal to 1. The bits in a are likewise numbered from left to
+ right.
+
+ Endian considerations:
+ Because elements are numbered from left to right in the result
+ vector regardless of endianness, the semantics of this built-in
+ function differ on big-endian and little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ mtvsrhm
+ vec_genhm
+
+
+
+ Supported type signatures for vec_genhm
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned short
+
+
+ unsigned long long
+
+
+
+ mtvsrhm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_genpcvm
+ Vector Generate Permute Control Vector from Mask
+
+ r = vec_genpcvm (a, b)
+
+
+ Purpose:
+ Generate a permute control vector for expanding or compressing a
+ source vector according to a specified mask.
+
+ Result value:
+ b must have a value of 0, 1, 2,
+ or 3. a contains a bit mask
+ where the high-order bit in each element is set if the permute
+ mask should specify expansion or compression of that element, as
+ explained below.
+
+
+ If b = 0, r is assigned the value of the permute
+ control vector required to enable a left-indexed permute to
+ implement an expansion of the leftmost elements of a source
+ vector into the elements of a result vector specified by the
+ element mask in a.
+
+
+ If b = 1, r is assigned the value of the permute
+ control vector required to enable a left-indexed permute to
+ implement a compression of the sparse elements in a source
+ vector specified by the element mask in a into the leftmost elements of a
+ result vector.
+
+
+ If b = 2, r is assigned the value of the permute
+ control vector required to enable a right-indexed permute to
+ implement an expansion of the rightmost elements of a source
+ vector into the elements of a result vector specified by the
+ element mask in a.
+
+
+ If b = 3, r is assigned the value of the permute
+ control vector required to enable a right-indexed permute to
+ implement a compression of the sparse elements in a source
+ vector specified by the element mask in a into the rightmost elements of a
+ result vector.
+
+ Endian considerations:
+ None.
+
+ Notes:
+ See the descriptions of xxgenpcvbm
et al. in the
+ Power Instruction Set Architecture, Version 3.1B Specification
+ () for examples of how to use
+ this function in practice.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ xxgenpcvbm
+ vec_genpcvm
+
+
+ xxgenpcvhm
+ vec_genpcvm
+
+
+ xxgenpcvwm
+ vec_genpcvm
+
+
+ xxgenpcvdm
+ vec_genpcvm
+
+
+
+ Supported type signatures for vec_genpcvm
+
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ b
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned char
+
+
+ vector unsigned char
+
+
+ const int
+
+
+
+ xxgenpcvbm r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned short
+
+
+ vector unsigned short
+
+
+ const int
+
+
+
+ xxgenpcvhm r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned int
+
+
+ vector unsigned int
+
+
+ const int
+
+
+
+ xxgenpcvwm r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned long long
+
+
+ vector unsigned long long
+
+
+ const int
+
+
+
+ xxgenpcvdm r,a,b
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_genqm
+ Vector Generate Quadword Mask
+
+ r = vec_genqm (a)
+
+
+ Purpose:
+ Create an element mask for a quadword from a bit mask.
+
+ Result value:
+ All bits of r are set to 0 if
+ the bit in a is equal to 0.
+ Otherwise all bits of r are set
+ to 1.
+
+ Endian considerations:
+ None.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ mtvsrqm
+ vec_genqm
+
+
+
+ Supported type signatures for vec_genqm
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned __int128
+
+
+ unsigned long long
+
+
+
+ mtvsrqm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_genwm
+ Vector Generate Word Mask
+
+ r = vec_genwm (a)
+
+
+ Purpose:
+ Create an element mask for word elements from a bit mask.
+
+ Result value:
+ For each integer i from 0 to 3, do the
+ following. Counting the leftmost element of r as the 0th element, and the rightmost
+ element as the 3rd element, all bits of the
+ ith element of r are set to 0 if the
+ ith bit of the 4-bit value in a is equal to 0. All bits of the
+ ith element of r are set to 1 if the
+ ith bit of the 4-bit value in a is equal to 1. The bits in a are likewise numbered from left to
+ right.
+
+ Endian considerations:
+ Because elements are numbered from left to right in the result
+ vector regardless of endianness, the semantics of this built-in
+ function differ on big-endian and little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ mtvsrwm
+ vec_genwm
+
+
+
+ Supported type signatures for vec_genwm
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned int
+
+
+ unsigned long long
+
+
+
+ mtvsrwm r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
vec_gnb
Vector Gather Nth Bits
@@ -42560,6 +44004,554 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+ vec_stril
+ Vector String Isolate Left-Justified
+
+ r = vec_stril (a)
+
+
+ Purpose:
+ Copy a null-terminated string of elements from the input vector
+ to the output vector, replacing all elements following the first
+ zero element with zeros.
+
+ Result value:
+ Elements in a are copied, in
+ natural element order, to corresponding elements of r until the first zero element of
+ a is encountered, or until all
+ elements have been copied. If a zero element is encountered,
+ all remaining elements of r are
+ set to zero.
+
+ Endian considerations:
+ The element numbering within a register is left-to-right for
+ big-endian targets, and right-to-left for little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vstribr
+ vec_stril
+
+
+ vstribl
+ vec_stril
+
+
+ vstrihr
+ vec_stril
+
+
+ vstrihl
+ vec_stril
+
+
+
+ Supported type signatures for vec_stril
+
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example LE Implementation
+
+
+
+
+ Example BE Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned char
+
+
+ vector unsigned char
+
+
+
+ vstribr r,a
+
+
+
+
+ vstribl r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector signed char
+
+
+ vector signed char
+
+
+
+ vstribr r,a
+
+
+
+
+ vstribl r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned short
+
+
+ vector unsigned short
+
+
+
+ vstrihr r,a
+
+
+
+
+ vstrihl r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector signed short
+
+
+ vector signed short
+
+
+
+ vstrihr r,a
+
+
+
+
+ vstrihl r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_stril_p
+ Vector String Isolate Left-Justified (Predicate)
+
+ r = vec_stril_p (a)
+
+
+ Purpose:
+ Returns a nonzero value if and only if the input vector contains
+ at least one zero element.
+
+ Result value:
+ r contains a nonzero value if
+ and only if a contains at least
+ one nonzero value.
+
+ Endian considerations:
+ None.
+
+ Notes:
+ I suggest renaming this to vec_any_zero
, and not
+ having vec_strir_p
.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vstribr
+ vec_stril_p
+
+
+ vstribl
+ vec_stril_p
+
+
+ vstrihr
+ vec_stril_p
+
+
+ vstrihl
+ vec_stril_p
+
+
+ mfocrf
+ vec_stril_p
+
+
+ rlwinm
+ vec_stril_p
+
+
+
+ Supported type signatures for vec_stril_p
+
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example LE Implementation
+
+
+
+
+ Example BE Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned char
+
+
+ vector unsigned char
+
+
+
+ vstribr. t,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+
+ vstribl. r,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector signed char
+
+
+ vector signed char
+
+
+
+ vstribr. r,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+
+ vstribl. r,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned short
+
+
+ vector unsigned short
+
+
+
+ vstrihr. r,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+
+ vstrihl. r,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector signed short
+
+
+ vector signed short
+
+
+
+ vstrihr. r,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+
+ vstrihl. r,a
+ mfocrf u,2
+ rlwinm r,u,25,1
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_strir
+ Vector String Isolate Right-Justified
+
+ r = vec_strir (a)
+
+
+ Purpose:
+ Copy a null-terminated string of elements from the input vector
+ to the output vector, replacing all elements following the first
+ zero element with zeros. Elements appear in the reverse of
+ natural element order.
+
+ Result value:
+ Elements in a are copied, in
+ the reverse of natural element order, to corresponding elements
+ of r until the first zero
+ element of a is encountered, or
+ until all elements have been copied. If a zero element is
+ encountered, all remaining elements of r are set to zero.
+
+ Endian considerations:
+ The element numbering within a register is left-to-right for
+ big-endian targets, and right-to-left for little-endian targets.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ vstribr
+ vec_strir
+
+
+ vstribl
+ vec_strir
+
+
+ vstrihr
+ vec_strir
+
+
+ vstrihl
+ vec_strir
+
+
+
+ Supported type signatures for vec_strir
+
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example LE Implementation
+
+
+
+
+ Example BE Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ vector unsigned char
+
+
+ vector unsigned char
+
+
+
+ vstribl r,a
+
+
+
+
+ vstribr r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector signed char
+
+
+ vector signed char
+
+
+
+ vstribl r,a
+
+
+
+
+ vstribr r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector unsigned short
+
+
+ vector unsigned short
+
+
+
+ vstrihl r,a
+
+
+
+
+ vstrihr r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+ vector signed short
+
+
+ vector signed short
+
+
+
+ vstrihl r,a
+
+
+
+
+ vstrihr r,a
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
vec_sub
Vector Subtract
@@ -44800,6 +46792,208 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+ vec_test_lsbb_all_ones
+ Vector Test Least-Significant Bit by Byte for All
+ Ones
+
+ r = vec_test_lsbb_all_ones (a)
+
+
+ Purpose:
+ Test whether the least-significant bit of all bytes of the input
+ operand are equal to one.
+
+ Result value:
+ r is set to 1 if the
+ least-significant bit of all bytes of a are equal to 1. Otherwise, r is set to 0.
+
+ Endian considerations:
+ None.
+
+ Notes:
+ In the example implementation, "mask" is an 8-bit mask where the
+ only set bit identifies condition register field
+ t, and "bit" identifies the first bit
+ position in condition register field t.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ xvtlsbb
+ vec_test_lsbb_all_ones
+
+
+ mfocrf
+ vec_test_lsbb_all_ones
+
+
+ rlwinm
+ vec_test_lsbb_all_ones
+
+
+
+ Supported type signatures for vec_test_lsbb_all_ones
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ int
+
+
+ vector unsigned char
+
+
+
+ xvtlsbb t,a
+ mfocrf u,mask
+ rlwinm r,u,bit,1
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
+
+ vec_test_lsbb_all_zeros
+ Vector Test Least-Significant Bit by Byte for All
+ Zeros
+
+ r = vec_test_lsbb_all_zeros (a)
+
+
+ Purpose:
+ Test whether the least-significant bit of all bytes of the input
+ operand are equal to zero.
+
+ Result value:
+ r is set to 1 if the
+ least-significant bit of all bytes of a are equal to 0. Otherwise, r is set to 0.
+
+ Endian considerations:
+ None.
+
+ Notes:
+ In the example implementation, "mask" is an 8-bit mask where the
+ only set bit identifies condition register field
+ t, and "bit" identifies the third bit
+ position in condition register field t.
+
+ Review status:
+ Not yet reviewed.
+
+
+
+ xvtlsbb
+ vec_test_lsbb_all_zeros
+
+
+ mfocrf
+ vec_test_lsbb_all_zeros
+
+
+ rlwinm
+ vec_test_lsbb_all_zeros
+
+
+
+ Supported type signatures for vec_test_lsbb_all_zeros
+
+
+
+
+
+
+
+
+
+ r
+
+
+
+
+ a
+
+
+
+
+ Example Implementation
+
+
+
+
+ Restrictions
+
+
+
+
+
+
+
+ int
+
+
+ vector unsigned char
+
+
+
+ xvtlsbb t,a
+ mfocrf u,mask
+ rlwinm r,u,bit,1
+
+
+
+ ISA 3.1 or later
+
+
+
+
+
+
+
+
+
vec_trunc
Vector Truncate