Gentle Ping!

please review.

Thanks & Regards
Jeevitha

On 26/08/26 1:06 pm, jeevitha wrote:
> Hi All,
> 
> The following patch has been bootstrapped and regtested on powerpc64le-linux
> and powerpc64-linux.
> 
> The vec-insert-word-runnable.c test assumes little-endian results for
> vec_insertl and vec_inserth when the source operand is a vector. The
> element selected for insertion differs between big-endian and
> little-endian targets because the byte and element numbering within a
> register is endian dependent.
> 
> Update the expected results for big-endian targets to account for the
> different element selected by the vector insert operations.
> 
> 2026-08-26  Jeevitha Palanisamy  <[email protected]>
> 
> gcc/testsuite/
>       PR target/127025
>       * gcc.target/powerpc/vec-insert-word-runnable.c: Fix expected
>       results for vec_insertl and vec_inserth on big-endian targets.
> 
> diff --git a/gcc/testsuite/gcc.target/powerpc/vec-insert-word-runnable.c 
> b/gcc/testsuite/gcc.target/powerpc/vec-insert-word-runnable.c
> index bd96e13a901..8d67519fcff 100644
> --- a/gcc/testsuite/gcc.target/powerpc/vec-insert-word-runnable.c
> +++ b/gcc/testsuite/gcc.target/powerpc/vec-insert-word-runnable.c
> @@ -129,8 +129,13 @@ main (int argc, char *argv [])
>                                      18, 19, 20, 21, 22, 23, 24, 25 };
>    vresult_ch = (vector unsigned char) { 0, 0, 0, 0, 0, 0, 0, 0,
>                                       0, 0, 0, 0, 0, 0, 0, 0 };
> +#ifdef __BIG_ENDIAN__
> +  expected_vresult_ch = (vector unsigned char) { 0, 1, 17, 3, 4, 5, 6, 7,
> +                                    8, 9, 10, 11, 12, 13, 14, 15 };
> +#else
>    expected_vresult_ch = (vector unsigned char) { 0, 1, 18, 3, 4, 5, 6, 7,
>                                      8, 9, 10, 11, 12, 13, 14, 15 };
> +#endif
>                                                
>    vresult_ch = vec_insertl (src_vb_ch, src_va_ch, index);
>  
> @@ -149,7 +154,11 @@ main (int argc, char *argv [])
>    src_va_sh = (vector unsigned short) { 0, 1, 2, 3, 4, 5, 6, 7 };
>    src_vb_sh = (vector unsigned short) { 10, 11, 12, 13, 14, 15, 16, 17 };
>    vresult_sh = (vector unsigned short) { 0, 0, 0, 0, 0, 0, 0, 0 };
> +#ifdef __BIG_ENDIAN__
> +  expected_vresult_sh = (vector unsigned short) { 0, 1, 13, 3, 4, 5, 6, 7 };
> +#else
>    expected_vresult_sh = (vector unsigned short) { 0, 1, 14, 3, 4, 5, 6, 7 };
> +#endif
>                                                
>    vresult_sh = vec_insertl (src_vb_sh, src_va_sh, index);
>  
> @@ -168,7 +177,11 @@ main (int argc, char *argv [])
>    src_va_int = (vector unsigned int) { 0, 1, 2, 3 };
>    src_vb_int = (vector unsigned int) { 10, 11, 12, 13 };
>    vresult_int = (vector unsigned int) { 0, 0, 0, 0 };
> +#ifdef __BIG_ENDIAN__
> +  expected_vresult_int = (vector unsigned int) { 0, 1, 11, 3 };
> +#else
>    expected_vresult_int = (vector unsigned int) { 0, 1, 12, 3 };
> +#endif
>                                                
>    vresult_int = vec_insertl (src_vb_int, src_va_int, index);
>  
> @@ -264,7 +277,7 @@ main (int argc, char *argv [])
>  #endif
>    }
>  
> -  /* Vector insert, left index, from vector */
> +  /* Vector insert, high index, from vector */
>    index = 2;
>    src_va_ch = (vector unsigned char) { 0, 1, 2, 3, 4, 5, 6, 7,
>                                      8, 9, 10, 11, 12, 13, 14, 15 };
> @@ -272,8 +285,13 @@ main (int argc, char *argv [])
>                                      18, 19, 20, 21, 22, 23, 24, 25 };
>    vresult_ch = (vector unsigned char) { 0, 0, 0, 0, 0, 0, 0, 0,
>                                       0, 0, 0, 0, 0, 0, 0, 0 };
> +#ifdef __BIG_ENDIAN__
> +  expected_vresult_ch = (vector unsigned char) { 0, 1, 2, 3, 4, 5, 6, 7,
> +                                    8, 9, 10, 11, 12, 17, 14, 15 };
> +#else
>    expected_vresult_ch = (vector unsigned char) { 0, 1, 2, 3, 4, 5, 6, 7,
>                                      8, 9, 10, 11, 12, 18, 14, 15 };
> +#endif
>                                                
>    vresult_ch = vec_inserth (src_vb_ch, src_va_ch, index);
>  
> @@ -292,7 +310,11 @@ main (int argc, char *argv [])
>    src_va_sh = (vector unsigned short) { 0, 1, 2, 3, 4, 5, 6, 7 };
>    src_vb_sh = (vector unsigned short) { 10, 11, 12, 13, 14, 15, 16, 17 };
>    vresult_sh = (vector unsigned short) { 0, 0, 0, 0, 0, 0, 0, 0 };
> +#ifdef __BIG_ENDIAN__
> +  expected_vresult_sh = (vector unsigned short) { 0, 1, 2, 3, 4, 13, 6, 7 };
> +#else
>    expected_vresult_sh = (vector unsigned short) { 0, 1, 2, 3, 4, 14, 6, 7 };
> +#endif
>                                                
>    vresult_sh = vec_inserth (src_vb_sh, src_va_sh, index);
>  
> @@ -311,7 +333,11 @@ main (int argc, char *argv [])
>    src_va_int = (vector unsigned int) { 0, 1, 2, 3 };
>    src_vb_int = (vector unsigned int) { 10, 11, 12, 13 };
>    vresult_int = (vector unsigned int) { 0, 0, 0, 0 };
> +#ifdef __BIG_ENDIAN__
> +  expected_vresult_int = (vector unsigned int) { 0, 11, 2, 3 };
> +#else
>    expected_vresult_int = (vector unsigned int) { 0, 12, 2, 3 };
> +#endif
>                                                
>    vresult_int = vec_inserth (src_vb_int, src_va_int, index);
>  

Reply via email to