diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml
index 46ab8aa..abd0455 100644
--- a/Intrinsics_Reference/ch_vec_reference.xml
+++ b/Intrinsics_Reference/ch_vec_reference.xml
@@ -13210,16 +13210,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
single-precision IEEE numbers.
Endian considerations:
The element numbering within a register is left-to-right for big-endian
- targets, and right-to-left for little-endian targets.
-
- Notes: The example
- implementation assumes that the vperm instruction is used for
- big-endian, and the vpermr instruction is used for
- little-endian. The permute control vector for the vperm or
- vpermr instruction is in a memory location identified by pcv.
- The value located at pcv is identical in natural element order
- for big- and little-endian: { 15, 14, 0, 0, 13, 12, 0, 0, 11,
- 10, 0, 0, 9, 8, 0, 0 }.
+ targets, and right-to-left for little-endian targets. Thus the
+ permute control vector at address pcv
+ in the example implementation will differ for big- and little-endian.
@@ -13230,10 +13223,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
vperm
vec_extract_fp32_from_shorth
-
- vpermr
- vec_extract_fp32_from_shorth
-
xvcvhpsp
vec_extract_fp32_from_shorth
@@ -13277,7 +13266,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
lxv t,0(pcv)
- vperm[r] u,a,a,t
+ vperm u,a,a,t
xvcvhpsp r,u
@@ -13311,16 +13300,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
single-precision IEEE numbers.
Endian considerations:
The element numbering within a register is left-to-right for big-endian
- targets, and right-to-left for little-endian targets.
-
- Notes: The example
- implementation assumes that the vperm instruction is used for
- big-endian, and the vpermr instruction is used for
- little-endian. The permute control vector for the vperm or
- vpermr instruction is in a memory location identified by pcv.
- The value located at pcv is identical in natural element order
- for big- and little-endian: { 7, 6, 0, 0, 5, 4, 0, 0, 3, 2, 0,
- 0, 1, 0, 0, 0 }.
+ targets, and right-to-left for little-endian targets. Thus the
+ permute control vector at address pcv
+ in the example implementation will differ for big- and little-endian.
@@ -13331,10 +13313,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
vperm
vec_extract_fp32_from_shortl
-
- vpermr
- vec_extract_fp32_from_shortl
-
xvcvhpsp
vec_extract_fp32_from_shortl
@@ -13378,7 +13356,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
lxv t,0(pcv)
- vperm[r] u,a,a,t
+ vperm u,a,a,t
xvcvhpsp r,u
@@ -24581,492 +24559,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Result value: For each
i (0 ≤ i < 16), let
- x be bits 0–3 and
- y be bits 4–7 of byte element
+ index1 be bits 0–3 and
+ index2 be bits 4–7 of byte element
i of c. Byte
element i of r
- is set to the exclusive-OR of byte elements x
- of a and y
+ is set to the exclusive-OR of byte elements index1
+ of a and index2
of b.
- An example follows:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- a
-
-
- F0
-
-
- F1
-
-
- F2
-
-
- F3
-
-
- F4
-
-
- F5
-
-
- F6
-
-
- F7
-
-
- F8
-
-
- F9
-
-
- FA
-
-
- FB
-
-
- FC
-
-
- FD
-
-
- FE
-
-
- FF
-
-
-
-
- b
-
-
- FF
-
-
- EF
-
-
- DF
-
-
- CF
-
-
- BF
-
-
- AF
-
-
- 9F
-
-
- 8F
-
-
- 7F
-
-
- 6F
-
-
- 5F
-
-
- 4F
-
-
- 3F
-
-
- 2F
-
-
- 1F
-
-
- 0F
-
-
-
-
- c
-
-
- 01
-
-
- 23
-
-
- 45
-
-
- 67
-
-
- 89
-
-
- AB
-
-
- CD
-
-
- EF
-
-
- F0
-
-
- E1
-
-
- D2
-
-
- C3
-
-
- B4
-
-
- A5
-
-
- 96
-
-
- 87
-
-
-
-
- x
-
-
- y
-
-
- 0
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
- 5
-
-
- 6
-
-
- 7
-
-
- 8
-
-
- 9
-
-
- A
-
-
- B
-
-
- C
-
-
- D
-
-
- E
-
-
- F
-
-
- F
-
-
- 0
-
-
- E
-
-
- 1
-
-
- D
-
-
- 2
-
-
- C
-
-
- 3
-
-
- B
-
-
- 4
-
-
- A
-
-
- 5
-
-
- 9
-
-
- 6
-
-
- 8
-
-
- 7
-
-
-
-
- ax
-
-
- by
-
-
- F0
-
-
- EF
-
-
- F2
-
-
- CF
-
-
- F4
-
-
- AF
-
-
- F6
-
-
- 8F
-
-
- F8
-
-
- 6F
-
-
- FA
-
-
- 4F
-
-
- FC
-
-
- 2F
-
-
- FE
-
-
- 0F
-
-
- FF
-
-
- FF
-
-
- FE
-
-
- EF
-
-
- FD
-
-
- DF
-
-
- FC
-
-
- CF
-
-
- FB
-
-
- BF
-
-
- FA
-
-
- AF
-
-
- F9
-
-
- 9F
-
-
- F8
-
-
- 8F
-
-
-
-
- r
-
-
- 1F
-
-
- 3D
-
-
- 5B
-
-
- 79
-
-
- 97
-
-
- B5
-
-
- D3
-
-
- F1
-
-
- 00
-
-
- 11
-
-
- 22
-
-
- 33
-
-
- 44
-
-
- 55
-
-
- 66
-
-
- 77
-
-
-
-
-
-
Endian considerations:
The element numbering within a register is left-to-right for big-endian
targets, and right-to-left for little-endian targets.
@@ -25228,6 +24727,105 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
i + 1 of a and
b.
+ An example follows for inputs of type vector unsigned int:
+
+
+
+
+
+
+
+
+
+
+
+
+ a
+
+
+ A3000000
+
+
+ 00A20000
+
+
+ 0000A100
+
+
+ 000000A0
+
+
+
+
+ b
+
+
+ 00B30000
+
+
+ 0000B200
+
+
+ 000000B1
+
+
+ B00000B0
+
+
+
+
+ binary polynomial multiplicands
+
+
+ A3000000
+ 00B30000
+
+
+ 00A20000
+ 0000B200
+
+
+ 0000A100
+ 000000B1
+
+
+ 000000A0
+ B00000B0
+
+
+
+
+ intermediate results
+ XOR operands
+
+
+ 004E350000000000
+
+
+ 0000004E24000000
+
+
+ 00000000004E1100
+
+
+ 0000004E00004E00
+
+
+
+
+ r
+
+
+ 004E354E24000000
+
+
+ 0000004E004E5F00
+
+
+
+
+
+
Endian considerations:
All element numberings in the above description denote big-endian
@@ -26137,81 +25735,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Notes: The example
implementations assume that the permute control vector for the
vperm or vpermr instruction is in a register identified by pcv.
- The value of pcv differs based on the element size, and is the
- same (in natural element order) for big- and little-endian,
- assuming the use of vperm for big-endian and vpermr for
- little-endian.
+ The value of pcv differs based on the element size.
-
-
-
-
-
-
-
- Vector types
-
-
- Permute control vector
-
-
-
-
-
-
-
- vector char
-
-
-
-
- { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
- 0 }
-
-
-
-
-
-
- vector short
-
-
-
-
- { 14, 15, 12, 13, 10, 11, 8, 9, 6, 7, 4, 5, 2, 3, 0,
- 1 }
-
-
-
-
-
-
- vector int, vector float
-
-
-
-
- { 12, 13, 14, 15, 8, 9, 10, 11, 4, 5, 6, 7, 0, 1, 2,
- 3 }
-
-
-
-
-
-
- vector long long, vector double
-
-
-
-
- { 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6,
- 7 }
-
-
-
-
-
-
vperm