From c5fee541fb90601f984a69e259380e70bb8f999a Mon Sep 17 00:00:00 2001 From: Bill Schmidt Date: Tue, 18 May 2021 16:42:17 -0500 Subject: [PATCH] Add vec_stri[lr]_p Signed-off-by: Bill Schmidt --- Intrinsics_Reference/ch_vec_reference.xml | 402 ++++++++++++++++++++++ 1 file changed, 402 insertions(+) diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml index 7b4d4d9..71cc3e4 100644 --- a/Intrinsics_Reference/ch_vec_reference.xml +++ b/Intrinsics_Reference/ch_vec_reference.xml @@ -44301,6 +44301,207 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> +
+ vec_stril_p + Vector String Isolate Left-Justified (Predicate) + + r = vec_stril_p (a) + + + Purpose: + Return a non-zero value if and only if the input vector contains + a zero element. + + Result value: + r is given a non-zero value if + any element in a has a zero + value. Otherwise, r is set + to zero. + + Endian considerations: + Compilers should generate the same instruction (using the record + form) that they generate for vec_stril. + + + Notes: + Use this built-in in preference to vec_nez when + the test guards a call to vec_stril. This allows + compilers to generate the most efficient code. + + 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 + + + + + + + + int + + + vector unsigned char + + + + vstribr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstribl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + + int + + + vector signed char + + + + vstribr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstribl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + + int + + + vector unsigned short + + + + vstrihr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstrihl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + + int + + + vector signed short + + + + vstrihr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstrihl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + +
+ +
+ +
vec_strir Vector String Isolate Right-Justified @@ -44477,6 +44678,207 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
+
+ vec_strir_p + Vector String Isolate Right-Justified (Predicate) + + r = vec_strir_p (a) + + + Purpose: + Return a non-zero value if and only if the input vector contains + a zero element. + + Result value: + r is given a non-zero value if + any element in a has a zero + value. Otherwise, r is set + to zero. + + Endian considerations: + Compilers should generate the same instruction (using the record + form) that they generate for vec_strir. + + + Notes: + Use this built-in in preference to vec_nez when + the test guards a call to vec_strir. This allows + compilers to generate the most efficient code. + + Review status: + Not yet reviewed. + + + + vstribr. + vec_strir_p + + + vstribl. + vec_strir_p + + + vstrihr. + vec_strir_p + + + vstrihl. + vec_strir_p + + + mfocrf + vec_strir_p + + + rlwinm + vec_strir_p + + + + Supported type signatures for vec_strir_p + + + + + + + + + + + r + + + + + a + + + + + Example LE Implementation + + + + + Example BE Implementation + + + + + Restrictions + + + + + + + + int + + + vector unsigned char + + + + vstribl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstribr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + + int + + + vector signed char + + + + vstribl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstribr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + + int + + + vector unsigned short + + + + vstrihl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstrihr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + + int + + + vector signed short + + + + vstrihl. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + + vstrihr. t,a + mfocrf u,2 + rlwinm r,u,26,1 + + + + ISA 3.1 or later + + + + +
+ +
+ +
vec_sub Vector Subtract