diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml index f0d54f2..d142c0e 100644 --- a/Intrinsics_Reference/ch_vec_reference.xml +++ b/Intrinsics_Reference/ch_vec_reference.xml @@ -13612,7 +13612,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> r = vec_first_match_index (a, b) - GCC 8.1 implementation is broken! Purpose: Performs a comparison of equality on each of the corresponding elements of a and None. + + vcmpnezb + vec_first_match_index + + + vcmpnezh + vec_first_match_index + + + vcmpnezw + vec_first_match_index + + + xxlnor + vec_first_match_index + + + vctzlsbb + vec_first_match_index + + + vclzlsbb + vec_first_match_index + + + rldicl + vec_first_match_index + + Supported type signatures for vec_first_match_index - - - - - - + + + + + + + - + r @@ -13641,16 +13670,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - ARG1 + a - ARG2 + b - Example Implementation + Example LE + Implementation + + + Example BE + Implementation Restrictions @@ -13669,7 +13703,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed char - sample implementation TBD + + vcmpnezb t,a,b + xxlnor u,t,t + vctzlsbb r,u + + + + + vcmpnezb t,a,b + xxlnor u,t,t + vclzlsbb r,u + ISA 3.0 or later @@ -13686,7 +13731,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned char - sample implementation TBD + + vcmpnezb t,a,b + xxlnor u,t,t + vctzlsbb r,u + + + + + vcmpnezb t,a,b + xxlnor u,t,t + vclzlsbb r,u + ISA 3.0 or later @@ -13703,7 +13759,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed int - sample implementation TBD + + vcmpnezw t,a,b + xxlnor u,t,t + vctzlsbb v,u + rldicl r,v,62,34 + + + + + vcmpnezw t,a,b + xxlnor u,t,t + vclzlsbb v,u + rldicl r,v,62,34 + ISA 3.0 or later @@ -13720,7 +13789,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned int - sample implementation TBD + + vcmpnezw t,a,b + xxlnor u,t,t + vctzlsbb v,u + rldicl r,v,62,34 + + + + + vcmpnezw t,a,b + xxlnor u,t,t + vclzlsbb v,u + rldicl r,v,62,34 + ISA 3.0 or later @@ -13737,7 +13819,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed short - sample implementation TBD + + vcmpnezh t,a,b + xxlnor u,t,t + vctzlsbb v,u + rldicl r,v,63,33 + + + + + vcmpnezh t,a,b + xxlnor u,t,t + vclzlsbb v,u + rldicl r,v,63,33 + ISA 3.0 or later @@ -13754,7 +13849,20 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned short - sample implementation TBD + + vcmpnezh t,a,b + xxlnor u,t,t + vctzlsbb v,u + rldicl r,v,63,33 + + + + + vcmpnezh t,a,b + xxlnor u,t,t + vclzlsbb v,u + rldicl r,v,63,33 + ISA 3.0 or later @@ -13771,28 +13879,84 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vec_first_match_or_eos_index Vector Index of First Match or End of String - r = vec_first_match_or_eos_index (ARG1, ARG2) + r = vec_first_match_or_eos_index (a, b) - GCC 8.1 implementation is broken! Purpose: - Performs a comparison of equality on each of the corresponding elements of ARG1 and ARG2. Returns the first position of equality, or the zero string terminator. - - Result value: Returns the element index of the position of either the first character match or an end-of-string (EOS) terminator. If no match or terminator, returns the number of characters as an element count in the vector argument. + Performs a comparison of equality on each of the corresponding + elements of a and b. Returns the first position of + equality, or the zero string terminator. + + Result value: Returns the + element index of the position of either the first character + match or an end-of-string (EOS) terminator. If no match or + terminator, returns the number of characters as an element count + in the vector argument. Endian considerations: None. + + xxspltib + vec_first_match_or_eos_index + + + vcmpneb + vec_first_match_or_eos_index + + + vcmpnezb + vec_first_match_or_eos_index + + + vcmpneh + vec_first_match_or_eos_index + + + vcmpnezh + vec_first_match_or_eos_index + + + vcmpnew + vec_first_match_or_eos_index + + + vcmpnezw + vec_first_match_or_eos_index + + + xxland + vec_first_match_or_eos_index + + + xxlnand + vec_first_match_or_eos_index + + + vctzlsbb + vec_first_match_or_eos_index + + + vclzlsbb + vec_first_match_or_eos_index + + + rldicl + vec_first_match_or_eos_index + +
Supported type signatures for vec_first_match_or_eos_index - - - - - - + + + + + + + - + r @@ -13800,16 +13964,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - ARG1 + a - ARG2 + b - Example Implementation + Example LE + Implementation + + + Example BE + Implementation Restrictions @@ -13828,7 +13997,26 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed char - sample implementation TBD + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlnand y,x,w + vctzlsbb r,y + + + + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlnand y,x,w + vclzlsbb r,y + ISA 3.0 or later @@ -13845,7 +14033,26 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned char - sample implementation TBD + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlnand y,x,w + vctzlsbb r,y + + + + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlnand y,x,w + vclzlsbb r,y + ISA 3.0 or later @@ -13862,7 +14069,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed int - sample implementation TBD + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlnand y,x,w + vctzlsbb z,y + rldicl r,z,62,34 + + + + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlnand y,x,w + vclzlsbb z,y + rldicl r,z,62,34 + ISA 3.0 or later @@ -13879,7 +14107,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned int - sample implementation TBD + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlnand y,x,w + vctzlsbb z,y + rldicl r,z,62,34 + + + + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlnand y,x,w + vclzlsbb z,y + rldicl r,z,62,34 + ISA 3.0 or later @@ -13896,7 +14145,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed short - sample implementation TBD + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlnand y,x,w + vctzlsbb z,y + rldicl r,z,63,33 + + + + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlnand y,x,w + vclzlsbb z,y + rldicl r,z,63,33 + ISA 3.0 or later @@ -13913,7 +14183,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned short - sample implementation TBD + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlnand y,x,w + vctzlsbb z,y + rldicl r,z,63,33 + + + + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlnand y,x,w + vclzlsbb z,y + rldicl r,z,63,33 + ISA 3.0 or later @@ -13930,28 +14221,59 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vec_first_mismatch_index Vector Index of First Mismatch - r = vec_first_mismatch_index (ARG1, ARG2) + r = vec_first_mismatch_index (a, b) - GCC 8.1 implementation is broken! Purpose: - Performs a comparison of inequality on each of the corresponding elements of ARG1 and ARG2, and returns the first position of inequality. + Performs a comparison of inequality on each of the corresponding + elements of a and b, and returns the first position of + inequality. - Result value: Returns the element index of the position of the first character mismatch. If no mismatch, returns the number of characters as an element count in the vector argument. + Result value: Returns the + element index of the position of the first character + mismatch. If no mismatch, returns the number of characters as an + element count in the vector argument. Endian considerations: None. + + vcmpneb + vec_first_mismatch_index + + + vcmpneh + vec_first_mismatch_index + + + vcmpnew + vec_first_mismatch_index + + + vctzlsbb + vec_first_mismatch_index + + + vclzlsbb + vec_first_mismatch_index + + + rldicl + vec_first_mismatch_index + +
Supported type signatures for vec_first_mismatch_index - - - - - - + + + + + + + - + r @@ -13959,16 +14281,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - ARG1 + a - ARG2 + b - Example Implementation + Example LE + Implementation + + + Example BE + Implementation Restrictions @@ -13987,7 +14314,16 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed char - sample implementation TBD + + vcmpneb t,a,b + vctzlsbb r,t + + + + + vcmpneb t,a,b + vclzlsbb r,t + ISA 3.0 or later @@ -14004,7 +14340,16 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned char - sample implementation TBD + + vcmpneb t,a,b + vctzlsbb r,t + + + + + vcmpneb t,a,b + vclzlsbb r,t + ISA 3.0 or later @@ -14021,7 +14366,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed int - sample implementation TBD + + vcmpnew t,a,b + vctzlsbb u,t + rldicl r,u,62,34 + + + + + vcmpnew t,a,b + vclzlsbb u,t + rldicl r,u,62,34 + ISA 3.0 or later @@ -14038,7 +14394,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned int - sample implementation TBD + + vcmpnew t,a,b + vctzlsbb u,t + rldicl r,u,62,34 + + + + + vcmpnew t,a,b + vclzlsbb u,t + rldicl r,u,62,34 + ISA 3.0 or later @@ -14055,7 +14422,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed short - sample implementation TBD + + vcmpneh t,a,b + vctzlsbb u,t + rldicl r,u,63,33 + + + + + vcmpneh t,a,b + vclzlsbb u,t + rldicl r,u,63,33 + ISA 3.0 or later @@ -14072,7 +14450,18 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned short - sample implementation TBD + + vcmpneh t,a,b + vctzlsbb u,t + rldicl r,u,63,33 + + + + + vcmpneh t,a,b + vclzlsbb u,t + rldicl r,u,63,33 + ISA 3.0 or later @@ -14089,28 +14478,85 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vec_first_mismatch_or_eos_index Vector Index of First Mismatch or End of String - r = vec_first_mismatch_or_eos_index (ARG1, ARG2) + r = vec_first_mismatch_or_eos_index (a, b) - GCC 8.1 implementation is broken! Purpose: - Performs a comparison of inequality on each of the corresponding elements of ARG1 and ARG2. Returns the first position of inequality, or the zero string terminator. - - Result value: Returns the element index of the position of either the first character mismatch or an end-of-string (EOS) terminator. If no mismatch or terminator, returns the number of characters as an element count in the vector argument. + Performs a comparison of inequality on each of the corresponding + elements of a and b. Returns the first position of + inequality, or the zero string terminator. + + Result value: Returns the + element index of the position of either the first character + mismatch or an end-of-string (EOS) terminator. If no mismatch or + terminator, returns the number of characters as an element count + in the vector argument. Endian considerations: None. + + xxspltib + vec_first_mismatch_or_eos_index + + + vcmpneb + vec_first_mismatch_or_eos_index + + + vcmpnezb + vec_first_mismatch_or_eos_index + + + vcmpneh + vec_first_mismatch_or_eos_index + + + vcmpnezh + vec_first_mismatch_or_eos_index + + + vcmpnew + vec_first_mismatch_or_eos_index + + + vcmpnezw + vec_first_mismatch_or_eos_index + + + xxland + vec_first_mismatch_or_eos_index + + + xxlorc + vec_first_mismatch_or_eos_index + + + vctzlsbb + vec_first_mismatch_or_eos_index + + + vclzlsbb + vec_first_mismatch_or_eos_index + + + rldicl + vec_first_mismatch_or_eos_index + +
- Supported type signatures for vec_first_mismatch_or_eos_index - - - - - - + Supported type signatures for + vec_first_mismatch_or_eos_index + + + + + + + - + r @@ -14127,7 +14573,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - Example Implementation + Example LE + Implementation + + + Example BE + Implementation Restrictions @@ -14146,7 +14597,26 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed char - sample implementation TBD + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlorc y,w,x + vctzlsbb r,y + + + + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlorc y,w,x + vclzlsbb r,y + ISA 3.0 or later @@ -14163,7 +14633,26 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned char - sample implementation TBD + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlorc y,w,x + vctzlsbb r,y + + + + + xxspltib t,0 + vcmpneb u,a,t + vcmpneb v,b,t + vcmpnezb w,a,b + xxland x,u,v + xxlorc y,w,x + vclzlsbb r,y + ISA 3.0 or later @@ -14180,7 +14669,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed int - sample implementation TBD + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlorc y,w,x + vctzlsbb z,y + rldicr r,z,62,34 + + + + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlorc y,w,x + vclzlsbb z,y + rldicr r,z,62,34 + ISA 3.0 or later @@ -14197,7 +14707,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned int - sample implementation TBD + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlorc y,w,x + vctzlsbb z,y + rldicr r,z,62,34 + + + + + xxspltib t,0 + vcmpnew u,a,t + vcmpnew v,b,t + vcmpnezw w,a,b + xxland x,u,v + xxlorc y,w,x + vclzlsbb z,y + rldicr r,z,62,34 + ISA 3.0 or later @@ -14214,7 +14745,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed short - sample implementation TBD + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlorc y,w,x + vctzlsbb z,y + rldicl r,z,63,33 + + + + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlorc y,w,x + vclzlsbb z,y + rldicl r,z,63,33 + ISA 3.0 or later @@ -14231,7 +14783,28 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned short - sample implementation TBD + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlorc y,w,x + vctzlsbb z,y + rldicl r,z,63,33 + + + + + xxspltib t,0 + vcmpneh u,a,t + vcmpneh v,b,t + vcmpnezh w,a,b + xxland x,u,v + xxlorc y,w,x + vclzlsbb z,y + rldicl r,z,63,33 + ISA 3.0 or later