diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml index df3e9c4..6301586 100644 --- a/Intrinsics_Reference/ch_vec_reference.xml +++ b/Intrinsics_Reference/ch_vec_reference.xml @@ -10891,8 +10891,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> set to the number of leading zeros of the corresponding element of a. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -11286,8 +11285,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> element) of a that have a least-significant bit of zero. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -11804,8 +11802,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> element) of a that have a least-significant bit of zero. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -12792,8 +12789,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> the converted values of elements 0 and 2 of a. - An example for input a - of type vector signed int follows: + An example where a + is of type vector signed int follows: @@ -13019,8 +13016,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> the converted values of elements 0 and 1 of a. - An example for input a - of type vector signed int follows: + An example where a + is of type vector signed int follows: @@ -13252,8 +13249,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> the converted values of elements 2 and 3 of a. - An example for input a - of type vector signed int follows: + An example where a + is of type vector signed int follows: @@ -13485,8 +13482,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> the converted values of elements 1 and 3 of a. - An example for input a - of type vector signed int follows: + An example where a + is of type vector signed int follows: @@ -15318,8 +15315,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> element index of the position of the first character match in natural element order. If no match, returns the number of characters as an element count in the vector argument. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -15790,8 +15786,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> either the first character match or an end-of-string (EOS) terminator. If no match or terminator, returns the number of characters as an element count in the vector argument. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -16329,8 +16324,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> element index of the position of the first character mismatch in natural element order. If no mismatch, returns the number of characters as an element count in the vector argument. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -16785,8 +16779,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> either the first character mismatch or an end-of-string (EOS) terminator. If no mismatch or terminator, returns the number of characters as an element count in the vector argument. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -27336,8 +27329,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> is set to the exclusive-OR of byte elements x of a and y of b. - An example for input a - of type vector unsigned char follows: + An example follows: @@ -39299,11 +39291,159 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> of r is the value of the corresponding element of the most-significant half of a. + An example for input a + of type vector signed int follows: + + + + + + + + + + + + + doubleword index + + + 0 + + + 1 + + + + + word index + + + 0 + + + 1 + + + 2 + + + 3 + + + + + + + r + + + 10111213 + + + 24252627 + + + ???????? + + + ???????? + + + + + a + + + 0000000010111213 + + + 0000000024252627 + + + + + + If a is a floating-point vector, the value of each element of r is the value of the corresponding element of the most-significant half of a, widened to the result precision. + An example for input a + of type vector float follows: + + + + + + + + + + + + + doubleword index + + + 0 + + + 1 + + + + + word index + + + 0 + + + 1 + + + 2 + + + 3 + + + + + + + r + + + -2.71828182 + + + 3.14159265 + + + ???????? + + + ???????? + + + + + a + + + -2.71828182 + + + 3.14159265 + + + + + + If a is a pixel vector, the value of each element of r is taken from the corresponding element of the most-significant half of role="bold">a. - Endian considerations: - The "high" half of a vector with n elements is the - first n/2 elements of the vector. For little - endian, these elements are in the rightmost half of the vector. For - big endian, these elements are in the leftmost half of the vector. - - - - vupklsh - vec_unpackh - - - vupkhsh - vec_unpackh - - - vupklpx - vec_unpackh - - - vupkhpx - vec_unpackh - - - vupklsw - vec_unpackh - - - vupkhsw - vec_unpackh - - - vupklsb - vec_unpackh - - - vupkhsb - vec_unpackh - - - xxsldwi - vec_unpackh - - - xvcvspdp - vec_unpackh - - - - Supported type signatures for vec_unpackh - - - - - + An example follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - r - + word index - - - a - + + 0 - - Example LE - Implementation + + 1 - - Example BE - Implementation + + 2 + + + 3 - - - vector bool short + halfword index + + + 0 + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + + + + + a + + + 1234 + + + 2567 + + + 489A + + + 8BCD + + + ???? + + + ???? + + + ???? + + + ???? + + + + + unpack halfwords to words + + + 1234 + + + 2567 + + + 489A + + + 8BCD + + + + + as bits + + + 0001001000110100 + + + 0010010101100111 + + + 0100100010011010 + + + 1000101111001101 + + + + + as 1-5-5-5 + + + 0 + + + 00100 + + + 10001 + + + 10100 + + + 0 + + + 01001 + + + 01011 + + + 00111 + + + 0 + + + 10010 + + + 00100 + + + 11010 + + + 1 + + + 00010 + + + 11110 + + + 01101 + + + + + r + + + 00041114 + + + 00090B07 + + + 0012041A + + + FF021E0D + + + + + + + + Endian considerations: + The "high" half of a vector with n elements is the + first n/2 elements of the vector. For little + endian, these elements are in the rightmost half of the vector. For + big endian, these elements are in the leftmost half of the vector. + + + + vupklsh + vec_unpackh + + + vupkhsh + vec_unpackh + + + vupklpx + vec_unpackh + + + vupkhpx + vec_unpackh + + + vupklsw + vec_unpackh + + + vupkhsw + vec_unpackh + + + vupklsb + vec_unpackh + + + vupkhsb + vec_unpackh + + + xxsldwi + vec_unpackh + + + xvcvspdp + vec_unpackh + + +
+ Supported type signatures for vec_unpackh + + + + + + + + + + r + + + + + a + + + + Example LE + Implementation + + + Example BE + Implementation + + + + + + + vector bool short vector bool char @@ -39582,11 +39941,159 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> of r is the value of the corresponding element of the least-significant half of a. + An example for input a + of type vector signed int follows: + + + + + + + + + + + + + doubleword index + + + 0 + + + 1 + + + + + word index + + + 0 + + + 1 + + + 2 + + + 3 + + + + + + + r + + + ???????? + + + ???????? + + + 38393A3B + + + 4C4D4E4F + + + + + a + + + 0000000038393A3B + + + 000000004C4D4E4F + + + + + + If a is a floating-point vector, the value of each element of r is the value of the corresponding element of the least-significant half of a, widened to the result precision. + An example for input a + of type vector float follows: + + + + + + + + + + + + + doubleword index + + + 0 + + + 1 + + + + + word index + + + 0 + + + 1 + + + 2 + + + 3 + + + + + + + r + + + ???????? + + + ???????? + + + 6.0221409e+23 + + + 1.61803398875 + + + + + a + + + 6.0221409e+23 + + + 1.61803398875 + + + + + + If a is a pixel vector, the value of each element of r is taken from the corresponding element of the least-significant half of role="bold">a. + An example follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + word index + + + 0 + + + 1 + + + 2 + + + 3 + + + + + halfword index + + + 0 + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + + + + + a + + + ???? + + + ???? + + + ???? + + + ???? + + + DCB8 + + + A984 + + + 7652 + + + 4321 + + + + + unpack halfwords to words + + + DCB8 + + + A984 + + + 7652 + + + 4321 + + + + + as bits + + + 1101110010111000 + + + 1010100110000100 + + + 0111011001010010 + + + 0100001100100001 + + + + + as 1-5-5-5 + + + 1 + + + 10111 + + + 00101 + + + 11000 + + + 1 + + + 01010 + + + 01100 + + + 00100 + + + 0 + + + 11101 + + + 10010 + + + 10010 + + + 0 + + + 10000 + + + 11001 + + + 00001 + + + + + r + + + FF170518 + + + FF0A0C04 + + + 001D1212 + + + 00101901 + + + + + + + Endian considerations: The "high" half of a vector with n elements is the first n/2 elements of the vector. For little