From 1b64f19d15d4bdbc6869a1498f31305a0e745d70 Mon Sep 17 00:00:00 2001 From: Bill Schmidt Date: Thu, 20 Dec 2018 22:01:40 -0600 Subject: [PATCH] Complete transferring table A.3 (vec_all, vec_any) to this document. Signed-off-by: Bill Schmidt --- Intrinsics_Reference/ch_vec_reference.xml | 1402 ++++++++++++++++----- 1 file changed, 1098 insertions(+), 304 deletions(-) diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml index a52478b..dba150b 100644 --- a/Intrinsics_Reference/ch_vec_reference.xml +++ b/Intrinsics_Reference/ch_vec_reference.xml @@ -1283,7 +1283,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequb. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1301,7 +1301,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequb. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1319,7 +1319,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequb. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1337,7 +1337,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequw. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1355,7 +1355,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequw. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1373,7 +1373,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequw. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1391,7 +1391,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequd. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1409,7 +1409,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequd. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1427,7 +1427,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequd. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1445,7 +1445,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequh. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1463,7 +1463,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequh. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1481,7 +1481,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequh. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1499,7 +1499,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpequh. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1517,7 +1517,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> xvcmpeqdp. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1535,7 +1535,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> xvcmpeqsp. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1610,7 +1610,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsb. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1628,7 +1628,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtub. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1646,7 +1646,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsw. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1664,7 +1664,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtuw. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1682,7 +1682,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsd. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1700,7 +1700,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtud. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1718,7 +1718,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsh. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1736,7 +1736,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtuh. t,b,a - mfcr u,2 + mfocrf u,2 rlwinm r,u,27,1 @@ -1754,8 +1754,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> xvcmpgedp. t,a,b - mfcr u,2 - rlwinm r,u,27,1 + mfocrf u,2 + rlwinm r,u,25,1 @@ -1772,8 +1772,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> xvcmpgesp. t,a,b - mfcr u,2 - rlwinm r,u,27,1 + mfocrf u,2 + rlwinm r,u,25,1 @@ -1847,7 +1847,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsb. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1865,7 +1865,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtub. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1883,7 +1883,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsw. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1901,7 +1901,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtuw. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1919,7 +1919,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsd. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1937,7 +1937,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtud. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1955,7 +1955,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtsh. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1973,7 +1973,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vcmpgtuh. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -1991,7 +1991,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> xvcmpgtdp. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -2009,7 +2009,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> xvcmpgtsp. t,a,b - mfcr u,2 + mfocrf u,2 rlwinm r,u,25,1 @@ -2023,15 +2023,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_in - Vector ... Spelled Out Name TBD + Vector All In Range - r = vec_all_in (ARG1, ARG2) + r = vec_all_in (a, b) Purpose: Tests whether each element of a given vector is within a given range. - Result value: The result is 1 if all elements of ARG1 have values less than or equal to the value of the corresponding element of ARG2, and greater than or equal to the negative of the value of the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if each + element of a has a value less than or + equal to the value of the corresponding element of b, and greater than or equal to the negative of + the value of the corresponding element of b. Otherwise, r + is 0. Endian considerations: None. @@ -2052,12 +2058,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -2077,7 +2083,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + vcmpbfp. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2089,15 +2099,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_le - Vector ... Spelled Out Name TBD + Vector All Less or Equal - r = vec_all_le (ARG1, ARG2) + r = vec_all_le (a, b) Purpose: - Tests whether all elements of the first argument are less than or equal to the corresponding elements of the second argument. + Tests whether all elements of a are + less than or equal to the corresponding elements of b. - Result value: The result is 1 if all elements of ARG1 are less than or equal to the corresponding elements of ARG2. Otherwise, the result is 0. + Result value: r is 1 if all + elements of a are less than or equal to + the corresponding elements of b. + Otherwise, r is 0. Endian considerations: None. @@ -2118,12 +2133,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -2143,7 +2158,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpgtsb. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2157,7 +2176,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpgtub. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2171,7 +2194,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpgtsw. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2185,7 +2212,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpgtuw. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2199,7 +2230,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpgtsd. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2213,7 +2248,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpgtud. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2227,7 +2266,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpgtsh. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2241,7 +2284,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpgtuh. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2255,7 +2302,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgedp. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2269,7 +2320,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgesp. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2281,15 +2336,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_lt - Vector ... Spelled Out Name TBD + Vector All Less Than - r = vec_all_lt (ARG1, ARG2) + r = vec_all_lt (a, b) Purpose: - Tests whether all elements of the first argument are less than the corresponding elements of the second argument. + Tests whether all elements of a are + less than the corresponding elements of b. - Result value: The result is 1 if all elements of ARG1 are less than the corresponding elements of ARG2. Otherwise, the result is 0. + Result value: r is 1 if all + elements of a are less than the + corresponding elements of b. Otherwise, + r is 0. Endian considerations: None. @@ -2310,12 +2370,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -2335,7 +2395,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpgtsb. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2349,7 +2413,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpgtub. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2363,7 +2431,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpgtsw. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2377,7 +2449,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpgtuw. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2391,7 +2467,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpgtsd. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2405,7 +2485,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpgtud. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2419,7 +2503,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpgtsh. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2433,7 +2521,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpgtuh. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2447,7 +2539,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgtdp. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2461,7 +2557,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgtsp. t,b,a + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2473,15 +2573,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_nan - Vector ... Spelled Out Name TBD + Vector All Not-a-Number - r = vec_all_nan (ARG1) + r = vec_all_nan (a) Purpose: - Tests whether each element of the given vector is a not-a-number (NaN). + Tests whether each element of a is a + not-a-number (NaN). - Result value: The result is 1 if each element of ARG1 is a NaN. Otherwise, the result is 0. + Result value: r is 1 if each + element of a is a NaN. Otherwise, + r is 0. Endian considerations: None. @@ -2501,7 +2604,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a @@ -2518,7 +2621,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpeqdp. t,a,a + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2529,7 +2636,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpeqsp. t,a,a + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2541,15 +2652,19 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_ne - Vector ... Spelled Out Name TBD + Vector All Not Equal - r = vec_all_ne (ARG1, ARG2) + r = vec_all_ne (a, b) Purpose: - Tests whether all sets of corresponding elements of the given vectors are not equal. + Tests whether all sets of corresponding elements of the given vectors + are not equal. - Result value: The result is 1 if each element of ARG1 is not equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if each + element of a is not equal to the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -2570,12 +2685,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -2595,7 +2710,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool char - sample implementation TBD + + vcmpneb. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2609,7 +2728,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpneb. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2623,9 +2746,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpneb. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + - + int @@ -2637,7 +2764,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool int - sample implementation TBD + + vcmpnew. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2651,7 +2782,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpnew. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2665,7 +2800,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpnew. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2679,7 +2818,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2693,7 +2836,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2707,7 +2854,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2721,7 +2872,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector pixel - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2735,7 +2890,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool short - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2749,7 +2908,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2763,7 +2926,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -2777,7 +2944,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpeqdp. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2791,7 +2962,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpeqsp. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2803,15 +2978,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_nge - Vector ... Spelled Out Name TBD + Vector All Not Greater or Equal - r = vec_all_nge (ARG1, ARG2) + r = vec_all_nge (a, b) Purpose: - Tests whether each element of the first argument is not greater than or equal to the corresponding element of the second argument. + Tests whether each element of a is not + greater than or equal to the corresponding element of b. - Result value: The result is 1 if each element of ARG1 is not greater than or equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if each + element of a is not greater than or + equal to the corresponding element of b. Otherwise, r + is 0. Endian considerations: None. @@ -2832,12 +3013,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -2857,7 +3038,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgedp. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2871,7 +3056,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgesp. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2883,15 +3072,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_ngt - Vector ... Spelled Out Name TBD + Vector All Not Greater Than - r = vec_all_ngt (ARG1, ARG2) + r = vec_all_ngt (a, b) Purpose: - Tests whether each element of the first argument is not greater than the corresponding element of the second argument. + Tests whether each element of a is not + greater than the corresponding element of b. - Result value: The result is 1 if each element of ARG1 is not greater than the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if each + element of a is not greater than the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -2912,12 +3106,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -2937,7 +3131,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgtdp. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2951,7 +3149,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgtsp. t,a,b + mfocrf u,2 + rlwinm r,u,27,1 + @@ -2963,15 +3165,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_nle - Vector ... Spelled Out Name TBD + Vector All Not Less or Equal - r = vec_all_nle (ARG1, ARG2) + r = vec_all_nle (a, b) Purpose: - Tests whether each element of the first argument is not less than or equal to the corresponding element of the second argument. + Tests whether each element of a is not + less than or equal to the corresponding element of b. - Result value: The result is 1 if each element of ARG1 is not less than or equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if each + element of a is not less than or equal + to the corresponding element of b. + Otherwise, r is 0. Endian considerations: None. @@ -2992,12 +3199,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -3017,7 +3224,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgedp. t,b,a + mfocrf u,2 + rlwinm r,u,27,1 + @@ -3031,7 +3242,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgesp. t,b,a + mfocrf u,2 + rlwinm r,u,27,1 + @@ -3043,17 +3258,22 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_nlt - Vector ... Spelled Out Name TBD + Vector All Not Less Than - r = vec_all_nlt (ARG1, ARG2) + r = vec_all_nlt (a, b) Purpose: - Tests whether each element of the first argument is not less than the corresponding element of the second argument. + Tests whether each element of a is not + less than the corresponding element of b. - Result value: The result is 1 if each element of ARG1 is not less than the corresponding element of ARG2. Otherwise, the result is 0. - Endian considerations: - None. + Result value: r is 1 if each + element of a is not less than the + corresponding element of b. Otherwise, + r is 0. + Endian considerations: + None. @@ -3072,12 +3292,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -3097,7 +3317,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgtdp. t,b,a + mfocrf u,2 + rlwinm r,u,27,1 + @@ -3111,7 +3335,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgtsp. t,b,a + mfocrf u,2 + rlwinm r,u,27,1 + @@ -3123,15 +3351,17 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_all_numeric - Vector ... Spelled Out Name TBD + Vector All Numeric - r = vec_all_numeric (ARG1) + r = vec_all_numeric (a) Purpose: Tests whether each element of the given vector is numeric (not a NaN). - Result value: The result is 1 if each element of ARG1 is numeric (not a NaN). Otherwise, the result is 0. + Result value: r is 1 if each + element of a is numeric (not a NaN). + Otherwise, r is 0. Endian considerations: None. @@ -3151,7 +3381,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a @@ -3168,7 +3398,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpeqdp. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -3179,7 +3413,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpeqsp. t,a,b + mfocrf u,2 + rlwinm r,u,25,1 + @@ -3827,15 +4065,19 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_eq - Vector ... Spelled Out Name TBD + Vector Any Equal - r = vec_any_eq (ARG1, ARG2) + r = vec_any_eq (a, b) Purpose: - Tests whether any set of corresponding elements of the given vectors is equal. + Tests whether any pair of corresponding elements of the given vectors is + equal. - Result value: The result is 1 if any element of ARG1 is equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is equal to the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -3856,12 +4098,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -3881,7 +4123,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool char - sample implementation TBD + + vcmpneb. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -3895,7 +4143,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpneb. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -3909,7 +4163,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpneb. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -3923,7 +4183,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool int - sample implementation TBD + + vcmpnew. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -3937,7 +4203,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpnew. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -3951,7 +4223,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpnew. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -3965,7 +4243,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -3979,7 +4263,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -3993,7 +4283,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4007,7 +4303,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector pixel - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4021,7 +4323,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool short - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4035,7 +4343,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4049,7 +4363,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpneh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4063,7 +4383,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpeqdp. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4077,7 +4403,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpeqsp. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4089,15 +4421,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_ge - Vector ... Spelled Out Name TBD + Vector Any Greater or Equal - r = vec_any_ge (ARG1, ARG2) + r = vec_any_ge (a, b) Purpose: - Tests whether any element of the first argument is greater than or equal to the corresponding element of the second argument. + Tests whether any element of a is + greater than or equal to the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is greater than or equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is greater than or equal + to the corresponding element of b. + Otherwise, r is 0. Endian considerations: None. @@ -4118,12 +4455,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -4143,7 +4480,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpgtsb. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4157,7 +4500,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpgtub. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4171,7 +4520,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpgtsw. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4185,7 +4540,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpgtuw. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4199,7 +4560,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpgtsd. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4213,7 +4580,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpgtud. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4227,7 +4600,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpgtsh. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4241,7 +4620,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpgtuh. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4255,7 +4640,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgedp. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4269,7 +4660,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + vcmpgesp. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4281,15 +4678,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_gt - Vector ... Spelled Out Name TBD + Vector Any Greater Than - r = vec_any_gt (ARG1, ARG2) + r = vec_any_gt (a, b) Purpose: - Tests whether any element of the first argument is greater than the corresponding element of the second argument. + Tests whether any element of a is + greater than the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is greater than the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is greater than the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -4310,12 +4712,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -4335,7 +4737,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpgtsb. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4349,7 +4757,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpgtub. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4363,7 +4777,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpgtsw. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4377,7 +4797,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpgtuw. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4391,7 +4817,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpgtsd. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4405,7 +4837,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpgtud. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4419,7 +4857,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpgtsh. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4433,7 +4877,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpgtuh. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4447,7 +4897,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgtdp. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4461,7 +4917,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgtsp. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4473,15 +4935,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_le - Vector ... Spelled Out Name TBD + Vector Any Less or Equal - r = vec_any_le (ARG1, ARG2) + r = vec_any_le (a, b) Purpose: - Tests whether any element of the first argument is less than or equal to the corresponding element of the second argument. + Tests whether any element of a is less + than or equal to the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is less than or equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is less than or equal to + the corresponding element of b. + Otherwise, r is 0. Endian considerations: None. @@ -4502,12 +4969,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -4527,7 +4994,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpgtsb. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4541,7 +5014,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpgtub. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4555,7 +5034,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpgtsw. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4569,7 +5054,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpgtuw. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4583,7 +5074,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpgtsd. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4597,7 +5094,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpgtud. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4611,7 +5114,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpgtsh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4625,8 +5134,14 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD - + + vcmpgtuh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + + @@ -4639,7 +5154,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgedp. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4653,7 +5174,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgesp. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4665,15 +5192,19 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_lt - Vector ... Spelled Out Name TBD + Vector Any Less Than - r = vec_any_lt (ARG1, ARG2) + r = vec_any_lt (a, b) Purpose: - Tests whether any element of the first argument is less than the corresponding element of the second argument. + Tests whether any element of a is less + than the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is less than the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is less than the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -4694,12 +5225,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -4719,7 +5250,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpgtsb. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4733,7 +5270,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpgtub. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4747,7 +5290,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpgtsw. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4761,7 +5310,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpgtuw. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4775,7 +5330,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpgtsd. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4789,7 +5350,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpgtud. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4803,7 +5370,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpgtsh. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4817,7 +5390,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpgtuh. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4831,7 +5410,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgtdp. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4845,7 +5430,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgtsp. t,b,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -4857,15 +5448,17 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_nan - Vector ... Spelled Out Name TBD + Vector Any Not-a-Number - r = vec_any_nan (ARG1) + r = vec_any_nan (a) Purpose: Tests whether any element of the given vector is a NaN. - Result value: The result is 1 if any element of ARG1 is a NaN. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is a NaN. Otherwise, + r is 0. Endian considerations: None. @@ -4885,7 +5478,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a @@ -4902,7 +5495,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpeqdp. t,a,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4913,7 +5512,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpeqsp. t,a,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4925,15 +5530,19 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_ne - Vector ... Spelled Out Name TBD + Vector Any Not Equal - r = vec_any_ne (ARG1, ARG2) + r = vec_any_ne (a, b) Purpose: - Tests whether any set of corresponding elements of the given vectors is not equal. + Tests whether any pair of corresponding elements of the given vectors is + not equal. - Result value: The result is 1 if any element of ARG1 is not equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is not equal to the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -4954,12 +5563,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -4979,7 +5588,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool char - sample implementation TBD + + vcmpequb. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -4993,7 +5608,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed char - sample implementation TBD + + vcmpequb. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5007,7 +5628,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned char - sample implementation TBD + + vcmpequb. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5021,7 +5648,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool int - sample implementation TBD + + vcmpequw. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5035,7 +5668,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed int - sample implementation TBD + + vcmpequw. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5049,7 +5688,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned int - sample implementation TBD + + vcmpequw. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5063,7 +5708,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5077,7 +5728,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5091,7 +5748,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned long long - sample implementation TBD + + vcmpequd. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5105,7 +5768,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector pixel - sample implementation TBD + + vcmpequh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5119,7 +5788,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector bool short - sample implementation TBD + + vcmpequh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5133,7 +5808,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector signed short - sample implementation TBD + + vcmpequh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5147,7 +5828,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector unsigned short - sample implementation TBD + + vcmpequh. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5161,7 +5848,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpeqdp. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5175,7 +5868,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpeqsp. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5187,15 +5886,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_nge - Vector ... Spelled Out Name TBD + Vector Any Not Greater or Equal - r = vec_any_nge (ARG1, ARG2) + r = vec_any_nge (a, b) Purpose: - Tests whether any element of the first argument is not greater than or equal to the corresponding element of the second argument. + Tests whether any element of a is not + greater than or equal to the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is not greater than or equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is not greater than or + equal to the corresponding element of b. Otherwise, r + is 0. Endian considerations: None. @@ -5216,12 +5921,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -5238,10 +5943,16 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - vector double + vector double - sample implementation TBD + + xvcmpgedp. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5252,10 +5963,16 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - vector float + vector float - sample implementation TBD + + xvcmpgesp. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5267,15 +5984,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_ngt - Vector ... Spelled Out Name TBD + Vector Any Not Greater Than - r = vec_any_ngt (ARG1, ARG2) + r = vec_any_ngt (a, b) Purpose: - Tests whether any element of the first argument is not greater than the corresponding element of the second argument. + Tests whether any element of a is not + greater than the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is not greater than the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is not greater than the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -5296,12 +6018,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -5321,7 +6043,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgtdp. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5335,7 +6063,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgtsp. t,a,b + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5347,15 +6081,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_nle - Vector ... Spelled Out Name TBD + Vector Any Not Less or Equal - r = vec_any_nle (ARG1, ARG2) + r = vec_any_nle (a, b) Purpose: - Tests whether any element of the first argument is not less than or equal to the corresponding element of the second argument. + Tests whether any element of a is not + less than or equal to the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is not less than or equal to the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is not less than or equal + to the corresponding element of b. + Otherwise, r is 0. Endian considerations: None. @@ -5376,12 +6115,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -5401,7 +6140,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgedp. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5415,7 +6160,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgesp. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5427,15 +6178,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_nlt - Vector ... Spelled Out Name TBD + Vector Any Not Less Than - r = vec_any_nlt (ARG1, ARG2) + r = vec_any_nlt (a, b) Purpose: - Tests whether any element of the first argument is not less than the corresponding element of the second argument. + Tests whether any element of a is not + less than the corresponding element of b. - Result value: The result is 1 if any element of ARG1 is not less than the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if any + element of a is not less than the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -5456,12 +6212,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -5481,7 +6237,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpgtdp. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5495,7 +6257,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpgtdp. t,b,a + mfocrf u,2 + rlwinm v,u,25,1 + cntlzw w,v + srwi r,w,5 + @@ -5507,15 +6275,17 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_numeric - Vector ... Spelled Out Name TBD + Vector Any Numeric - r = vec_any_numeric (ARG1) + r = vec_any_numeric (a) Purpose: Tests whether any element of the given vector is numeric (not a NaN). - Result value: The result is 1 if any element of ARG1 is numeric (not a NaN). Otherwise, the result is 0. + Result value: r is 1 if any + element of a is numeric (not a NaN). + Otherwise, r is 0. Endian considerations: None. @@ -5535,7 +6305,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a @@ -5552,7 +6322,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector double - sample implementation TBD + + xvcmpeqdp. t,a,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -5563,7 +6339,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + xvcmpeqsp. t,a,a + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 + @@ -5575,15 +6357,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vec_any_out - Vector ... Spelled Out Name TBD + Vector Any Out of Range - r = vec_any_out (ARG1, ARG2) + r = vec_any_out (a, b) Purpose: - Tests whether the value of any element of a given vector is outside of a given range. + Tests whether the value of any element of a given vector is outside of a + given range. - Result value: The result is 1 if the value of any element of ARG1 is greater than the value of the corresponding element of ARG2 or less than the negative of the value of the corresponding element of ARG2. Otherwise, the result is 0. + Result value: r is 1 if the + value of any element of a is greater + than the value of the corresponding element of b or less than the negative of the value of the + corresponding element of b. Otherwise, + r is 0. Endian considerations: None. @@ -5604,12 +6392,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> - ARG1 + a - ARG2 + b @@ -5629,7 +6417,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_vec_intrinsics"> vector float - sample implementation TBD + + vcmpbfp. t,a,b + mfocrf u,2 + rlwinm v,u,27,1 + cntlzw w,v + srwi r,w,5 +