diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml index f07047b..f8e6822 100644 --- a/Intrinsics_Reference/ch_vec_reference.xml +++ b/Intrinsics_Reference/ch_vec_reference.xml @@ -7941,6 +7941,553 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> + An example for input a + of type vector unsigned char follows: + + + + + + + + + + + + + + + + + + + + + + + byte index + + + 0 + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + 8 + + + 9 + + + 10 + + + 11 + + + 12 + + + 13 + + + 14 + + + 15 + + + + + + + a + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + FF + + + A9 + + + + + b + + + 7F + + + 7E + + + 7D + + + 7C + + + 7B + + + 7A + + + 79 + + + 78 + + + 77 + + + 76 + + + 75 + + + 74 + + + 73 + + + 72 + + + 71 + + + 70 + + + + + + Zoom in to view just the two bytes in a + ([14..15]) containing the bits referenced by the bit indices + b[i] + + + (0 ≤ i < 16), + + + ([7F..70]): + + + + + + + + + + + + + + + + + + + + + + + + + byte index + + + 14 + + + 15 + + + + + bit index + + + 70 + + + 71 + + + 72 + + + 73 + + + 74 + + + 75 + + + 76 + + + 77 + + + 78 + + + 79 + + + 7A + + + 7B + + + 7C + + + 7D + + + 7E + + + 7F + + + + + + + a + + + FF + + + A9 + + + + + bit abit index + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + 1 + + + 0 + + + 1 + + + 0 + + + 0 + + + 1 + + + + + bit ab[i] + + + 1 + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + 0 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + + + intermediate result + + + 95 + + + FF + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte index + + + 0 + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + 8 + + + 9 + + + 10 + + + 11 + + + 12 + + + 13 + + + 14 + + + 15 + + + + + + + r + + + 00 + + + 00 + + + 00 + + + 00 + + + 00 + + + 00 + + + 95 + + + FF + + + 00 + + + 00 + + + 00 + + + 00 + + + 00 + + + 00 + + + 00 + + + 00 + + + + + + + Endian considerations: All bit and byte numberings within each element in the above description denote big-endian (i.e., left-to-right) order, @@ -11638,36 +12185,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - doubleword index - - - 0 - - - 1 - - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - @@ -11865,36 +12382,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - doubleword index - - - 0 - - - 1 - - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - @@ -12088,46 +12575,16 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> role="bold">a. An example where a - is of type vector signed int follows: - - - - - - - - - - - - - doubleword index - - - 0 - - - 1 - - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - + is of type vector signed int follows: + + + + + + + + + @@ -12331,36 +12788,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - doubleword index - - - 0 - - - 1 - - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - @@ -25194,61 +25621,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - byte index - - - 0 - - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 6 - - - 7 - - - 8 - - - 9 - - - 10 - - - 11 - - - 12 - - - 13 - - - 14 - - - 15 - - - @@ -25845,36 +26217,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - doubleword index - - - 0 - - - 1 - - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - @@ -30746,61 +31088,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - byte index - - - 0 - - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 6 - - - 7 - - - 8 - - - 9 - - - 10 - - - 11 - - - 12 - - - 13 - - - 14 - - - 15 - - - @@ -33175,105 +33462,50 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - vec_srv - Vector Shift Right Variable - - r = vec_srv (a, b) - - - Purpose: - Right-shifts a vector by a varying number of bits by element. - - Result value: Let v be a 17-byte vector formed from a zero byte - in element 0 and the elements of a - in bytes [1:16]. Then each byte element i of - r is determined as follows. The - start bit sb is obtained from bits 5:7 of - byte element i of b. Then the contents of bits - (8 – sb):(15 – sb) of the - halfword in byte elements i:i+1 - of v are placed into byte element - i of r. - An example follows: - - - - - - - - - - - - - - - - - - - - - - - byte index - - - 0 - - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 6 - - - 7 - - - 8 - - - 9 - - - 10 - - - 11 - - - 12 - - - 13 - - - 14 - - - 15 - - - + + + + vec_srv + Vector Shift Right Variable + + r = vec_srv (a, b) + + + Purpose: + Right-shifts a vector by a varying number of bits by element. + + Result value: Let v be a 17-byte vector formed from a zero byte + in element 0 and the elements of a + in bytes [1:16]. Then each byte element i of + r is determined as follows. The + start bit sb is obtained from bits 5:7 of + byte element i of b. Then the contents of bits + (8 – sb):(15 – sb) of the + halfword in byte elements i:i+1 + of v are placed into byte element + i of r. + An example follows: + + + + + + + + + + + + + + + + + + + @@ -35915,25 +36147,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - @@ -36167,78 +36380,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - - - byte index - - - 0 - - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 6 - - - 7 - - - 8 - - - 9 - - - 10 - - - 11 - - - 12 - - - 13 - - - 14 - - - 15 - - - @@ -36367,54 +36508,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - - - halfword index - - - 0 - - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 6 - - - 7 - - - @@ -36630,25 +36723,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - @@ -37832,36 +37906,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - doubleword index - - - 0 - - - 1 - - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - - @@ -37999,36 +38043,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - doubleword index - - - 0 - - - 1 - - - - - word index - - - 0 - - - 1 - - - 2 - - - 3 - - -