From 98c2d19534e87e89084d41c767ed62d8b220b362 Mon Sep 17 00:00:00 2001 From: Bill Schmidt Date: Mon, 26 Apr 2021 10:31:15 -0500 Subject: [PATCH] Completed draft work for RFC 2608 Signed-off-by: Bill Schmidt --- Intrinsics_Reference/ch_vec_reference.xml | 513 ++++++++++++++++++++-- 1 file changed, 487 insertions(+), 26 deletions(-) diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml index a8952ec..fde93a9 100644 --- a/Intrinsics_Reference/ch_vec_reference.xml +++ b/Intrinsics_Reference/ch_vec_reference.xml @@ -33078,6 +33078,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. + + Review status: + Not yet reviewed. + vrlb @@ -33100,37 +33104,41 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vec_rl - xxswapd + xxpermdi vec_rl Supported type signatures for vec_rl - + + - + r - + a - + b - + Example Implementation + + Restrictions + @@ -33149,6 +33157,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlb r,a,b + + + + @@ -33165,6 +33177,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlb r,a,b + + + + @@ -33181,6 +33197,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlh r,a,b + + + + @@ -33197,6 +33217,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlh r,a,b + + + + @@ -33213,6 +33237,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlw r,a,b + + + + @@ -33229,6 +33257,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlw r,a,b + + + + @@ -33245,6 +33277,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrld r,a,b + + + + @@ -33261,6 +33297,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrld r,a,b + + + + @@ -33277,6 +33317,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrld r,a,b + + + + @@ -33293,6 +33337,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrld r,a,b + + + + @@ -33310,6 +33358,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlq r,a,t + + + ISA 3.1 or later + + @@ -33327,6 +33380,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrlq r,a,t + + + ISA 3.1 or later + + @@ -33350,14 +33408,25 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> r is obtained by rotating the corresponding element of vector b left and inserting it under mask into the corresponding element of - a. Bits 11:15 of the corresponding - element of c contain the mask - beginning, bits 19:23 contain the mask end, and bits 27:31 contain the - shift count. + a. For the integer and long long forms, + bitsBits 11:15 + of the corresponding element of c contain the mask beginning, bits 19:23 + contain the mask end, and bits 27:31 contain the shift count. + For the __int128 forms, bits + 117:123 of c contain the mask + beginning, bits 125:131 contain the mask end, and bits 125:131 + contain the shift count. + Endian considerations: The referenced bit numbers within the elements of c are in left-to-right order. + + Review status: + Not yet reviewed. + vrlwmi @@ -33367,6 +33436,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrldmi vec_rlmi + + vrlqmi + vec_rlmi +
Supported type signatures for vec_rlmi @@ -33452,6 +33525,50 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> ISA 3.0 or later + + + vector signed __int128 + + + vector signed __int128 + + + vector signed __int128 + + + vector unsigned __int128 + + + + vrlqmi r/a,b,c + + + + ISA 3.1 or later + + + + + vector unsigned __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + + vrlqmi r/a,b,c + + + + ISA 3.1 or later + +
@@ -33482,6 +33599,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. + + Review status: + Not yet reviewed. + vspltisw @@ -33515,6 +33636,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vrldnm vec_rlnm + + vrlqnm + vec_rlnm + + + xxpermdi + vec_rlnm + + + vsldoi + vec_rlnm + Supported type signatures for vec_rlnm @@ -33607,6 +33740,58 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> ISA 3.0 or later + + + vector signed __int128 + + + vector signed __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vsldoi u,t,t,2 + xxswapd v,c + xxlor w,u,v + vrlqnm r,a,w + + + + ISA 3.1 or later + + + + + vector unsigned __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vsldoi u,t,t,2 + xxswapd v,c + xxlor w,u,v + vrlqnm r,a,w + + + + ISA 3.1 or later + +
@@ -35512,7 +35697,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vec_signextq - xxswapd + xxpermdi vec_signextq @@ -35598,6 +35783,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. + + Review status: + Not yet reviewed. + vslb @@ -35615,34 +35804,46 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vslh vec_sl + + vslq + vec_sl + + + xxpermdi + vec_sl + Supported type signatures for vec_sl - + + - + r - + a - + b - + Example Implementation + + Restrictions + @@ -35661,6 +35862,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vslb r,a,b + + + + @@ -35677,6 +35882,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vslb r,a,b + + + + @@ -35693,6 +35902,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vslh r,a,b + + + + @@ -35709,6 +35922,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vslh r,a,b + + + + @@ -35725,6 +35942,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vslw r,a,b + + + + @@ -35741,6 +35962,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vslw r,a,b + + + + @@ -35757,6 +35982,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsld r,a,b + + + + @@ -35773,6 +36002,54 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsld r,a,b + + + + + + + + vector signed __int128 + + + vector signed __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vslq r,a,t + + + + + ISA 3.1 or later + + + + + + vector unsigned __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vslq r,a,t + + + + + ISA 3.1 or later + + @@ -38461,6 +38738,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. + + Review status: + Not yet reviewed. + vsrb @@ -38478,34 +38759,46 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrh vec_sr + + vsrq + vec_sr + + + xxpermdi + vec_sr +
Supported type signatures for vec_sr - + + - + r - + a - + b - + Example Implementation + + Restrictions + @@ -38524,6 +38817,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrb r,a,b + + + + @@ -38540,6 +38837,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrb r,a,b + + + + @@ -38556,6 +38857,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrh r,a,b + + + + @@ -38572,6 +38877,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrh r,a,b + + + + @@ -38588,6 +38897,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrw r,a,b + + + + @@ -38604,6 +38917,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrw r,a,b + + + + @@ -38620,6 +38937,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrd r,a,b + + + + @@ -38636,6 +38957,54 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrd r,a,b + + + + + + + + vector signed __int128 + + + vector signed __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vsrq r,a,t + + + + + ISA 3.1 or later + + + + + + vector unsigned __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vsrq r,a,t + + + + + ISA 3.1 or later + + @@ -38664,6 +39033,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. + + Review status: + Not yet reviewed. + vsrab @@ -38681,34 +39054,46 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrah vec_sra + + vsraq + vec_sra + + + xxpermdi + vec_sra +
Supported type signatures for vec_sra - + + - + r - + a - + b - + Example Implementation + + Restrictions + @@ -38727,6 +39112,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrab r,a,b + + + + @@ -38743,6 +39132,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrab r,a,b + + + + @@ -38759,6 +39152,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrah r,a,b + + + + @@ -38775,6 +39172,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrah r,a,b + + + + @@ -38791,6 +39192,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsraw r,a,b + + + + @@ -38807,6 +39212,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsraw r,a,b + + + + @@ -38823,6 +39232,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrad r,a,b + + + + @@ -38839,6 +39252,54 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsrad r,a,b + + + + + + + + vector signed __int128 + + + vector signed __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vsraq r,a,t + + + + + ISA 3.1 or later + + + + + + vector unsigned __int128 + + + vector unsigned __int128 + + + vector unsigned __int128 + + + + xxswapd t,b + vsraq r,a,t + + + + + ISA 3.1 or later + +